You are on page 1of 12

Web Services

and
Service-Oriented Architecture

Challenges to Implement Todays on demand,


Server-Side Applications
How do I manage transactions?
How do my applications find the
components they need?

WebSphere/J2EE

How do I easily access other


applications and data in a
consistent manner?

.NET

Which one is best on the


servers?

How do I optimize for performance?


How do I handle security?
How do I expose my applications to be
used by any client?

CTS7-07 Web Services and SOA.ppt

Friendly Finance

Key Ideas


Implement application functions as Services that can


be called by any client
Interoperability based on open standards
 Well Defined Interfaces
 Platform Independence
 Reusable components
 Tools to support this model


Web Services

CTS7-07 Web Services and SOA.ppt

Web Services Introduction

2
Find service
description

3
Create client from
service
description

Service
Requester

Client

Runtime Bind to
service

Access service
(SOAP/HTTP)

Web Services
Runtime

Create
service
description
(WSDL)
Service
Provider
Service
Description
(WSDL)
Web
Service

Web Services
Runtime

CTS7-07 Web Services and SOA.ppt

Service Description Defined By WSDL




Web Services Description Language


(WSDL) written in XML




Abstract descriptions of operations


Input and output parameters and data
types
Implementation language neutral

Service
Provider

Service
Description
(WSDL)

Service
Description
(WSDL)

Service
Interface

What it does

Web
Service

Service
Implementation

How it communicates
Where it resides

Complete Description of a Network


Service or Component
Service Interface


Service Implementation

Web Services
Runtime

Development Time Tool





Provider uses it to document their


service
Consumer uses it to generate client
code to access service
5

CTS7-07 Web Services and SOA.ppt

Demo: Web Services Interoperability

UDDI

L
SD

VB.NET
client

Build client proxy with


Visual Studio .NET

Built with
WebSphere Studio
Application Developer

W
SD
L

Find WSDL in UDDI

XML / SOAP / HTTP

WebSphere
Web Service

Run Time and Development Time Interoperability


CTS7-07 Web Services and SOA.ppt

How it Works Run Time


SOAP Header
SOAP Body

SOAP Envelope

Service
Requester

<?xml version="1.0" encoding="UTF-8"?>


<SOAP:Envelope xmlns:SOAP="http://schemas>
<SOAP:Body>

Service
Provider

<getQuote xmlns="http://cts.ibm.com">
<symbol>IBM</symbol>

Client

</getQuote>
</SOAP:Body>
</SOAP:Envelope>

Web Services
Runtime

Web
Service

Web Services
Runtime

CTS7-07 Web Services and SOA.ppt

How it Works Run Time

<?xml version="1.0" encoding="UTF-8"?>


<SOAP:Envelope xmlns:SOAP="http://schemas>
<SOAP:Body>

Service
Requester

<getQuoteResponse xmlns="http://cts.ibm.com">
<Value>96.2</Value>
</getQuote>
</SOAP:Body>

Service
Provider

</SOAP:Envelope>

Client

Web
Service

Web Services
Runtime

Web Services
Runtime
SOAP Header
SOAP Envelope
CTS7-07 Web Services and SOA.ppt

SOAP Body
8

DEMO:
WebSphere Interoperability with Microsoft Office

WebSphere
Application
Server

Web Service
(SOAP/http)

CTS7-07 Web Services and SOA.ppt

Ensuring Interoperability: WS-I




Web Services Interoperability Organization (WS-I)






An open industry group chartered to promote Web services interoperability.


144 members.
http://www.ws-i.org

WS-I published the Basic Profile 1.0 in August 2003.




Profile contains implementation guidelines for the core Web services


specifications:

These guidelines define how these specifications should be used to develop


interoperable Web services.

XML 1.0, XML Schema 1.0, SOAP 1.1, WSDL 1.1 and UDDI 2.0.

WebSphere Studio includes tools to help you check


conformance to the Basic Profile 1.0



Validate WSDL
Validate SOAP messages
CTS7-07 Web Services and SOA.ppt

10

A Typical Deployment Strategy


Browser

HT
Windows, LINUX

.NET
Application

Windows

ML
/H

TTP

Web Service

TP
HT

Mobile
Devices

Client-Side

WebSphere
Application
Server
Windows, LINUX,
UNIX, OS/400, zSeries

Server-Side
11

CTS7-07 Web Services and SOA.ppt

Schlumberger

Web
Services

J2EE:
WebSphere
WebLogic
JBOSS

Windows .NET
Visual Studio .NET




Schlumberger chose J2EE to maximize the number of server


environments in which their applications could be deployed
Client side uses rich client for graphical displays of seismic data
CTS7-07 Web Services and SOA.ppt

12

Web Services at Cerner


