Title: Architectural Roadmap
1Architectural Roadmap
2Review
- Last lecture we discussed
- Definitions of SOA by experts in the field
- Our own simple definition of an SOA
- types of services
- In todays lecture we will discuss
- Details of the various types of services
- Architecting an SOA (stages)
- Chapters 5 and 6
3Basic / 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.
4Horizontal 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)
5Insurance Product Engine
6Intermediary Services
- Stateless services that bridge the technological
inconsistencies and design gaps in an
architecture. - Gateways, adapters, facades, and functionality
adding services
7Technology gateway service
Technology A Tech Gateway Technology B
Technology B Basic Service
8Façade Intermediary Service
Facade
Basic service 1
Basic service 2
Basic service 3
9Process centric services
- Process centric services can encapsulate the
knowledge of the organizations business
processes. - Stateful they contain and maintain state
- These are project-specific
- Requires careful design satisfying the domain
rules and business policies
10Process-centric service (contd.)
Application Frontend
Process-centric service
service 1
service 2
service 3
11Process-centric service (contd.)
service 1
service 2
service 3
12Enterprise 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
13Enterprise Services layers (fig.5.9, 5.10)
Enterprise layer
Process layer
Intermediary layer
Basic layer
14The 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
15Fundamental 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
16Airline Enterprise
Enterprise Layer
Basic layer
17Expanded Airline Enterprise
Enterprise Layer
Basic layer
18Fundamental SOA Summary
- Base 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
19Networked 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)
20Networked SOA
Enterprise Layer
Intermediary layer
BookAndBill
21Process-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
22Process-enabled SOA
Business Layer
BookingProcess
Intermediary layer
BookAndBill
23Process-enabled SOA (contd.)
Business Layer
B2B process
mobileprocess
BookingProcess
Intermediary layer
BookAndBill
24Process-enabled SOA (contd.)
Business Layer
cancellation process
Mobile process
BookingProcess
Basic layer
25Process-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
26Enterprise Services layers (fig.5.9, 5.10)
Enterprise layer
Process layer
Intermediary layer
Basic layer
27Airline Enterprise
Enterprise Layer
Basic layer
28Expanded Airline Enterprise
Enterprise Layer
Basic layer
29Networked SOA
Enterprise Layer
Intermediary layer
BookAndBill
30Process-enabled SOA
Business Layer
BookingProcess
Intermediary layer
BookAndBill
31Process-enabled SOA (contd.)
Business Layer
B2B process
mobileprocess
BookingProcess
Intermediary layer
BookAndBill
32Process-enabled SOA (contd.)
Business Layer
cancellation process
Mobile process
BookingProcess
Basic layer