1
How Service Oriented Architecture Improves Business Flexibility
D1 - 02 What is SOA.ppt 2
On Demand Insurance Wants to be an On Demand Business
ODI CIO IBM
How do we build solutions using the on demand operating environment?
We use a technique called Service Oriented Architecture. In general there are four steps. Let’s take a look.
2
D1 - 02 What is SOA.ppt 3
SOA Step 1 - Componentized Business Design
Business Partner
Elements
Enterprise Applications
Elements
DataElements
People
Calculate credit scoreProcess credit application
Place orderCheck shipping status
Customer recordsBilling dataInventory data
Examples:
� Identify elements of business processes� Functions implemented by applications� Data used by processes� Services provided by systems
� Identify consumers of these elements� People� Other programs
D1 - 02 What is SOA.ppt 4
Partner Services
Application Services Data Services
People with Clients
Service Providers and Consumers
� Expose elements as services that can be invoked
� Define clients for people to consume services� Browsers, fat clients, mobile, and others
SOA Step 2 – Expose Elements of Business Processes as Services
3
D1 - 02 What is SOA.ppt 5
What is a Service?
Service Requester
Service Provider
Service
� A service either provides information to the service requester, or facilitates a change to business data from one valid and consistent state to another
� Web Services Description Language (WSDL) is used to define the service
� Service requesters communicate with services using Extensible Markup Language (XML) messages
� A web service is a specific type of service
� A service is an application function packaged as a reusable component that can be used in a business process
D1 - 02 What is SOA.ppt 6
WSDL Provides a Standard Interface
Service Requester
Service Provider
Service
Service Description (WSDL)
Service Description
(WSDL)
� WSDL is an XML document which describes everything a service requester needs to use a service
� Service requester uses WSDL document to bind to the service
� XML messages are passed between the requester and service
� portType - what the service does (list of operations)
� message – description of data used by each operation
� types – data type definitions for messages (usually xsd schemas)
� binding - how the service is invoked (e.g. SOAP/HTTP, SOAP/JMS, etc.)
� port - specifies the address where the service is located
Request (XML)
Response (XML)
4
D1 - 02 What is SOA.ppt 7
Enterprise Service Bus
Partner Services
Application Services Data Services
People with Clients
Service Providers and Consumers
� Enterprise Service Bus:� Connects services and service consumers regardless of
location, transport, or organizational boundary� Mediates between service requested and service provided
− Time, rate, format, location, protocol of requests/responses
SOA Step 3 – Connect Services with the Enterprise Service Bus
D1 - 02 What is SOA.ppt 8
Service Combining Frameworks
Information Integration
BusinessIntegration
People Integration
Enterprise Service Bus
Partner Services
Application Services Data Services
People with Clients
Service Providers and Consumers
Step 4 – Integrate Services Using Service Combining Frameworks
5
D1 - 02 What is SOA.ppt 9
Service Combining Frameworks
Information Integration
BusinessIntegration
People Integration
Enterprise Service Bus
Partner Services
Application Services Data Services
People with Clients
Service Providers and Consumers
WebSphere MQWBI Message BrokerWeb Services Gateway
WebSphere Portal ServerIBM Workplace WBI Server Foundation
WebSphere Information Integrator
Step 4 – Integrate Services Using Service Combining Frameworks
WebSphere Application Server
D1 - 02 What is SOA.ppt 10
� IBM Rational tooling builds web services from existing software assets as well as enterprise resources
� WebSphere Studio Application Developer Integration Edition� Expose software assets as services� Expose enterprise resources as services� Created services have interfaces defined by WSDL� Service interfaces can be bound to invoking requester code
Exposing Elements of Business Processes as Services – A Deeper View
6
D1 - 02 What is SOA.ppt 11
Service Usage PatternConsuming a Software Component
� Expose the methods in a business process as a service
� An application on another system consumes the service
� Example:� The methods being exposed allows you to add, inquire,
update and delete customer records� The application using this service processes insurance
policies
D1 - 02 What is SOA.ppt 12
Partner Services
Application Services
Data Services
People with Clients
Service Providers and Consumers
Enterprise Service Bus
Service Usage PatternConsuming a Software Component
7
D1 - 02 What is SOA.ppt 13
.Net C#
W2K
CICS
zOS
HTTP(S)
COMMAREA
CTG Client
.Net C# Client Drivers
WebSphere Application Server V5.0
WebSphere Edge
eNetworkDispatcher
IBM HTTP Server (SSL)
TCP/IP
CICS Transaction
Gateway
2 IBM x360 4-way Xeon 1.5GHz or
2 IBM p660 4-way Power4 700MHz (p630 4-way Power4 1GHz)
CICS Transaction
Gateway Server
IBM z900 1C3
IBM NetVista M412GHz 786M Ram
HTTP(S)
SOAP SOAP
W2K / AIX
Bank of Montreal: Expose CICS Transactions as Web Services
D1 - 02 What is SOA.ppt 14
� Connects service requesters and service providers� Provides mediation services
� Types of mediation� Send and receive messages� Route messages to receiver� Map data formats between sender and receiver� Match protocols between sender and receiver
Connect Services with the Enterprise Service Bus – A Deeper View
8
D1 - 02 What is SOA.ppt 15
� Service request/response via a messaging interface
� Service requester and provider are not always available at the same time
� Add a message server into the enterprise service bus to mediate between times service requester and provider are available
� Example:� Requesters sends message requesting a quote that is held in a message
queue until the quote server can receive it� Quote server places response in a message queue to hold message until
requester can receive it
Asynchronous Messaging Pattern
D1 - 02 What is SOA.ppt 16
Partner Services
Application Services
Data Services
People with Clients
Service Providers and Consumers
Enterprise Service BusA B
WebSphere MQ
Asynchronous Messaging Pattern
9
D1 - 02 What is SOA.ppt 17
Integrate Services Using Service Combining Frameworks – A Deeper View
� Process choreography
� Portal
� Collaboration
� Information integration
D1 - 02 What is SOA.ppt 18
� A business process is initiated by a request from a client
� This business process consumes multiple services� e.g. – application services, partner services, data services
� A service combining framework performs the choreography of these services, calling them in the proper order, passing and receiving the correct information
� Each of the calls by the process choreographer can be mediated by the enterprise service bus if required
� Asynchronous messaging� Message transformation� Message routing
Process Choreography Pattern
10
D1 - 02 What is SOA.ppt 19
Partner Services
Application Services Data Services
People with Clients
Service Providers and Consumers
Service Combining Frameworks
People Integration
Enterprise Service Bus
WBI Server Foundation
Process Choreography Pattern
Information Integration
BusinessIntegration
D1 - 02 What is SOA.ppt 20
Portal Pattern
� User wishes to interact with multiple applications through an integrated interface� SAP system� CICS Host system� Web application� Claims information database (DB2)� Claims payment database (SQL Server)� Claims adjustment database (DB2 Content Manager)
11
D1 - 02 What is SOA.ppt 21
GoCustomer Number
Information on History
Window Cracked – Baseball Roof Damaged – Tree fell on it
Customer Update
Claim Form
Home History
Cracked Window 1997Damaged Roof 1996
CICS CustomerUpdate
2
3Columns
RowsSubmit A Claim
Claims InformationClaims History
SAP Customer Lookup
Claims AdjustmentSpecifyFormat:
Select Content:
Creating a Portal “Dashboard”
Claims
Cracked Window - Replaced Damaged Roof - Repaired
Columns
Rows
SpecifyFormat:
Select Content:
GoCustomer Number
Information on History
Window Cracked – Baseball Roof Damaged – Tree fell on it
Customer Update
Claim Form
Home History
Cracked Window 1997Damaged Roof 1996
CICS CustomerUpdate
Columns
Rows
Submit A Claim
Claims Information
Claims HistorySAP Customer Lookup
Claims Adjustment
SpecifyFormat:
Select Content:
Claims
Cracked Window - Replaced Damaged Roof - Repaired
2
3
GoCustomer Number
Information on History
Window Cracked – Baseball Roof Damaged – Tree fell on it
Customer Update
Claim Form
Home History
Cracked Window 1997Damaged Roof 1996
Claims
Cracked Window - Replaced Damaged Roof - Repaired
CICS CustomerUpdate
Submit A Claim
Claims Information
Claims HistorySAP Customer Lookup
Claims Adjustment
D1 - 02 What is SOA.ppt 22
SAPCustomerLookup
CICSCustomer
UpdateSubmitA Claim
ClaimsHistory
ClaimsInformation
ClaimsAdjustment
Service Providers and Consumers
Service Combining Frameworks
People Integration
Enterprise Service Bus
WebSphere Portal Server
Portal Pattern
Information Integration
BusinessIntegration
12
D1 - 02 What is SOA.ppt 23
Information Integrator Pattern
� Middleware to integrate heterogeneous data sources� A consistent view to all data� Reduces information integration cost
� Example� User accesses all information with one program request
− Customer data (DB2)− Policies (SQL server)− Claims information (XML data)− Claims payment (Other data sources)
� Developer writes a single SQL query to access heterogeneous data sources (DB2, SQL server, XML,…)
� Administrator efficiently works with multiple data sources
D1 - 02 What is SOA.ppt 24
Service Providers and Consumers
Service Combining Frameworks
People Integration
Enterprise Service Bus
Information Integrator Pattern
XML DataOther Data
SourcesDB2 SQL
Server
Information Integration
BusinessIntegration
WebSphere Information Integrator
13
D1 - 02 What is SOA.ppt 25
Conclusion: IBM Delivers a Full SOA Solution
� Tools and adapters to expose elements of business processes as services
� Enterprise Service Bus
� Powerful service combining frameworks� Process choreography� Portal� Collaboration� Information integration
D1 - 02 What is SOA.ppt 26
Next Steps
ODI CEO
I see your on demand operating environment is rich in function and implements Service Oriented Architecture. Now show me how it solves my business problems.
14
D1 - 02 What is SOA.ppt 27
The Future is On Demand