SO-Architectural Roadmap B. Ramamurthy 6/19/2019
Review In Chapter 4 we discussed In this llecture we will discuss Definitions of SOA by experts in the field Our own simple definition of an SOA types of services In this llecture we will discuss Details of the various types of services Architecting an SOA (stages) Entry points to SOA design Chapters 5 and 6 6/19/2019
Basic / horizontal Services Fundamental services Maintain no conversational state Data-centric services: Encapsulates business data purpose of data centric services is to handle persistent data typically stored in an Enterprise Information System (EIS). An EIS could be a simple data base or integrated data base from several sources. A file system relational data base or a object relational mapping, data access objects and layering: all these fall under this category. For example, “store” operation from a user web service could invoke a data-centric service that stores the data in the “resource” defined in the operational environment. What is a resource in this context? A data stream, relational DB data source, a data queue A “store” on a business object (BO) may results many physical writes to (one or more distributed) data bases. Data-centric service takes care of this. 6/19/2019
Horizontal services Logic centric services Encapsulate algorithms for complex calculations or business rules. Consider the example of Insurance Product Engine (fig.5.3) (For example: Geico or Progressive Insurance) We will discuss three alternative approaches to providing this function and why services-based one is advantageous. (pp.72-74) 6/19/2019
Insurance Product Engine Call center Web site 1 Claims Agency 1 Contract Administration Agency 2 6/19/2019
Intermediary Services Stateless services that bridge the technological inconsistencies and design gaps in an architecture. Gateways, adapters, facades, and functionality adding services 6/19/2019
Technology gateway service Frontend Service Technology A Technology A Tech Gateway Technology B Technology B Basic Service 6/19/2019
Façade Intermediary Service Application 1 Application 2 Application 3 Facade Basic service 1 Basic service 2 Basic service 3 6/19/2019
Process centric services Process centric services can encapsulate the knowledge of the organization’s business processes. Stateful: they contain and maintain state These are project-specific Requires careful design satisfying the domain rules and business policies 6/19/2019
Process-centric service (contd.) Application Frontend Process-centric service service 1 service 2 service 3 6/19/2019
Process-centric service (contd.) Application Frontend service 1 service 2 service 3 6/19/2019
Enterprise level services Security Accounting Billing SLAs (service level agreements), service metering We will refer to these as horizontal services, i.e., common domain-independent utility services 6/19/2019
Enterprise Services layers (fig.5.9, 5.10) Enterprise layer Process layer Intermediary layer Basic layer 6/19/2019
The architectural roadmap: The stages in development Fundamental SOA Design fundamental services Networked SOA Add intermediary services Process-enabled SOA Add process-centric services, front-ends These three stages reach maturity at different rates, services gain more responsibility as the system matures. Advantages of using service-orientation will be apparent as the stages evolve independently of each other 6/19/2019
Fundamental SOA Excellent starting point for introduction SOA in an organization A fundamental SOA consists of two layers: Enterprise layer that consists of front-ends, and The basic layers that consists of basic services 6/19/2019
Airline Enterprise Enterprise Layer Basic layer Airline Web site Billing Flight Booking Customer 6/19/2019
Expanded Airline Enterprise Enterprise Layer Airline Web site Billing Application Basic layer Billing Flight Booking Customer 6/19/2019
Fundamental SOA: Summary Based on which future expansion can take place Simple to implement Complex front-end Increased maintainability Shared services can make data replication largely obsolete Good starting point/entry point to SOA 6/19/2019
Networked SOA It deals with backend complexity in addition to technical and conceptual integration. If offers flexibility in integrating software assets of an enterprise. Enables loose coupling Addition of intermediary layer with services that handle distributed transactions, (fig.6.6) bridge technology gaps, (fig 6.7) database integration, (fig 6.9) Add new functionality, (fig 6.10) Wrap legacy applications/service (fig.6.10) 6/19/2019
Networked SOA Enterprise Layer Intermediary layer Basic layer Airline Web site Intermediary layer BookAndBill Basic layer Flight Customer Booking Billing 6/19/2019
Process-enabled SOA The key feature is the maintenance of a process state in process-centric services. Stateful services (server-side state) Encapsulates complexity of processes (Ex: runExperiment in a complex scientific lab experiment) Possibility of sharing states between clients (Ex: research whiteboard) Handling long-living processes (Ex: auction framework) Enables the IT and business alignment 6/19/2019
Process-enabled SOA Enterprise Layer Business Layer Intermediary layer Airline Web site Business Layer BookingProcess Intermediary layer BookAndBill Basic layer Flight Customer Booking Billing 6/19/2019
Process-enabled SOA (contd.) Enterprise Layer Airline Web site Business Layer B2B process mobileprocess BookingProcess Intermediary layer BookAndBill Basic layer Flight Customer Booking Billing 6/19/2019
Process-enabled SOA (contd.) Enterprise Layer Airline Web site Business Layer cancellation process Mobile process BookingProcess Basic layer Email & SMS Flight Booking Billing Waitlisting Customer 6/19/2019
Process-enabled SOA summary Enables light-weight frontends (handles only user interaction) Encapsulates complexities of business processes Abstracts complexities of backend systems Enables separation of business logic from technology complexities Is required for integration of independent organizations and implementation of complex processes 6/19/2019
Enterprise Services layers (fig.5.9, 5.10) Enterprise layer Process layer Intermediary layer Basic layer 6/19/2019
Airline Enterprise Enterprise Layer Basic layer Airline Web site Billing Flight Booking Customer 6/19/2019
Expanded Airline Enterprise Enterprise Layer Airline Web site Billing Application Basic layer Billing Flight Booking Customer 6/19/2019
Networked SOA Enterprise Layer Intermediary layer Basic layer Airline Web site Intermediary layer BookAndBill Basic layer Flight Customer Booking Billing 6/19/2019
Process-enabled SOA Enterprise Layer Business Layer Intermediary layer Airline Web site Business Layer BookingProcess Intermediary layer BookAndBill Basic layer Flight Customer Booking Billing 6/19/2019
Process-enabled SOA (contd.) Enterprise Layer Airline Web site Business Layer B2B process mobileprocess BookingProcess Intermediary layer BookAndBill Basic layer Flight Customer Booking Billing 6/19/2019
Process-enabled SOA (contd.) Enterprise Layer Airline Web site Business Layer cancellation process Mobile process BookingProcess Basic layer Email & SMS Flight Booking Billing Waitlisting Customer 6/19/2019