0% found this document useful (0 votes)
5 views30 pages

Lesson 4 PDF

Uploaded by

thirdeyeforexsl
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views30 pages

Lesson 4 PDF

Uploaded by

thirdeyeforexsl
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

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

You might also like