220 likes | 336 Views
SOA Trends for 2008. ICB Software Engineering Conference Pomorie, 13 September 2008. Svetlin Nakov. Director Training and Consulting Activities National Academy for Software Development. http:// academy.devbg.org. Agenda. What is SOA? SOA and Web 2.0 SOA in Internet SOA in Enterprises
E N D
SOA Trends for 2008 ICB Software Engineering Conference Pomorie, 13 September 2008 Svetlin Nakov Director Training and Consulting Activities National Academy for Software Development http://academy.devbg.org
Agenda • What is SOA? • SOA and Web 2.0 • SOA in Internet • SOA in Enterprises • SOA Trends for 2008
About The Speaker • Svetlin Nakov • Director training and consulting activities, National Academy for Software Development (NASD) • Founder and Chairman of BASD • 15 years of developer experience • 8 year as a professional software engineer, trainer and consultant • Author of 4 books, 20 articles, and 50 seminar lectures • Lecturer in Sofia University and NBU
What is SOA? • SOA is a concept for development of software systems • Using reusable building blocks (components) called "services" • Services in SOA are: • Autonomous • Stateless business functions • Accept requests and return responses • Use well-defined, standard interface
SOA Services • Autonomous • Each service operates autonomously • Without any awareness that other services exist • Stateless • Have no memory, do not remember state • Easy to scale • Request-response model • Client asks, server returns answer
SOA Services • Communication through standard protocols • XML, SOAP, JSON, RSS, ATOM, ... • HTTP, FTP, SMTP, RPC, ... • Not dependent on OS, platforms, programming languages • Discoverable • Service registries
SOA and Business Processes Management (BPM) • Composite applications • Assembled form a set of services combined to support a business process • Business agility • Allows quick reaction to changes • Business Process Management (BPM) • Composite applications support • Process orchestration, execution, monitoring and optimization
Loose Coupling • Loose coupling – main concept of SOA • Loosely coupled components: • Exhibits single function • Independent of other functions • Through a well-defined interface • Loose coupling programming evolves: • Structural programming • Object-oriented programming • Service-oriented architecture (SOA)
SOA and Web 2.0 • Moving to a "services model" – global IT trend for both: • Internet business • Inside an enterprise • Two main SOA scenarios • SOA in Internet • Software as service, Web 2.0, RIA, ... • SOA inside an enterprise • Heavy SOA stacks: WS-*, BPM, BPEL, WCF, SCA, ESB, ...
SOA in Internet and Inside an Enterprise • Trends for service-orientation of the IT business Source: Dion Hinchcliffe, ZDNet blogs
SOA in Internet • Internet companies implement lightweight SOA in Internet • Also called WOA (Web-Oriented Architecture) • Examples: Google, Amazon, Facebook, ... • Tend to provide software as service • Based on lightweight Web standards: • AJAX and Rich Internet Applications (RIA) • REST, RSS, JSON, proprietary APIs
SOA in Enterprises • Heavyweight SOA stacks • Driven by business processes: BPM, BPMN, BPEL, ... • Enterprise application integration (EAI) • B2B integration • SOA based portals • Unified Frameworks: SCA and WCF • Enterprise Service Bus (ESB) • SOA governance (control)
SOA in Internet vs. SOA in Enterprises • SOA in Internet • Lightweight, easy-to-use, accessible • Very fast adoption – business needs it • SOA in Enterprises • Heavyweight and complex • Slow adoption • Mixtures • Lightweight for Web 2.0 and heavyweight for trading partners
SOA Adoption • Why SOA adoption is slow? • SOA is not a better technology • It is a better approach to IT • SOA is not a "buy" solution • It is a "build" solution • Purchasing a product will not turn your IT infrastructure to SOA • Slow migration to SOA • New software is build with SOA in mind • Old software is adopted to support SOA
Obstacles in SOA Adoption • Obstacles to SOA adoption in enterprises • Need of new thinking for the IT • Resources, tasks, budgets and skills need to be shared across projects • Not dedicated solely to a single project • Unclear return of investments (ROI) • SOA in Internet • Easy-to-implement, takes less time • Immediate return of investments (ROI)
SOA Trends for 2008 • SOA adoption in 2008 will continue to increase • The IT culture will continue to change • Build services instead of single projects • Enterprises tend to build more SOA-enabled projects • SOA products market will continue grow • Open source solutions will emerge
SOA Infrastructure Trends • Virtualization will impact SOA deployment • Computing clouds will impact SOA • Amazon and SalesForce already have "computing clouds" solutions • SOA scale-out infrastructures build on low-cost hardware adoption • Google, eBay, Amazon and PayPal already have such technology
SOA Technology Trends • Adoption of SOA patterns and EAI patterns • Open source SOA products will get more market share • In Java world: increase of OSGi adoption • In Microsoft world: WCF adoption • Domain-specific languages for SOA • Adoption of lightweight technologies (REST, JSON, ...) will run in parallel with adoption of SOAP and WS-* technologies • Abstract APIs like WCF and SCA will emerge
SOA Trends – 2008 Questions?