Академический Документы
Профессиональный Документы
Культура Документы
Jacques Roy
jacquesr@us.ibm.com
Concepts
Abstractions business tasks
Standards
Information as a Service
Moving From a Project-Based to a Flexible Architecture (SOA)
Insight
Tools & Applications
People
Processes
Insightful
Relationships
Standards-based
e.g., XQuery, JSR170,
JDBC, Web Services...
Data &
Content
Business
Context
Information as a Service
IBM
3
abc
IBM
Content
Manager
and
more
xyz
Oracle
2009 IBM Corporation
Anon
ondemand
demandbusiness
businessisisan
anenterprise
enterprisewhose
whose
An
businessprocesses
processesintegrated,
integrated,end-to-end,
end-to-end,
business
acrossthe
thecompany
companyand
andwith
withkey
keypartners,
partners,
across
suppliersand
andcustomers
customerscan
canrespond
respondwith
with
suppliers
speedto
toany
anycustomer
customerdemand,
demand,market
market
speed
opportunityor
orexternal
externalthreat.
threat.
opportunity
5
What is SOA?
Service-Oriented Architectures (SOA) is a set
of patterns for building distributed systems
where one application that comprises a
system can find another application that
provides needed service and can exchange
data with it.
Industry momentum:
Every player is on board: IBM, Microsoft, SAP, Oracle
Proven interoperability
Data access
Integrated
environment
for design
and creation
of solution
assets
Interaction Services
Process Services
Information Services
Enables collaboration
between people,
processes & information
Orchestrate and
automate business
processes
Manages diverse
data and content in a
unified manner
ESB
Partner Services
Connect with trading
partners
IT Service
Management
Access Services
Facilitate interactions
with existing information
and application assets
Apps &
Info Assets
Development
Services
Manage
and secure
services,
applications
&
resources
Infrastructure Services
Optimizes throughput,
availability and performance
Business
Integratio
n
Service
Composition
Quality of
Experience
(QoX)
Current
Stack
Description
Business Web Services (Best Practices) : Service offerings and components (e.g., Book
Flight, Low Fare Search, Update PNR Data, TEA, Request For Design)
WS-Reliable Messaging
WS-Transaction
WS-Security
WS-Resource Lifetime
WS-Resource Properties
XSD
Messaging
XML
Transports
HTTP/HTTPS
WSDL
SOAP
BPEL4WS
WS-Notification
WS-Service Group
WS-Base Faults
WS-Policy
WS-Addressing
SMTP
WS-Metadata Exchange
WS-Renewable References
RMI / IIOP
JMS
10
11
12
2. Description
What service does it offer?
How do I use it?
3. Messaging
Lets communicate!
Discovery
UDDI
Description
WSDL
Messaging
SOAP
13
14
Application
r
te
gis
Re
Di
sc
ov
er
UDDI
Service1
L
SD
W
SOAP request
SOAP response
15
Web
Service
Service1
2009 IBM Corporation
Other tools
WSDL generation, UDDI, etc.
16
17
WSDL Specification
XML grammar
<definitions>: root WSDL element
<types>: data types transmitted
(starts with XML Schema specifications)
<message>: messages transmitted
<portType>: functions supported
<binding>: specifics of transmissions
<service>: how to access it
18
SOAP: A Description
Industry standard message format for
sending and receiving data between a web
services consumer and a web service
provider
SOAP Message
SOAP Part
SOAP Envelope
SOAP
Header
SOAP Body
Attachment Part
(optional)
Attachment Part
(optional)
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getProductDetails xmlns="http://warehouse.example.com/ws">
<productID>827635</productID>
</getProductDetails>
</soap:Body>
</soap:Envelope>
22
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getProductDetailsResponse xmlns="http://warehouse.example.com/ws">
<getProductDetailsResult>
<productName>Toptimate 3-Piece Set</productName>
<productID>827635</productID>
<description>3-Piece luggage set. Black Polyester.</description>
<price>96.50</price>
<inStock>true</inStock>
</getProductDetailsResult>
</getProductDetailsResponse>
</soap:Body>
</soap:Envelope>
23
24
25
Application
Application
Service
Service
Interface
Application
Application
Application
Application
Service
Service
Interface
Interface
Interface
Interface
Interface
Interface
Service
Service
Service
Service
= interface
Rich business
abstractions
describe the
application
interface
Business
applications and
their interfaces
become
reusable
27
Service
Interface
Service
Service
Interface
Interface
into this
Service
Service
Service
Service
Interface
Interface
Interface
Service
Service
Service
Service
Decouples the
point-to-point
connections
from the
interfaces
Allows for
dynamic
selection,
substitution, and
matching
Service
Service
Enables more
flexible coupling
and decoupling of
the applications
Service
Service
Enables you to
find both the
applications and
the interfaces for
re-use
SOA Foundation
WebSphere Integration Developer*
Rational Application Developer*
Process:
WebSphere Process Server*
WebSphere ESB* & Message Broker*
WebSphere Partner Gateway & Adapters
People:
WebSphere Portal*
WebSphere Everyplace Deployment*
Workplace Collaboration Services*
Information:
IDS/DB2
WebSphere Information Integrator*
30
Business
Intelligence
Content
Management
Information Integration
Data Management
32
Standards-based
SQL, XQuery,
JSR170, XML,
Web Services,
JDBC, UIMA
Virtualized
In Context
Security
Role
Task
Information Services
Manages diverse
data and content in a
unified manner
WS
SQL
WS
Fnctn
WS
SP
33
Data Server
JDBC, ADO.NET,
ODBC, CLI etc.
WS
SELECT *
CALL
sp_Q
CALL
WS
Application
34
SOAP
XML
tyon
SELECT
SELECT
sp_A
pply
Disc
oun
and
getQtyOnH
data
WS
Hand
sp_QtyOnHand
sp_QtyOnHand
WS
sp_ApplyDiscount
sp_ApplyDiscount
IDS
Web Services
Web
Services
Table
Functions
Web
Services
Table Functions
Web
Services
Table Functions
Table Functions
SP calling Web Services
SP calling Web Services
SP calling Web Services
SP calling Web Services
36
Application
SOAP
XML
Web Service
getTemp
JDBC, ADO.NET,
ODBC, CLI etc.
SELECT employee.id
employee.id AS
AS ID,
ID,
SELECT
employee.name,
employee.name,
employee.zipcode
employee.zipcode
FROM
FROM
employee
employee
WHERE
WHERE
employee.id == 10
10
employee.id
37
IDS
employee
IDS
JDBC, ADO.NET,
ODBC, CLI etc.
SELECT employee.id
employee.id AS
AS ID,
ID,
SELECT
employee.name,
employee.name,
getTemp(employee.zipcode)
getTemp(employee.zipcode)
FROM
FROM
employee
employee
WHERE
WHERE
employee.id == 10
10
employee.id
38
Web Service
getTemp
Web Service
getTemp
udf_getTemp
function
employee
39
IDS
Web Services
Web
Services
Table
Functions
Web
Services
Table Functions
MQ
Table Functions
Table Functions
ESB
40
Examples
Verify customer addresses in real time
Application
JDBC, ADO.NET,
ODBC, CLI etc.
IDS
WebSphere
Quality Stage
sp_validateAddress
stored procedure
tr_newCustomer
trigger
INSERT INTO
INTO customer
customer
INSERT
VALUES (customer
(customer address
address data)
data)
VALUES
41
customer
Examples
Develop new sales channel
Application
JDBC, ADO.NET,
ODBC, CLI etc.
IDS
eBay
sp_sellItem
stored procedure
Amazon.com
tr_newItem
trigger
INSERT INTO
INTO overstock
overstock
INSERT
VALUES (overstock
(overstock item
item data)
data)
VALUES
42
overstock
Summary
SOA and Web Services are not as scary or new and different as
acronyms may imply. Just a set of standards-based architecture
patterns for building distributed systems.
SOA deploys to an existing IT infrastructure and IBM SOA offers
comprehensive solutions for overlaying SOA on top.
DB2 is already SOA-enabled:
43