Вы находитесь на странице: 1из 40

SOA and Web Services

Jacques Roy
jacquesr@us.ibm.com

June 16, 2015

2009 IBM Corporation

Information Management Informix

Toward a Service Oriented Architecture


Technologies leading to SOA
Remote Procedure Calls
Corba

Concepts
Abstractions business tasks
Standards

2009 IBM Corporation

Information Management Informix

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

Optimize, Virtualize, Integrate, Accelerate

Master Data, Entity


Analytics, Decision
Portals, Executive
Dashboards,
Industry Data Models
Extracted or Real-time

Heterogeneous Applications & Information

IBM
3

abc

IBM
Content
Manager

and
more
xyz

Oracle
2009 IBM Corporation

Information Management Informix

The Integration Challenge


In the 1980s and early 1990s we were buying best of breed point
solutions for automating specific business tasks.
Result: islands of automation.
Late 1990s saw a huge push towards integrating islands of
automation in to cohesive end-to-end systems:
Large in-house integration projects
Huge investments in to integrated product suites for ERP, CRM etc.
Integration is very hard and very expensive:
requires a lot of planning and coordination between all of the systems
involved
Integrated systems become inflexible and unable to adapt to changes in
business processes

2009 IBM Corporation

Information Management Informix

The Role of SOA: Solving the Integration Challenge


Systems that can accommodate new business processes and
new relationships as needed
Systems based on loosely coupled distributed components
Simplify implementations by making components autonomous
and allow them to be used when needed
Allow selection of best-of-breed components to lower cost and
deliver higher business value
IBMview
viewfor
foran
anon
onDemand
DemandBusiness
Business
IBM

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

2009 IBM Corporation

Information Management Informix

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.

SOA is not a product


6

2009 IBM Corporation

Information Management Informix

Why is SOA Different?


Loose coupling
No interdependencies between systems

Reuses existing technology infrastructure


Everything is based on XML and other industry standards
Platform and language independent
Easy, inexpensive

Industry momentum:
Every player is on board: IBM, Microsoft, SAP, Oracle
Proven interoperability

The timing is right

2009 IBM Corporation

Information Management Informix

SOA Reference Architecture

Data access

Model of the Logical Architecture

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

Provide for better decision-making


with real-time business information

Enable inter-connectivity between services

Business App Services


Build on a robust,
scaleable, and
secure services
environment

Access Services
Facilitate interactions
with existing information
and application assets

Apps &
Info Assets

Development
Services

Business Innovation & Optimization Services

Manage
and secure
services,
applications
&
resources

Infrastructure Services
Optimizes throughput,
availability and performance

2009 IBM Corporation

Information Management Informix

SOA Standards Current and Emerging


Emerging
Stack

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)

Evolving industry semantics


(RosettaNet, AIAG, ACORD, FIXML, OTAXML, UCCnet, etc.)
Service-oriented Business Resource Description & Interaction Patterns (WS-Collab)

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

2009 IBM Corporation

Information Management Informix

Why Are CIOs Looking at SOA?


To save money:
Integrated systems save money
Open standards and common components means lower labor
cost and bigger pool of skill
Extend the life of current applications and other assets while
building new systems
Pay as you go schemes for web services are possible

and to help the business make money:


Open up new business opportunities: new markets, new partners
Bring products and services to market faster

10

2009 IBM Corporation

Information Management Informix

What is a Web Service? (W3C definition)


A Web service is a software system designed to support
interoperable machine-to-machine interaction over a
network. It has an interface described in a machineprocessable format (specifically WSDL). Other systems
interact with the Web service in a manner prescribed by its
description using SOAP-messages, typically conveyed
using HTTP with an XML serialization in conjunction with
other Web-related standards.

11

2009 IBM Corporation

Information Management Informix

What is a Web Service: A Simpler Definition


A Web Service is a standards-based way for an application to
call a function over a network and to do it without having to
know:
the location where the function will be executed,
the platform where the function will be run,
the programming language it is written in, or even
who built it.
Most important: Web Services are Easy!

12

2009 IBM Corporation

Information Management Informix

Web Services: The 3 things at the core


1. Discovery
Where is the service?

2. Description
What service does it offer?
How do I use it?

3. Messaging
Lets communicate!

Discovery
UDDI
Description
WSDL
Messaging
SOAP

13

2009 IBM Corporation

Information Management Informix

Web Service: Standard is Key


WSDL is used to describe the function(s) that an application
will be calling documenting in a standard way its entry points,
parameters and output
XML is used to carry the values of parameters and the
outputs of the function
SOAP is used as the messaging protocol that carries content
(XML) over a network transport (typically HTTP)
HTTP is used as the network transport layer

14

2009 IBM Corporation

Information Management Informix

Web Services Interaction

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

Information Management Informix

Web Services Development and Deployment


Tools should be used for development
Ex: IBM Data Studio

Runtimes are expected to run services


Websphere Application Servers, Geronimo, etc.
Apache Soap (based on IBM SOAP4J) with Xerces XML parser
(also contributed by IBM)

Other tools
WSDL generation, UDDI, etc.

16

2009 IBM Corporation

Information Management Informix

WSDL: Web Service Description Language


WSDL (Web Services Description Language) is a public
description of the interfaces offered by a web service.
Expressed in XML, it provides machine readable document
that provides a calling application all of the information
required to interact with a web service.

