04/22/23 Page 1
SO-Architectural Roadmap
B. Ramamurthy
04/22/23 Page 2
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
04/22/23 Page 3
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.
04/22/23 Page 4
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)
04/22/23 Page 5
Insurance Product Engine
Agency 2
InsuranceProduct Engine
Call center
Web site 1
Claims
Agency 1
ContractAdministration
04/22/23 Page 6
Intermediary Services • Stateless services that bridge the
technological inconsistencies and design gaps in an architecture.
• Gateways, adapters, facades, and functionality adding services
04/22/23 Page 7
Technology gateway service
Technology BBasic Service
Frontend ServiceTechnology A
Technology ATech GatewayTechnology B
04/22/23 Page 8
Façade Intermediary Service
Basic service 3
Facade
Application 1
Basic service 1
Application 2
Basic service 2
Application 3
04/22/23 Page 9
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
04/22/23 Page 10
Process-centric service (contd.)
Process-centric service
service 3
Application Frontend
service 1 service 2
04/22/23 Page 11
Application Frontend
Process-centric service (contd.)
service 3service 1 service 2
04/22/23 Page 12
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
04/22/23 Page 13
Enterprise Services layers (fig.5.9, 5.10)
Enterprise layer
Process layer
Intermediary layer
Basic layer
04/22/23 Page 14
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
04/22/23 Page 15
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
04/22/23 Page 16
Airline EnterpriseEnterprise Layer
Basic layer
AirlineWeb site
Flight Customer
Booking Billing
04/22/23 Page 17
Expanded Airline Enterprise
Enterprise Layer
Basic layer
AirlineWeb site
BillingApplication
Flight Customer
Booking Billing
04/22/23 Page 18
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
04/22/23 Page 19
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)
04/22/23 Page 20
Networked SOAEnterprise Layer
AirlineWeb site
Basic layerFlight Custom
erBooking Billing
Intermediary layerBookAndBill
04/22/23 Page 21
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
04/22/23 Page 22
Process-enabled SOAEnterprise Layer
AirlineWeb site
Basic layerFlight Custom
erBooking Billing
Intermediary layerBookAndBill
Business LayerBookingProcess
04/22/23 Page 23
Process-enabled SOA (contd.)
Enterprise LayerAirlineWeb site
Basic layerFlight Custom
erBooking Billing
Intermediary layerBookAndBill
Business Layermobileprocess
BookingProcess
B2B process
04/22/23 Page 24
Process-enabled SOA (contd.)
Enterprise LayerAirlineWeb site
Basic layerEmail & SMS Flight Custom
erBooking Billing
Business LayerMobileprocess Bookin
gProcess
cancellation process
Waitlisting
04/22/23 Page 25
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
04/22/23 Page 26
Enterprise Services layers (fig.5.9, 5.10)
Enterprise layer
Process layer
Intermediary layer
Basic layer
04/22/23 Page 27
Airline EnterpriseEnterprise Layer
Basic layer
AirlineWeb site
Flight Customer
Booking Billing
04/22/23 Page 28
Expanded Airline Enterprise
Enterprise Layer
Basic layer
AirlineWeb site
BillingApplication
Flight Customer
Booking Billing
04/22/23 Page 29
Networked SOAEnterprise Layer
AirlineWeb site
Basic layerFlight Custom
erBooking Billing
Intermediary layerBookAndBill
04/22/23 Page 30
Process-enabled SOAEnterprise Layer
AirlineWeb site
Basic layerFlight Custom
erBooking Billing
Intermediary layerBookAndBill
Business LayerBookingProcess
04/22/23 Page 31
Process-enabled SOA (contd.)
Enterprise LayerAirlineWeb site
Basic layerFlight Custom
erBooking Billing
Intermediary layerBookAndBill
Business Layermobileprocess
BookingProcess
B2B process
04/22/23 Page 32
Process-enabled SOA (contd.)
Enterprise LayerAirlineWeb site
Basic layerEmail & SMS Flight Custom
erBooking Billing
Business LayerMobileprocess Bookin
gProcess
cancellation process
Waitlisting