"Service Oriented Architecture SOA"
Service Oriented Architecture (SOA) Farhana Zulkernine Outline Service Oriented Architecture (SOA): Definition, Characteristics Differences: SOA vs. existing Model Driven Architecture (MDA) SOA Implementation Framework and Enterprise Service Bus (ESB) Benefits and reasons for not using SOA Contribution towards self management Example of SOA framework Summary 2/8/2011 Service-Oriented Architecture (SOA) 2 Service Oriented Architecture Service-oriented architecture (SOA) is an approach to loosely coupled, protocol independent, standards-based distributed computing where software resources available on the network are considered as Services. SOA is believed to become the future enterprise technology solution that promises the agility and flexibility the business users have been looking for by leveraging the integration process through composition of the services spanning multiple enterprises. 2/8/2011 Service-Oriented Architecture (SOA) 3 Characteristics The software components in a SOA are services based on standard protocols. Services in SOA have minimum amount of interdependencies. Communication infrastructure used within an SOA should be designed to be independent of the underlying protocol layer. Offers coarse-grained business services, as opposed to fine-grained software-oriented function calls. Uses service granularity to provide effective composition, encapsulation and management of services. 2/8/2011 Service-Oriented Architecture (SOA) 4 Service Granularity Service granularity refers to the scope of functionality a service exposes. Fine-grained services provide a small amount of business- process usefulness, such as basic data access. Coarse-grained services are constructed from fine-grained services that are intelligently structured to meet specific business needs. 2/8/2011 Service-Oriented Architecture (SOA) 5 Service Composition Jeff Hanson, Coarse-grained Interfaces Enable Service Composition in SOA, JavaOne, August 29, 2003 2/8/2011 Service-Oriented Architecture (SOA) 6 Service Management There are three levels of service management Management of the services and their interfaces Management of the underlying system Management of the interaction between the services and the underlying system 2/8/2011 Service-Oriented Architecture (SOA) 7 SOA Metamodel SOA is a form of enterprise architecture and can be represented using models. SOA metamodel is a model that contains the following three models. Jason Bloomberg, The SOA Implementation Framework, www.zapthink.com, April 2004 2/8/2011 Service-Oriented Architecture (SOA) 8 Differences: SOA vs. Existing Model Driven Architecture (MDA) SOA is an alternative model to the more traditionally tightly-coupled object-oriented models like Common Object Request Broker Architecture (CORBA) and Distributed Component Object Model (DCOM). In SOA individual services can be build with object- oriented designs but the overall design of SOA is service-oriented. 2/8/2011 Service-Oriented Architecture (SOA) 9 Differences (cont.) SOA today differs in the usage of a more generic standard-based interface language XML (eXtensible Markup Language) used in Web Services Definition Language (WSDL) compared to the older Interface Definition Language (IDL) found in CORBA. SOA is based on the concept of using services that can communicate through standard protocols like SOAP allowing a more loosely coupled architecture. In older models objects were more tightly coupled due to the usage of vendor specific communication standards. 2/8/2011 Service-Oriented Architecture (SOA) 10 Differences (cont.) IBM’s MQseries is yet another message- oriented middleware system but it lacks the organized workflow definition required for the services to interoperate. SOA supports the composition of coarse-grained services from fine-grained services to provide a business solution in an easily deployable and usable manner. For interoperability of services spanning multiple enterprises, SOA should provide service level agreements and operational policies. 2/8/2011 Service-Oriented Architecture (SOA) 11 Web Services and SOA Web Services are an open standards-based way of creating and offering SOAs. Web Services are able to exchange structured documents that contain different amounts of information, as well as information about that information, known as metadata. In other words, Web Services can be coarse grained. Such coarse granularity is one of the most important features of SOAs. 2/8/2011 Service-Oriented Architecture (SOA) 12 SOA Implementation Framework Service-Oriented Architecture Implementation Framework (SOAIF) provides the run-time deployment infrastructure for SOA across the network by incorporating all the software required to develop, deploy, secure, manage, and extend service-oriented processes and solutions. 2/8/2011 Service-Oriented Architecture (SOA) 13 SOA Implementation Framework Service-Oriented Architecture 2004 Jason Bloomberg, The SOA Implementation Framework, www.zapthink.com, April(SOA) 2/8/2011 14 Enterprise Service Bus (ESB) ESB is the backbone of SOA that acts as a message broker providing a message queuing system using industry standard specifications for messaging such as SOAP, or JMS (Java Message Service). Expert Sally Hudson, an IDC analyst, describes the Enterprise Service Bus as an open standards-based messaging means designed to provide interoperability between larger-grained applications and other components via simple standard adapters and interfaces. 2/8/2011 Service-Oriented Architecture (SOA) 15 ESB Architecture ERP .NET Web Services Transformation SOAP/ SOAP/ Connection Layer (XSLT) JCA HTTP HTTP Communication Layer Reliable Asynchronous Secure Messaging SOAP/ Connection Layer HTTP JMS C/C++ Legacy J2EE Application 2/8/2011 Service-Oriented Architecture (SOA) 16 Re-architecture to SOA Encapsulate software components, applications and underlying systems with Web Services interfaces Compose (virtualizing) these fine-grained functional Web Services into coarse-grained business services 2/8/2011 Service-Oriented Architecture (SOA) 17 Benefits Provides location independence: Services need not be associated with a particular system on a particular network Protocol-independent communication framework renders code reusability Offers better adaptability and faster response rate to changing business requirements Allows easier application development, run-time deployment and better service management 2/8/2011 Service-Oriented Architecture (SOA) 18 Benefits (cont.) Loosely coupled system architecture allows easy integration by composition of applications, processes, or more complex services from other less complex services Provides authentication and authorization of Service consumers, and all security functionality via Services interfaces rather than tightly-coupled mechanisms Allows service consumers (ex. Web Services) to find and connect to available Services dynamically 2/8/2011 Service-Oriented Architecture (SOA) 19 Why Not SOA For a stable or homogeneous enterprise IT environment, SOA may not be important or cost effective to implement. If an organization is not offering software functionality as services to external parties or not using external services, which require flexibility and standard-based accessibility, SOA may not be useful. SOA is not desirable in case of real time requirements because SOA relies on loosely coupled asynchronous communication. 2/8/2011 Service-Oriented Architecture (SOA) 20 Self Management Using SOA Web Services now lack workflow support, asynchronous communication and standards for efficient interoperability, dynamic integration and deployment which can be provided using SOA. SOA leverages the management functionality of the services in its implementation framework which can be effectively used to provide better self-management for the services within the infrastructure. 2/8/2011 Service-Oriented Architecture (SOA) 21 Example of SOAIF Rogue Wave® Platform X from Quovadx, Inc. provides a comprehensive platform for assembling and orchestrating service-oriented applications from pre-existing applications and services. Fiorano Enterprise Service Bus™ combines the power of a standards-based SOA infrastructure with easy-to-use tools for the deployment of distributed workflows across heterogeneous networks. It allows using existing legacy and packaged applications to synthesize new distributed integration solutions, and provides the basic standards-based, distributed connectivity backbone within the enterprise to allow interoperability of heterogeneous applications. 2/8/2011 Service-Oriented Architecture (SOA) 22 Summary SOA, definition, characteristics Differences with existing MDA Advantage/disadvantage SOAIF, ESB Benefits and reasons for not using SOA How SOA can leverage self management Example – Platform X Summary 2/8/2011 Service-Oriented Architecture (SOA) 23 References 1. Jeff Hanson, Coarse-grained Interfaces Enable Service Composition in SOA, JavaOne, August 29, 2003 2. ZapThink White Paper, The Complete Vision of Service-Oriented Enterprise Management, December 2003 3. Jason Bloomberg, The SOA Implementation Framework, www.zapthink.com, April 2004 4. Jason Bloomberg, When Not to Use an SOA, www.zapthink.com 5. IBM White Paper, New to SOA and Web Services, www.DeveloperWorks.com 2/8/2011 Service-Oriented Architecture (SOA) 24 References (cont.) 6. Meta Group White Paper, Practical Approaches to Service-Oriented Architecture, November 2003 7. Kishore Channabasavaiah and Kerrie Holly, IBM White Paper, Migrating to a Service- Oriented Architecture, April 2004 2/8/2011 Service-Oriented Architecture (SOA) 25