BSc(Honours) in Software Engineering
PRO210130 - Software Architecture & Design
Service Oriented Architecture
©Lanka Nippon BizTech Institute
ACKNOWLEDGEMENT
Presented by: Ms.C.D.Padmaperuma
Lecturer in Information Technology
BSc.in CS(UCSC), MCS, MCSSL
Reviewed by: Prof.K.P.Hewagamage
Software Architecture & Design | Service Oriented Architecture 2
Service Oriented
Architecture
Agenda
• The Problem
• What is Service-Oriented Architecture?
• Change is Inevitable
• What is an Enterprise Service Bus?
• Summary
4
The Problem
Legacy Business Process
Business Process 1
Business Process 2
Business Process 3
6
Architectural Choke Point
• Monolithic
• Extremely complex
• Very tightly coupled
• Difficult to find clean integration points
• Lack of standards makes it difficult to integrate
• Rigid architecture makes even small changes complex and
costly
7
SOA Business Process
Business Process
Shared Service
Information Framework
Supplier
8
What is Service-Oriented Architecture?
What is Service-Oriented Architecture?
• Service-Oriented Architecture (SOA) is an architectural style.
Applications built using an SOA style deliver functionality as
services that can be used or reused when building
applications or integrating within the enterprise or trading
partners.
10
What is a Service?
• A service provides a discrete business function that operates
on data. Its job is to ensure that the business functionality is
applied consistently, returns predictable results, and operates
within the quality of service required.
11
Characteristics of a Service
• Supports open standards
• Loose coupling
• Stateless
• Location agnostic
12
Change is Inevitable
IT is like an Ecosystem
• COBOL • .NET
• C++ • Messaging
• Java • HTML
• J2EE • Operating Systems
• Networks • CICS
• TCP/IP • Routers
• Web Service • Databases
• Mid-Tier Servers • Mainframes
14
Managing the Ecosystem
Technology Management Version Management
• Product duplication • Managed Evergreening
• Standards • Limited versions in production
• Product/Vendor lock-in
• Support skill sets
15
Legacy Integration
16
SOA Integration
SOA Architecture
17
Integration Stack
• Industry Standards Ubiquity
• Language Standards
• Custom API’s
• Native Interfaces
Proprietary
18
Enterprise Service Bus
What is an Enterprise Service Bus (ESB)?
An ESB implements an SOA through middleware
that offers virtualization and management of service
interactions between communication participants.
Thus, this flexible connectivity layer could help
connect and integrate an organization's IT
infrastructure across many differing systems and
locations reliably and securely while reducing the
number, size and complexity of application
interfaces.
ComputerWorld (http://www.computerworld.com/developmenttopics/development/webservices/story/0,10801,108478,00.html)
20
Key Characteristics of an ESB
• Streamlines development
• Supports multiple binding strategies
• Performs data transformation
• Intelligent routing
• Real time monitoring
• Exception handling
• Service security
21
Mediation
Source: Getting Started with WebSphere Enterprise Service Bus V6
http://www.redbooks.ibm.com/redbooks/SG247212/wwhelp/wwhimpl/java/html/wwhelp.ht
m
22
Manage Subscriptions to Organization Data
Service ESB Service
ESB Exposed Service Provider
Consumer Requests and Responses Requests and Responses
Provider
Create Registration Request Create Registration Request Create
Create Create
Registration
Registration Registration
Create Registration Response
Service
Service Create Registration Response Mediation
Implementation
Inquire Registration Request Inquire Registration Request
Inquire Inquire Inquire
Registration Registration Registration
Service Inquire Registration Response Mediation Inquire Registration Response Service
Implementation
Update Registration Request Update Registration Request Update
Update Update
Registration
Registration Registration
Update Registration Response
Service
Service Update Registration Response Mediation
Implementation
Delete Registration Request Delete Registration Request Delete
Delete Delete
Registration
Registration Registration
Service
Service Delete Registration Response Mediation Delete Registration Response
Implementation
23
Distribute New Organization Data
Service ESB
ESB Exposed Data Distribution Options
Consumer Requests and Responses Target
Application A
Invoke Target
Publish Update Organization Data Request Update
Publish Publish Organization Data Request Application A’s
Organization Organization
Organization Update
Data Update Organization Data Response
Data Service
Data Publish Organization Data Response Organization
Implementation Implementation
Service
Target
Application B
Deliver Update
Organization
Update Organization Data Message
Data to Target Message
Applications B
via AM Queue
Target
Application C
Deliver Update
Organization
Data to Target Update Organization Data File File
Application C
via Batch File
24
Distribute New Organization Data with Human Interaction
Service ESB
ESB Exposed Data Distribution Options
Consumer Requests and Responses Target
Application A
Invoke Target
Publish Update Organization Data Request Update
Publish Publish Organization Data Request Application A’s
Organization Organization
Organization Update
Data Update Organization Data Response
Data Service
Data Publish Organization Data Response Organization
Implementation Implementation
Service
Target
Application B
Human Deliver Update
Interaction – Organization
Update Organization Data Message
Approve Data to Target Message
Data Applications B
Distribution via MQ Queue
Target
Application C
Deliver Update
Organization
Data to Target Update Organization Data File File
Application C
via Batch File
25
Service Enablement of Managed File Transfer
Service ESB PM4Data
ESB Exposed PM4Data
Consumer Requests and Responses Requests and Responses
Invoke
Managed File Transfer Request PM4Data Directory Services Request PM4Data
Managed File Directory
Managed File Directory
Transfer Step 1 Service to
Transfer PM4Data Directory Services Response
Service
Managed File Transfer Response Implementation lookup Transfer
Implementation
Details
Step 2
PM4Data Transfer Service Request PM4Data
Transfer
Step 3 Invoke Transfer
PM4Data Transfer Service Response Service
Implementation
File Transfer Status Request File Transfer Status Request
File Transfer PM4Data File
File Transfer Status Mediation Transfer Status
Status
File Transfer Status Response File Transfer Status Response Implementation
26
Schema Validation Approaches
Service ESB Service
ESB Exposed Service Provider
Consumer Requests and Responses Requests and Responses
Provider
Create Registration Request Create Registration Request
Sample Service
Sample Service
Sample Service Mediation
Create Registration Response
Implementation
Create Registration Response (Validation)
27
Describing Services to Machines
• Web Services Description Language Services
• Open Standard for describing Interfaces to
Services (http://www.w3.org/TR/wsdl)
•
Bindings
Characteristics
• Describes data expected to be sent and
received Port Types
• Describes what the service can do
• Describes how to reach the service Operations
• WSDL description is an XML document
Messages
28
ESB Summary
• Loose Coupling
• Location Transparency
• Transport Neutral
29
Summary
• The Problem
• What is Service-Oriented Architecture?
• Change is Inevitable
• What is an Enterprise Service Bus?
• Summary
30