Service-Oriented Architecture
Transcript of Service-Oriented Architecture
2
Agenda
• The Problem
• What is Service-Oriented Architecture?
• Change is Inevitable
• What is an Enterprise Service Bus?
• Summary
5
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
8
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.
9
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.
10
Characteristics of a Service
• Supports open standards
• Loose coupling
• Stateless
• Location agnostic
12
IT is like an Ecosystem
• COBOL
• C++
• Java
• J2EE
• Networks
• TCP/IP
• Web Service
• Mid-Tier Servers
• .NET
• Messaging
• HTML
• Operating Systems
• CICS
• Routers
• Databases
• Mainframes
13
Managing the Ecosystem
Technology Management
• Product duplication
• Standards
• Product/Vendor lock-in
• Support skill sets
Version Management
• Managed Evergreening
• Limited versions in
production
16
Integration Stack
• Industry Standards
• Language Standards
• Custom API’s
• Native Interfaces
Ubiquity
Proprietary
18
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)
19
Key Characteristics of an ESB
• Streamlines development
• Supports multiple binding strategies
• Performs data transformation
• Intelligent routing
• Real time monitoring
• Exception handling
• Service security
20
Mediation
Source: Getting Started with WebSphere Enterprise Service Bus V6 http://www.redbooks.ibm.com/redbooks/SG247212/wwhelp/wwhimpl/java/html/wwhelp.htm
21
Manage Subscriptions to Organization Data
ESB Exposed Requests and Responses
Service Provider Requests and Responses
Create Registration Response
Create Registration Request
Create Registration Response
Create Registration RequestCreate
Registration Service
CreateRegistration
ServiceImplementation
CreateRegistrationMediation
Inquire Registration Response
Inquire Registration Request
Inquire Registration Response
Inquire Registration RequestInquire
Registration Service
InquireRegistration
ServiceImplementation
InquireRegistrationMediation
Update Registration Response
Update Registration Request
Update Registration Response
Update Registration RequestUpdate
Registration Service
UpdateRegistration
ServiceImplementation
UpdateRegistrationMediation
Delete Registration Response
Delete Registration Request
Delete Registration Response
Delete Registration RequestDelete Registration
Service
DeleteRegistration
ServiceImplementation
DeleteRegistrationMediation
Service Consumer
ESB Service Provider
22
Distribute New Organization Data
ESB Exposed Requests and Responses
Publish Organization Data Response
Publish Organization Data RequestPublish Organization
Data
Publish Organization
Data Implementation
Service Consumer Target
Application A
Invoke Target Application A’s
Update Organization
ServiceUpdate Organization Data Response
Update Organization Data Request
Target Application B
Deliver Update Organization
Data to Target Applications B via AM Queue
Update Organization Data Message
Target Application C
Deliver Update Organization
Data to Target Application C via Batch File
Update Organization Data File
ESB
File
Message
Update Organization Data Service
Implementation
Data Distribution Options
23
Distribute New Organization Data with Human Interaction
ESB Exposed Requests and Responses
Publish Organization Data Response
Publish Organization Data RequestPublish Organization
Data
Publish Organization
Data Implementation
Service Consumer Target
Application A
Invoke Target Application A’s
Update Organization
ServiceUpdate Organization Data Response
Update Organization Data Request
Target Application B
Deliver Update Organization
Data to Target Applications B via MQ Queue
Update Organization Data Message
Target Application C
Deliver Update Organization
Data to Target Application C via Batch File
Update Organization Data File
ESB
File
Message
Update Organization Data Service
Implementation
Data Distribution Options
Human Interaction –
Approve Data
Distribution
24
Service Enablement of Managed File Transfer
ESB Exposed Requests and Responses
Managed File Transfer Response
Managed File Transfer RequestManaged File
Transfer
Managed File Transfer
Implementation
Invoke Directory Service to
lookup Transfer Details
PM4Data Directory Services Response
PM4Data Directory Services Request
Invoke Transfer
PM4Data File Transfer Status Implementation
PM4Data Transfer Service
Implementation
PM4Data Directory Service
Implementation
Step 2
Step 1
PM4Data Requests and Responses
PM4Data
File Transfer Status Response
File Transfer Status Request
File Transfer Status Response
File Transfer Status RequestFile Transfer
StatusFile Transfer Status Mediation
ESBService Consumer
PM4Data Transfer Service Response
PM4Data Transfer Service Request
Step 3
25
Schema Validation Approaches
ESB Exposed Requests and Responses
Service Provider Requests and Responses
Create Registration Response
Create Registration Request
Create Registration Response
Create Registration Request
Sample ServiceSample Service Implementation
Sample Service Mediation
(Validation)
Service Consumer
ESB Service Provider
26
Understanding the Technology Stack
WPS WMB DataPower
PM4Data
Custom
Transport Mediation
Yes Yes Yes Yes No No
Transformation Mediation
Yes Yes Yes Yes No No
Dynamic Routing
Yes Yes Yes Yes No No
Process Orchestration
No Yes No No No No
Human Workflow
No Yes No No No No
Business Rules
No Yes No No No No
Schema Validation
Yes No Yes Yes No Yes
File Transfer
Yes No No No Yes No
Table 5 - Scenario 5: Schema Validation Approaches
Implementation Component(s)
Core ESB Capabilities
ESB Extensions
Non-ESB Extensions
Capabilitie s Tested in Scenario
27
ESB Conceptual Architecture
Application Architecture (ESB View)
Service Modules
MOM/EAIAdaptor
EJBAdaptorIn
terf
ace SOAP/HTTP
WS
DL
Ada
ptor
SOAP/JMS
RMI
Java
Gat
eway
Inte
rfac
e
Soap/Http WS
DL
Ada
ptorSoap/JMS
MOM/EAIAdaptor
EJBAdaptor
SOAP/HTTP
WS
DL A
daptor
SOAP/JMS
RMI
Java
VD
C
BPEL
`
Gatew
ay
Soap/Http
Soap/JMS Interface
WS
DL A
daptorService ProvidersService Consumers
Frameworks
Persistence Logging EditsBusiness
RuleOther ...
Local Invocation Bindings
Mes
sagi
ngJM
S
EJB
Loca
l/Rem
ote
WSDL Adaptor
RM
I
Java
Interface
JCA
Sec
uri
ty A
rch
itec
ture
JCA
Interface
External Service Consumer
`
EAM, IPM, ADvance, SAHM, CSB, FMS,
EA&R, SAIG
`
Portals
VD
C
EAM, IPM, ADvance, SAHM, CSB, FMS,
EA&R, SAIG
Stateless Session Bean
Message Driven Bean
Java
WBI Broker
WebSphere MQ
EJB
J2EE EAR File (WebSphere Process Server)
Broker Archive File
External Service Provider
`
DesktopApplications
28
Describing Services to Machines
• Web Services Description Language
• Open Standard for describing Interfaces to Services
(http://www.w3.org/TR/wsdl)
• Characteristics
– Describes data expected to be sent and
received
– Describes what the service can do
– Describes how to reach the service
• WSDL description is an XML document
Services
Bindings
Port Types
Operations
Messages
30
Summary
• The Problem
• What is Service-Oriented Architecture?
• Change is Inevitable
• What is an Enterprise Service Bus?
• Summary
31
I appreciate your feedback and comments.
I can be reached at:
Name: Terry Woods
Phone: 202-377-3023
Email: [email protected]
Contact Information