320 likes | 442 Views
SO-Architectural Roadmap. B. Ramamurthy. Review. In Chapter 4 we discussed 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)
E N D
SO-Architectural Roadmap B. Ramamurthy
Review • In Chapter 4 we discussed • 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
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.
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)
Agency 2 Call center Web site 1 Claims Agency 1 Contract Administration Insurance Product Engine Insurance Product Engine
Intermediary Services • Stateless services that bridge the technological inconsistencies and design gaps in an architecture. • Gateways, adapters, facades, and functionality adding services
Frontend Service Technology A Technology gateway service Technology A Tech Gateway Technology B Technology B Basic Service
Application 1 Application 2 Application 3 Façade Intermediary Service Facade Basic service 1 Basic service 2 Basic service 3
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
Process-centric service (contd.) Application Frontend Process-centric service service 1 service 2 service 3
Application Frontend Process-centric service (contd.) service 1 service 2 service 3
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
Enterprise Services layers (fig.5.9, 5.10) Enterprise layer Process layer Intermediary layer Basic layer
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
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
Airline Web site Flight Customer Booking Billing Airline Enterprise Enterprise Layer Basic layer
Airline Web site Billing Application Flight Customer Booking Billing Expanded Airline Enterprise Enterprise Layer Basic layer
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
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)
Airline Web site Flight Customer Booking Billing Basic layer Networked SOA Enterprise Layer Intermediary layer BookAndBill
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
Enterprise Layer Airline Web site Flight Customer Booking Billing Basic layer Process-enabled SOA Business Layer BookingProcess Intermediary layer BookAndBill
Enterprise Layer Airline Web site Flight Customer Booking Billing Basic layer Process-enabled SOA (contd.) Business Layer B2B process mobileprocess BookingProcess Intermediary layer BookAndBill
Enterprise Layer Airline Web site Email & SMS Flight Customer Booking Billing Waitlisting Process-enabled SOA (contd.) Business Layer cancellation process Mobile process BookingProcess Basic layer
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
Enterprise Services layers (fig.5.9, 5.10) Enterprise layer Process layer Intermediary layer Basic layer
Airline Web site Flight Customer Booking Billing Airline Enterprise Enterprise Layer Basic layer
Airline Web site Billing Application Flight Customer Booking Billing Expanded Airline Enterprise Enterprise Layer Basic layer
Airline Web site Flight Customer Booking Billing Basic layer Networked SOA Enterprise Layer Intermediary layer BookAndBill
Enterprise Layer Airline Web site Flight Customer Booking Billing Basic layer Process-enabled SOA Business Layer BookingProcess Intermediary layer BookAndBill
Enterprise Layer Airline Web site Flight Customer Booking Billing Basic layer Process-enabled SOA (contd.) Business Layer B2B process mobileprocess BookingProcess Intermediary layer BookAndBill
Enterprise Layer Airline Web site Email & SMS Flight Customer Booking Billing Waitlisting Process-enabled SOA (contd.) Business Layer cancellation process Mobile process BookingProcess Basic layer