SO-Architectural Roadmap
description
Transcript of SO-Architectural Roadmap
![Page 1: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/1.jpg)
04/22/23 Page 1
SO-Architectural Roadmap
B. Ramamurthy
![Page 2: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/2.jpg)
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
![Page 3: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/3.jpg)
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.
![Page 4: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/4.jpg)
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)
![Page 5: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/5.jpg)
04/22/23 Page 5
Insurance Product Engine
Agency 2
InsuranceProduct Engine
Call center
Web site 1
Claims
Agency 1
ContractAdministration
![Page 6: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/6.jpg)
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
![Page 7: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/7.jpg)
04/22/23 Page 7
Technology gateway service
Technology BBasic Service
Frontend ServiceTechnology A
Technology ATech GatewayTechnology B
![Page 8: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/8.jpg)
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
![Page 9: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/9.jpg)
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
![Page 10: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/10.jpg)
04/22/23 Page 10
Process-centric service (contd.)
Process-centric service
service 3
Application Frontend
service 1 service 2
![Page 11: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/11.jpg)
04/22/23 Page 11
Application Frontend
Process-centric service (contd.)
service 3service 1 service 2
![Page 12: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/12.jpg)
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
![Page 13: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/13.jpg)
04/22/23 Page 13
Enterprise Services layers (fig.5.9, 5.10)
Enterprise layer
Process layer
Intermediary layer
Basic layer
![Page 14: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/14.jpg)
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
![Page 15: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/15.jpg)
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
![Page 16: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/16.jpg)
04/22/23 Page 16
Airline EnterpriseEnterprise Layer
Basic layer
AirlineWeb site
Flight Customer
Booking Billing
![Page 17: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/17.jpg)
04/22/23 Page 17
Expanded Airline Enterprise
Enterprise Layer
Basic layer
AirlineWeb site
BillingApplication
Flight Customer
Booking Billing
![Page 18: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/18.jpg)
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
![Page 19: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/19.jpg)
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)
![Page 20: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/20.jpg)
04/22/23 Page 20
Networked SOAEnterprise Layer
AirlineWeb site
Basic layerFlight Custom
erBooking Billing
Intermediary layerBookAndBill
![Page 21: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/21.jpg)
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
![Page 22: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/22.jpg)
04/22/23 Page 22
Process-enabled SOAEnterprise Layer
AirlineWeb site
Basic layerFlight Custom
erBooking Billing
Intermediary layerBookAndBill
Business LayerBookingProcess
![Page 23: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/23.jpg)
04/22/23 Page 23
Process-enabled SOA (contd.)
Enterprise LayerAirlineWeb site
Basic layerFlight Custom
erBooking Billing
Intermediary layerBookAndBill
Business Layermobileprocess
BookingProcess
B2B process
![Page 24: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/24.jpg)
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
![Page 25: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/25.jpg)
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
![Page 26: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/26.jpg)
04/22/23 Page 26
Enterprise Services layers (fig.5.9, 5.10)
Enterprise layer
Process layer
Intermediary layer
Basic layer
![Page 27: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/27.jpg)
04/22/23 Page 27
Airline EnterpriseEnterprise Layer
Basic layer
AirlineWeb site
Flight Customer
Booking Billing
![Page 28: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/28.jpg)
04/22/23 Page 28
Expanded Airline Enterprise
Enterprise Layer
Basic layer
AirlineWeb site
BillingApplication
Flight Customer
Booking Billing
![Page 29: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/29.jpg)
04/22/23 Page 29
Networked SOAEnterprise Layer
AirlineWeb site
Basic layerFlight Custom
erBooking Billing
Intermediary layerBookAndBill
![Page 30: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/30.jpg)
04/22/23 Page 30
Process-enabled SOAEnterprise Layer
AirlineWeb site
Basic layerFlight Custom
erBooking Billing
Intermediary layerBookAndBill
Business LayerBookingProcess
![Page 31: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/31.jpg)
04/22/23 Page 31
Process-enabled SOA (contd.)
Enterprise LayerAirlineWeb site
Basic layerFlight Custom
erBooking Billing
Intermediary layerBookAndBill
Business Layermobileprocess
BookingProcess
B2B process
![Page 32: SO-Architectural Roadmap](https://reader035.fdocuments.us/reader035/viewer/2022070423/568167b9550346895ddd0716/html5/thumbnails/32.jpg)
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