Top Banner
© 2009 IBM Corporation May 25, 2022 SOA and Web Services Jacques Roy [email protected]
40

0207-Service Oriented Architecture and Web Services.ppt

Jan 15, 2015

Download

Documents

Zubin67

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 0207-Service Oriented Architecture and Web Services.ppt

© 2009 IBM CorporationApril 10, 2023

SOA and Web Services

Jacques [email protected]

Page 2: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation2

Toward a Service Oriented Architecture

Technologies leading to SOA– Remote Procedure Calls– Corba

Concepts– Abstractions – business tasks– Standards

Page 3: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation3

Information as a ServiceMoving From a Project-Based to a Flexible Architecture (SOA)

and more…

abc…IBM

IBM ContentManager Oraclexyz…

Heterogeneous Applications & Information

Insight

Information as a ServiceOptimize, Virtualize, Integrate, Accelerate

Data & Content

BusinessContext

InsightfulRelationships

Master Data, Entity Analytics, Decision Portals, Executive Dashboards,Industry Data Models

Extracted or Real-time

Standards-based

e.g., XQuery, JSR170, JDBC, Web Services...

Processes PeopleTools & Applications

Page 4: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation4

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 1990’s 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

Page 5: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation5

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

IBM view for an “on Demand Business”An on demand business is an enterprise whose

business processes – integrated, end-to-end, across the company and with key partners,

suppliers and customers – can respond with speed to any customer demand, market

opportunity or external threat.

IBM view for an “on Demand Business”An on demand business is an enterprise whose

business processes – integrated, end-to-end, across the company and with key partners,

suppliers and customers – can respond with speed to any customer demand, market

opportunity or external threat.

Page 6: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation6

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

Page 7: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation7

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

Page 8: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation8

SOA Reference ArchitectureModel of the Logical Architecture

Business Innovation & Optimization Services

Provide for better decision-making with real-time business information

Dev

elo

pm

ent

Ser

vice

s

Integrated environment for design

and creation of solution

assets

Interaction Services

Enables collaboration between people,

processes & information

Process Services

Orchestrate and automate business

processes

Information Services

Manages diverse data and content in a

unified manner

ESB Enable inter-connectivity between services

Partner Services

Connect with trading partners

Business App ServicesBuild on a robust,

scaleable, and secure services

environment

Ap

ps

&

Info

As

setsAccess Services

Facilitate interactions with existing information and application assets

IT S

ervi

ceM

anag

emen

t

Manage and secure services,

applications &

resources

Infrastructure ServicesOptimizes throughput,

availability and performance

Data access

Page 9: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation9

SOA Standards – Current and Emerging

Service Composition

Transports

Messaging

Description

Quality ofExperience(QoX)

HTTP/HTTPS SMTP RMI / IIOP

XSD WSDL

SOAPXML WS-Addressing WS-Renewable References

WS-Metadata ExchangeWS-Policy

WS-Service Group

WS-Resource Properties

JMS

WS-Security

WS-Reliable Messaging WS-Transaction

WS-Resource Lifetime

WS-Base Faults

WS-Notification BPEL4WS

Current Stack

Business Integration

…Emerging

Stack

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)

Page 10: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation10

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

Page 11: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation11

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 machine-

processable 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.

Page 12: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation12

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!

Page 13: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation13

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– Let’s communicate!

DiscoveryUDDIUDDI

MessagingSOAPSOAP

DescriptionWSDLWSDL

Page 14: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation14

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

Page 15: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation15

Web Services Interaction

UDDIService1Service1

Web ServiceService1Service1

Application

Register

Dis

cove

r

WSDL

SOAP response

SOAP request

Page 16: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation16

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.

Page 17: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation17

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.

Page 18: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation18

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

Page 19: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation21

SOAP: A Description

Industry standard message format for sending and receiving data between a web services consumer and a web service provider

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 Message

Attachment Part(optional)

Attachment Part(optional)

SOAP Part

SOAP Envelope

SOAP Body

SOAP Header

SOAP used to stand for Simple Object Access Protocol

Page 20: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation22

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>

Page 21: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation23

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>

Page 22: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation24

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

Page 23: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation25

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.

Page 24: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation26

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.

Page 25: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation27

Web Services decouples interfaces from applications…

Turn this … …into this (web services).Application Application Application Application

ApplicationApplicationApplicationApplication

Business applications and their interfaces become reusable

Decouples the interfaces from the business applications

The number and complexity of the interfaces is reduced

Rich business abstractions describe the application interface

But separate connection points still leaving bloated interfaces ….

Service Service Service Service

Service ServiceService Service

Interface Interface Interface

Interface Interface Interface Interface

= interface

Page 26: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation28

The ESBus shrinks those interfaces further

RESULT Greater Business Responsiveness

Allows for dynamic selection, substitution, and matching

Enables you to find both the applications and the interfaces for re-use

