Sandeep Alur Architect Advisor Microsoft India saalur@microsoft.com Aditee Rele Architect Advisor Microsoft India aditeer@microsoft.com
Is SOA Dead or Alive?
Expensive Connotes Big Projects
Momentum Continues
Industry Trends SOA: Service Oriented Architecture Reuse and Agility RIA: Rich Internet Applications Experience Software + Services SaaS: Software as a Service Flexible pricing and delivery Web 2.0 Network Effect Cloud Computing Service Utility
Next One Hour SOA & ESB Big Buzz Words Reality Check Myths Application Integration Patterns Reasons to go for SOA Technology Stack for SOA Reasons to go for ESB Technology Stack for ESB Service Orientation Technology Puzzle Success Story
SOA Demystifying SOA Modular Distributable Clearly defined Swappable Sharable SOA SOA
Common Myths about SOA Myths 1. SOA is a technology 2. SOA require Web Services 3. SOA is new and revolutionary 4. SOA ensures the alignment of IT and business 5. A SOA Reference Architecture reduces implementation risk 6. SOA requires a complete technology and business processes overhaul 7. We need to build a SOA Facts 1. SOA is a design philosophy independent of any product, technology or industry trend 2. SOAs may be realized via web services but using web services will not necessarily result in a SOA 3. EDI, CORBA and DCOM were conceptual examples of SOA 4. SOA is not a methodology 5. SOAs are like snowflakes no two are the same. 6. SOA should be incremental and built on your current investments 7. SOA is a means, not an end
ESB Demystifying ESB Middleware Infrastructure Manifestation of SOA Communication & Mediation Connects Providers & Consumers ESB ESB
Common Myths about ESB Myths 1. ESB is just a new name for EAI 2. Adoption of WS-* specs obviate the need for ESB 3. Pattern or Product 4. ESBs will be obsolete once BPEL is widely available 5. ESBs are simply plumbing and do not provide sophisticated tooling Facts 1. ESB provides EAI capabilities, but based on different architecture 2. Provides a Enterprise Messaging Layer (Not a one size fits all solution) 3. An abstract pattern that can be applied to couple an existing app server and integration middleware 4. ESB may support multiple ways of coordinating the interaction between event-driven service invocations using formal business process definitions 5. Integrated Services Environment
Application Integration Patterns
3 Patterns of Application Integration 1 Style Latency Prevailing Interaction Style Flow Management Application Dependencies Data Consistency Scheduled to immediate Asynchronous, one way Generally, simple scheduled batch jobs or immediate messaging Applications remain logically and physically independent
3 Patterns of Application Integration 2 Style Latency Prevailing Interaction Style Flow Management Application Dependencies Multistep Process Scheduled to immediate Asynchronous, one way More-complex batch job streams; sophisticated orchestration using BPM technologies Applications remain physically independent but are logically dependent from the perspective of completing the Process
3 Patterns of Application Integration 3 Style Latency Prevailing Interaction Style Flow Management Application Dependencies Composite Application Immediate Two-way synchronous and Partially Synchronous Complex interactions may be controlled by application code or using BPM technologies or other tools Applications are logically and physically highly Dependent
When to 'SOA'
SOA Reasons to go for SOA When designing most large, new business applications and processes When integrating a combination of COTS, legacy and services from other BU s Generalization (Service Orientation) Use non-soa styles for tactical applications of limited size
Technology Stack for SOA Consumers WCF Endpoints Windows Communication Foundation (.Net Framework 3.x) Protocol Independence Supports WS-* (WSE) Host (Custom or IIS)
SOA Reference Architecture
When to 'ESB'
ESB Reasons to go for ESB Multiple Communication Protocols Intelligent Addressing, routing & Orchestration Mediation Complementing Application Platforms
Multiple Communication Protocols HTTP/SOAP MSMQ MQ Series TCP File Messaging Infrastructure One way Messages 2 Way Request/Response Store & Forward Publish - Subscribe Reliable Messaging Explicit Support for REST WCF SCA
Addressing, Routing & Orchestration Service Virtualization Rule Based Routing Orchestration HTTP/SOAP MSMQ MQ Series TCP File Messaging Infrastructure Itinerary Service Registry Line of Business Applications
Mediation Source Message X Message X Message X S E C U R I T Y Message A Message C Destination Message B Message Validation Transformation Protocol Binding Message Logging & Auditing Security
Complementing Application Platforms HTTP/SOAP MSMQ MQ Series TCP File Messaging Infrastructure Load Balancing Failover Transaction Management
ESB(Guidance Kit) Technology Stack Addressing Multiple Communication Protocol Transformation & Routing Service Registry Administration
Industry Innovations Service Life Cycle Management Graphical Editing Tools Extended Functions SLA Monitoring/ Management Business Activity Monitoring (BAM) Core Functions Protocols, Transformation, Routing, Standard Formats, Error Handling, Security, Integration, Extensibility, High availability & Scalability Complex Event Processing (CEP) Business Rules Engine (BRE) Dynamic Service Provisioning
Application Platform for 'Services'
Application Platform for 'Services' Consume User Directed Compose User Experience and Interaction People using Content, BI, Collaboration and Communication SOA as mechanism to interact Standards based Interoperability Compose Business Process Services Information Integration Messaging Services Communication Services SOA as mechanism to transact Expose Existing Systems
Application Platform for 'Services' Consume User Directed Compose User Interaction Compose Business Transaction Portals, Web Parts, Smart Client, Office Client Extensions, Mobile Client Real Time Unified Communications, Online P2P Offline Collaboration Workflow, Search, Dashboards, KPIs, Doc and Forms Libraries, Business Data Catalog Orchestrations Rules, BAM, Trading Partner Mgmt ETL, Federated Access, MDM ESB, EAI, P2P, Queues Security and Identity Management and Governance Design and Development ESB, EAI, P2P, Queues Expose Existing Systems
Application Platform for 'Services' Consume User Directed Compose User Interaction Compose Business Transaction Expose Existing Systems SharePoint Server,.NET Compact Framework, Silverlight,Office System, ASP.NET, Windows Client Live Communications Server, SharePoint Server Workflow Foundation, SharePoint Server, CAB Enterprise Service Bus (BizTalk Server 2006 R2) BizTalk Server SQL Server WCF and BizTalk Server WCF Windows BizTalk Server Active Directory System Center, Partners AmberPoint Visual Studio, Patterns and Practices, MSF
Case Study - 3 Tenets of Enterprise Integration
Solution Highlights Service Excellence Everyday 1100 Branches, 30K User Base 18K Connected Any given time Perception of Responsiveness Reuse->Mainframe & Legacy Systems/Assets.Net Smart Client with Service Integration Configuration Instrumentation Security Client Tier Private Services Private Services WinPart Agent WS Proxy SOFA Config Local Cache Authentication/ Authorization Service Helpers Data Integration Orchestration Legacy Systems SOFA IFW Service Mainframe Data Storage
In Summary ESB is a manifestation of SOA SOA is an overtly used term and forms the basis for a Services platform While, new architectural patterns emerge, SOA continues to fuel energy Beginning of a new Era
Momentum Continues
2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.