SOA (Service Oriented Architecture) Evolution of Architecture. What is SOA? SOA Concepts Evolution of SOA Why SOA? SOA – Real World Application Benefits of SOA
Evolution of Architecture
Evolution of Architecture (Contd..) Monolithic: Processing, data and the user interface all reside on the same system Client/Server: Architecture which separates a client from a server, and business is almost always implemented over a computer network 3-Tier/N-Tier: Architecture in which the user interface, business logic, computer data storage and data access are developed and maintained as independent platforms Components and Objects (EAI): Architecture which is built as components and modular logical units with communication done through an integration mechanism Services: Architecture that leverages open standards to represent software assets as services with a focus on application assembly
What is SOA? Service Oriented Architecture Flexible method of structuring and managing component-based systems Architectural approach to define integration architectures based on the concept of a service. Applications collaborate by invoking each others services and services can be composed into larger sequences to implement business processes. Information technology architecture that enables distributed computing environment with many different types of computing platforms and applications Supports a business driven approach to architecture development in line with current business needs rather than a technology based approach Services in an SOA are: Loosely-coupled Used to compose multiple applications Discovered and invoked dynamically May feature standard interfaces or a common format
Key terms in SOA Service Service Consumer Service Producer Message Reusable piece of functionality Service Consumer Client/Application which invokes the functionality Service Producer Client/Application which provides the functionality Message Information served/invoked Dynamic Discovery Registry Web Service
Key terms in SOA Service encapsulate reusable business functions are defined by explicit, implementation-independent interfaces are invoked through communication protocols that stress location transparency and interoperability. can be dynamically located and invoked Directory Service available
Key terms in SOA Message Mode of communication between service consumer and service provider Typically constructed using XML documents that conforms to defined XML schema (WSDL) Dynamic Discovery Directory services to list the services where service consumers can query for service details and contact service provider Advantages of dynamic discovery: Scalability – Services can be added incrementally Consumer and provider decoupling Allows implementation updates Can chose provider at run time rather than hard coding
SOA and Web Services Web Services are a specialized implementation of Services. Web services play major enabling role in SOA Web services are built on top of well-known and platform-independent protocols. HTTP Interoperability XML Platform independent interface contract UDDI WSDL Dynamic Discovery and Invocation SOAP Standard Messaging
SOA Concepts in the Real World - Cable A cable TV company (a service provider) has the capacity (the underlying capability) to collect and distribute content (services) Wiring from the cable TV company makes a distribution grid (the service bus) to supply the content (the services) The distributed TV signal (the service) Is available for the typical usage in a residential consumer’s house (service consumer)
SOA Concepts by connecting a device to an outlet (service interface) A consumer accesses a program by connecting a device to an outlet (service interface) Service delivery (service invocation) occurs when a device is connected to the interface.
Cable TV Model Service Provider Service Bus Consumer Interface
SOA Concepts The consumer can connect different devices (TV, VCR, DVR, etc.) to the interface; The provider is not concerned with how the service is used. The provider can send different types services (satellite signal, broadcast signal, DVD, etc); The consumer is not concerned with the service’s source. Therefore … the end points are said to be Loosely Coupled. The service provider creates a list of available services (shows available). Also provided any information needed to use the service is (time, channel, duration, etc.) Service consumers can browse the list to determine what service they want to consume. This is the Registry The Service Provider and the Service Consumer have a agreement or contract (Service Level Agreement) which sets the monthly fee for a specified number of available channels.
Evolution of SOA Service-Based Integration Heterogeneous systems sharing data and functionality using a standard message format Legacy Systems “wrapped” by a service SOAP/HTTP Service Consumers Service Consumers Service Providers SOAP/HTTP SOAP/MQ Service Consumers Service Providers Legacy Systems
Why SOA? DISADVANTAGES of TRADITIONAL APPROACHES Tight Coupling Distributed and soiled applications Integration Nightmare Distributed platforms Varying Protocols Varying Devices Application/functionality Redundancy Application centric and not business centric Why SOA? Loosely Coupled Every Application able to communicate seamlessly No P2P (Point-to-Point) integration (API based). Based on open standards with wide support from industry “Retain and reuse” rather than “rip and replace” Paradigm Shift With SOA, businesses can use existing assets to accommodate changed business requirements and be flexible to adapt
SOA – Real World application Client Profile: Leading Credit Card Company Business Issue: Member banks had to process cardholder disputes via a paper system. Automating the process was difficult because the banks had incompatible back-end and legacy systems. How SOA Helped: SOA allows direct communication between member banks and the back-end systems, simplifying transaction research, dispute case search and retrieval, and requests for copies of original paper receipts. Savings are said to total $52 million a year in direct operating costs and $300 million in ancillary savings. What's more, new projects have been able to reuse services from this project, helping to reduce development time and risk
SOA – Layered Architecture Object Oriented technology can be used to implement Components. Services can be used to access components
Main SOA Standards Policy Set of conditions or rules under which service provider makes service available to consumers Security Identification, authorization and access control Transaction Conditions applicable for a group of services to deliver consistent result Management Administration of services
SOA Standards Transport Mechanism used to move service requests Service Communication Protocol Agreed mechanism for communication Service Description Agreed schema for service description, invocation mechanism and input/output data Service Reusable Business process Business Process Collection of services, invoked in a particular sequence with a particular set of rules, to meet a business requirement. Business process could be considered a service in its own right. Service Registry Repository of service and data descriptions
Benefits of SOA Leverage Existing Assets and ability to integrate with future assets Easier to integrate and manage complexity Measurable business value: increased business agility and flexibility, and faster time-to-market and time-to-value Reduce IT development cost and increase reuse Reduced complex integration and maintenance costs (integration is typically one of the larger headaches for IT departments) Integrate disparate IT systems so they can communicate with each other, reducing the need for multiple systems that do different things in isolation Extend the life of their current IT assets, while still adding needed functionality Create an expandable IT architecture that meets current business needs, while ensuring long-term expandability and flexibility to meet future business needs as they arise
SOA is not a One-stop Solution SOA : Business Centric SOA is not a One-stop Solution