Decouples the point-to-point connections from the interfaces

Turn this (web services)…

Enables more flexible coupling and decoupling of the applications

…into this

Service Service Service Service

Service ServiceService Service

Enterprise Service Bus

Service Service Service Service

Service ServiceService Service

Interface Interface Interface

Interface Interface Interface Interface

Page 27: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation30

SOA Foundation

Process:WebSphere Process Server*WebSphere ESB* & Message Broker* WebSphere Partner Gateway & Adapters

People:WebSphere Portal*WebSphere Everyplace Deployment*Workplace Collaboration Services*

Information:

IDS/DB2WebSphere Information Integrator*

WebSphere Business Monitor*WebSphere Application Server & Extended deployment*Tivoli Composite Application Manager*Tivoli Identity & Access Manager

WebSphere Business Modeler* Rational Software Architect*

WebSphere Integration Developer*Rational Application Developer*

* New or Enhanced

Page 28: 0207-Service Oriented Architecture and Web Services.ppt

© 2009 IBM CorporationApril 10, 2023

IBM Data Servers in the SOA World

A new opportunity

Page 29: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation32

SOA Reference Architecture: Information Services

Master Data Management

Information Integration

Data Management

BusinessIntelligence

ContentManagement

Information Services

Manages diverse data and content in a

unified manner

Standards-based SQL, XQuery,

JSR170, XML, Web Services, JDBC, UIMA

Virtualized

In Context Security Role Task

The Heart of Information On Demand

Page 30: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation33

Data Servers and SOAExposing DB objects as Services rather than data

IBM Data Servers

WS

SP

WS

SQL

WS

Fnctn

Information Services

Manages diverse data and content in a

unified manner

Page 31: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation34

data

JDBC, ADO.NET,ODBC, CLI etc.

Exposing IDS objects as Web Services

Data Server

WSWS

sp_ApplyDiscountsp_ApplyDiscount

WSWS

SELECTSELECT

WS

sp_QtyOnHandsp_QtyOnHand

CALL sp_QtyonHand

SQL-basedApplication

SELECT * …

WSApplication

getQtyOnHand

CALL sp_ApplyDiscount

SOAP

XML

Page 32: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation35

Access to data as a serviceKey value proposition

1. Instantly transform existing stored procedures into a collection of reusable services.

2. DRY = Don’t Repeat Yourself. Build new logic once and make it accessible via SQL or as a service

3. Instantly SOA enable mainframe and iSeries data

Page 33: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation36

Consuming Web Services to get real time data

IDS

SP calling Web Services

Web Services Table Functions

SP calling Web ServicesSP calling Web Services

SP calling Web Services

Web Services Table FunctionsWeb Services

Table FunctionsWeb Services Table Functions

Page 34: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation37

Consuming data from Web Services

IDS

Web ServicegetTemp

SELECT employee.id AS ID,

employee.name,

employee.zipcode

FROM

employee

WHERE

employee.id = ‘10’

SELECT employee.id AS ID,

employee.name,

employee.zipcode

FROM

employee

WHERE

employee.id = ‘10’

employee

JDBC, ADO.NET,ODBC, CLI etc.

ApplicationSOAP

XML

Page 35: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation38

Consuming data as Web ServicesA better way

IDS

Web ServicegetTemp

udf_getTempfunctionSELECT employee.id AS ID,

employee.name,

getTemp(employee.zipcode)

FROM

employee

WHERE

employee.id = ‘10’

SELECT employee.id AS ID,

employee.name,

getTemp(employee.zipcode)

FROM

employee

WHERE

employee.id = ‘10’

employee

JDBC, ADO.NET,ODBC, CLI etc.

Application Web ServicegetTemp

Page 36: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation39

Access to data as a serviceKey value proposition

1. DRY = Don’t 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

Page 37: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation40

IDS and SOA: Plugging in to ESB

IDS

SP calling Web Services

Web Services Table Functions

SP calling Web ServicesSP calling Web Services

SP calling MQ

Web Services Table FunctionsWeb Services

Table FunctionsMQ Table Functions

ESB

Page 38: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation41

Examples …Verify customer addresses in real time

IDS WebSphereQuality Stage

tr_newCustomertrigger

INSERT INTO customer

VALUES (customer address data)INSERT INTO customer

VALUES (customer address data)

customer

JDBC, ADO.NET,ODBC, CLI etc.

Application

sp_validateAddressstored procedure

Page 39: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation42

Examples …Develop new sales channel

IDS eBay

tr_newItemtrigger

INSERT INTO overstock

VALUES (overstock item data)INSERT INTO overstock

VALUES (overstock item data)

overstock

JDBC, ADO.NET,ODBC, CLI etc.

Application

sp_sellItemstored procedure

Amazon.com

Page 40: 0207-Service Oriented Architecture and Web Services.ppt

Information Management – Informix

© 2009 IBM Corporation43

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. Let’s go do it!