17

2009 IBM Corporation

Information Management Informix

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

2009 IBM Corporation

Information Management Informix

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 messages are XML documents which


have an envelope and:
Header (optional): contains information
about the message such as date/time it was
sent or security information
Body: contains the message itself
Standard messaging protocol maintained
by the W3C XML Protocol Working Group.

SOAP Envelope
SOAP
Header
SOAP Body

Attachment Part
(optional)
Attachment Part
(optional)

SOAP used to stand for Simple Object Access Protocol


21

2009 IBM Corporation

Information Management Informix

SOAP: Request Example


Call to a fictional web service to get details on product
with product id=827635

<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

2009 IBM Corporation

Information Management Informix

SOAP: Response Example


Possible response to a request for product information:

<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

2009 IBM Corporation

Information Management Informix

SOAP: Give it a REST


REST: REpresentation State Transfer
Restful: Follows the REST principles
Not strictly for web services
Term used loosely as a method of sending information
over HTTP without using a messaging envelope

24

2009 IBM Corporation

Information Management Informix

Enterprise Service Bus


Enterprise Service Bus is a set of patterns that can be
applied to implement SOA-based systems. These
patterns make extensive use of messaging and event
notification to deliver core values.

25

2009 IBM Corporation

Information Management Informix

Enterprise Service Bus


Enterprise Service Bus is a set of patterns that can be applied to implement
SOA-based systems. These patterns make extensive use of messaging
and event notification to deliver core values.
ESB is a intermediary between the clients that consume services and
various systems that provide these services.
Instead of client talking directly to a service provider, requests are routed
through a middleware system that handles the specific details of locating
the service provider, negotiating integration with the service provider,
interacting with the service provider, and so on.
ESB replaces RPC-like synchronous Web Service invocations with
message-based and event-based interactions.
ESB enhances traditional message-based systems with discovery and
self-describing characteristics typically attributed to Web Services.
26

2009 IBM Corporation

Information Management Informix

Web Services decouples interfaces from


applications
Turn this
Application

Application

Application

into this (web services).


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

Decouples the The number


interfaces
and
from the
complexity of
business
the interfaces
applications
is reduced

Business
applications and
their interfaces
become
reusable

But separate connection points still leaving bloated interfaces .

27

2009 IBM Corporation

Information Management Informix

The ESBus shrinks those interfaces further


Turn this (web services)
Service

Service

Interface

Service

Service

Interface

Interface

into this
Service

Service

Service

Service

Enterprise Service Bus


Interface

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

RESULT Greater Business Responsiveness


28

2009 IBM Corporation

Information Management Informix

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*

WebSphere Business Modeler*


Rational Software Architect*

30

WebSphere Business Monitor*


WebSphere Application Server & Extended deployment*
Tivoli Composite Application Manager*
Tivoli Identity & Access Manager * New or Enhanced
2009 IBM Corporation

IBM Data Servers in the SOA World


A new opportunity

June 16, 2015

2009 IBM Corporation

Information Management Informix

SOA Reference Architecture: Information Services


The Heart of Information On Demand

Master Data Management


Information Services
Manages diverse
data and content in a
unified manner

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

2009 IBM Corporation

Information Management Informix

Data Servers and SOA


Exposing DB objects as Services rather than
data
IBM Data Servers

Information Services
Manages diverse
data and content in a
unified manner

WS
SQL
WS
Fnctn
WS
SP

33

2009 IBM Corporation

Information Management Informix

Exposing IDS objects as Web Services


SQL-based
Application

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

2009 IBM Corporation

Information Management Informix

Access to data as a service


Key value proposition

1. Instantly transform existing stored


procedures into a collection of
reusable services.
2. DRY = Dont Repeat Yourself. Build
new logic once and make it accessible
via SQL or as a service
3. Instantly SOA enable mainframe and
iSeries data
35

2009 IBM Corporation

Information Management Informix

Consuming Web Services to get real time data

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

2009 IBM Corporation

Information Management Informix

Consuming data from Web Services

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

2009 IBM Corporation

Information Management Informix

Consuming data as Web Services


A better way
Application

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

2009 IBM Corporation

Information Management Informix

Access to data as a service


Key value proposition

1. DRY = Dont Repeat Yourself. Build


reusable services instead of putting
the same logic in every application
2. Gain flexibility of proper data
architecture and data placement
3. Build agile applications that are able
to respond to business needs

39

2009 IBM Corporation

Information Management Informix

IDS and SOA: Plugging in to ESB

IDS
Web Services
Web
Services
Table
Functions
Web
Services
Table Functions
MQ
Table Functions
Table Functions

ESB

40

SP calling Web Services


SP calling Web Services
SP calling Web Services
SP calling MQ

2009 IBM Corporation

Information Management Informix

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

2009 IBM Corporation

Information Management Informix

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

2009 IBM Corporation

Information Management Informix

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:

Tools and facilities to expose DB2 objects as a service


Tools and facilities to consume data delivered through Web
Services
Tools coming to bring business perspective to DB2 web services
(BPEL)
Existing investments in stored procedures and functions are going
to pay off in new ways.
It is good and it is easy. Lets go do it!

43

2009 IBM Corporation

Вам также может понравиться