Cerner is a leading
software vendor ISV in the
health care industry
Over 50% of U.S. hospitals
use Cerner solutions
Solution: WebSphere
servers support browsers
and Microsoft desktop
clients

Browser

Web
Services

WebSphere
Application
Server

WebSphere Studio
Windows.NET
VisualStudio .NET

13

CTS7-07 Web Services and SOA.ppt

Expose Existing Objects as Web Services


OK, I see that interoperability is
possible through web services.
But how do I get my legacy
applications to talk web
services?
Expose legacy applications
as web services WebSphere Studio has
wizards to expose different
objects as web services
Friendly Finance

IBM
IBM
CTS7-07 Web Services and SOA.ppt

14

Bank of Montreal: Expose CICS Transactions as


Web Services

.Net C# Client
Drivers

.Net C#
W2K

IBM HTTP
Server (SSL)

SOAP

HTTP(S)

WebSphere
Edge
eNetwork
Dispatcher

SOAP
HTTP(S)

CICS
CICS
Transaction
Transaction
Gateway
Gateway
Server

WebSphere
Application
Server V5.0

COMMAREA

TCP/IP

CICS

IBM NetVista M41


2GHz 786M Ram
CTG Client

zOS

W2K / AIX
2 IBM x360 4-way Xeon 1.5GHz
or
2 IBM p660 4-way Power4 700MHz
(p630 4-way Power4 1GHz)

IBM z900 1C3

CTS7-07 Web Services and SOA.ppt

15

Extending Web Services


Whats good about
Web Services?

What would be
even better?

Interoperable Components
 Well Defined Interfaces
 Platform Independence
 Reusability









Interoperable Components
Well Defined Interfaces
Platform Independence
Reusability
Extend point-to-point
interactions to Flows
Extend interaction methods
beyond SOAP

Service Oriented Architecture


CTS7-07 Web Services and SOA.ppt

16

Service Oriented Architecture An Example


Friendly Finance Credit Score Application
On Demand Style Application Involves Sequence of Steps Requiring
Interaction with Other Systems
1

Get Customer
Credit Score
(internal)

Get Realtime
Credit Score
(external)

Combine
Credit
Scores

Record
Combined
Credit Score

COBOL
application
running under
CICS

Business
Partner Credit
Score Service

Java Program
Logic

Credit Score'
Database
17

CTS7-07 Web Services and SOA.ppt

WebSphere's Service Oriented Architecture


Based on Open Standards
Get Credit Score Flow
START

Get
Customer
Credit
Score
WSDL

CICS
Service






Get
Realtime
Credit
Score
WSDL

Combine
Credit
Scores
WSDL

Credit Score
Web Service

Java
Logic

Record
Combined
Credit
Score

END

WSDL

EJB
Service

Services are easy-to-use code components


Services are described using WSDL, including binding information
Runtime invocation (binding) can be SOAP, EJB RMI, JCA Connectors
Services can be used as steps in a flow
CTS7-07 Web Services and SOA.ppt

18

Visual Tooling Makes Business Logic Flow


Programming Even Easier
Visual flow
composition
editor in
WebSphere
Studio

Buildtime Environment

Get Credit Score Flow


START

Get
Customer
Credit
Score
WSDL
CICS
Servic
e

Runtime Environment

Get
Realtime
Credit
Score
WSDL

Combine
Credit
Scores
WSDL

Credit Score
Web Service

Java
Logic

Record
Stock
Order
WSDL
EJB
Servic
e

Flow Engine
WebSphere Application Server
CTS7-07 Web Services and SOA.ppt

END

Flow
described in
BPEL

Flow
executed by
runtime
engine
19

Service Oriented Architecture (SOA)


A system architecture in which application functions are built
as components (services) that are loosely-coupled and welldefined to support interoperability, and to improve flexibility
and re-use
Application functions are exposed as services
A service has a standardized interface
Services exchange messages through a service integration bus

Tools to quickly assemble services into end-to-end business


process flows

CTS7-07 Web Services and SOA.ppt

20

10

Service Oriented Architecture (SOA)


A framework for incorporating Web services across and
between enterprises
Portal Service
Credit Score
Web Service
CICS Customer
Information

Combine
Credit Scores

Database

EJB Service

Java Logic

CTS7-07 Web Services and SOA.ppt

21

Service Oriented Architecture is a Requirement for


on Demand Businesses

Easy construction of end-to-end business


process applications

Flexibility to change process steps quickly

Freedom from platform dependency issues

on Demand Agility!

CTS7-07 Web Services and SOA.ppt

22

11

IBM support for SOA

Other vendors talk about Service


Oriented Architecture

IBM supports it now!

Friendly Finance

IBM
IBM
CTS7-07 Web Services and SOA.ppt

23

Thank You!

CTS7-07 Web Services and SOA.ppt

24

12