db2 & web services - · pdf filedb2 & web services l i g h ... dynamic query web...

22
Tony Skinner Transaction Processing Consultant IBM Certified System Designer [email protected] DB2 & Web Services L I G H T Y E A R Principal sources: Dirk Wollscheid, IBM Silicon Valley Lab. Arthur Ryman, IBM Toronto Lab. Weak Integration DB2 & Web Services DB2 Version 8 Road Show December 2003 Tony Skinner Lightyear Consulting Page 1-2

Upload: buidang

Post on 04-Feb-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DB2 & Web Services - · PDF fileDB2 & Web Services L I G H ... Dynamic Query Web Service Allows execution of SQL statements without DADXes ... WebSphere Business Integrator, SAP, Siebel,

Tony SkinnerTransaction Processing Consultant

IBM Certified System Designer

[email protected]

DB2 & Web Services

L I G H T Y E A R

Principal sources:Dirk Wollscheid, IBM Silicon Valley Lab.Arthur Ryman, IBM Toronto Lab.

Weak Integration

DB2 & Web Services DB2 Version 8 Road Show December 2003

Tony Skinner Lightyear Consulting Page 1-2

Page 2: DB2 & Web Services - · PDF fileDB2 & Web Services L I G H ... Dynamic Query Web Service Allows execution of SQL statements without DADXes ... WebSphere Business Integrator, SAP, Siebel,

Improved Integration

Ensure the I.T. infrastructure is flexible

"The objectives of a business organization are only partially known at any given time, and are always subject to change."

Source: 'Enterprise Application Integation & Information Flow',

by John Mann, The Yankee Group

This constantly changing and often unpredictable environment creates a major challenge for those seeking to justify long-term investment, particularly in I.T...

...A more realisitic approach is to build flexibility into I.T. systems to ensure that they can be configured, augmented or replaced when change inevitably occurs."

Source: 'Information Integration',by Spike Cavell & Co.

DB2 & Web Services DB2 Version 8 Road Show December 2003

Tony Skinner Lightyear Consulting Page 3-4

Page 3: DB2 & Web Services - · PDF fileDB2 & Web Services L I G H ... Dynamic Query Web Service Allows execution of SQL statements without DADXes ... WebSphere Business Integrator, SAP, Siebel,

Architecture Tightly Coupled Loosely CoupledApplication DevelopmentResponse Time = =Re-use software components dataBusiness to BusinessCross-PlatformAvailabilityScale-ability

Distributed Architectures

Service-Oriented Architecture

Transport

Service

Description

DB2 & Web Services DB2 Version 8 Road Show December 2003

Tony Skinner Lightyear Consulting Page 5-6

Page 4: DB2 & Web Services - · PDF fileDB2 & Web Services L I G H ... Dynamic Query Web Service Allows execution of SQL statements without DADXes ... WebSphere Business Integrator, SAP, Siebel,

Web Services

Conceptually, Web Services represent a model in which discrete tasks within e-business processes are distributed widely throughout a value net.

Specifically, Web Services are a stack of emerging standards that describe a service-oriented, component-based application architecture. 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.

http://www.w3.org/TR/ws-arch/#whatis Gartner define Web Services as software components that employ one or more of SOAP, WSDL, or UDDI

to perform distributed computing.

Using these technologies constitutes a Web service; using all of them is not required.

Web Services Protocol Stack

Processes:Discovery, Aggregation, Choreography, ...

Messages:

CommunicationsHTTP, SMTP, FTP, JMS, IIOP, ...

SOAP ExtensionsCorrelation, Reliability, Transactions, ...

SOAP

Web Services Descriptions (WSDL)

Descriptions:

Base Technologies:

Schema

XML

DTD

Security

Management

www.w3.org/TR/ws-arch/

DB2 & Web Services DB2 Version 8 Road Show December 2003

Tony Skinner Lightyear Consulting Page 7-8

Page 5: DB2 & Web Services - · PDF fileDB2 & Web Services L I G H ... Dynamic Query Web Service Allows execution of SQL statements without DADXes ... WebSphere Business Integrator, SAP, Siebel,

XML

Extensible Markup LanguageSelf-defining data structure protocolText-only -- ideal for cross-platform data

for example:

<?xml version=‘1.0’> <CustomerBalance> <CustomerNumber>123456</CustomerNumber> <AccountBalance>$5,000</AccountBalanace>

</CustomerBalance>

DTD: defines the data model for an XML documentSchema: similar to DTD, with some advantages, e.g.

data type of each element and attributehas a name, aka 'schema name space'

www.w3c.org/XML

SOAP Specification

(originally Simple Object Access Protocol, now only a name)

Message Format:defines what is in a message

Message Elements:how to parse the message

Encoding rules:serialization mechanisms for encoding applicationdefined data types

Representation:how to represent remote procedure calls and responses

www.w3.org/TR/SOAP

DB2 & Web Services DB2 Version 8 Road Show December 2003

Tony Skinner Lightyear Consulting Page 9-10

Page 6: DB2 & Web Services - · PDF fileDB2 & Web Services L I G H ... Dynamic Query Web Service Allows execution of SQL statements without DADXes ... WebSphere Business Integrator, SAP, Siebel,

SOAP Message Types

RequestContains invoked service, service operations and input parameters

ResponseReturns output parameters returned from a service invocation

FaultUsed to communicate errors

SOAP Message Structure

EnvelopeRoot element of SOAP message

HeaderUsed to include additional informationMust be immediate child of envelopeMust occur before the body element

BodyContains the method call, and the call arguments

FaultStatus information contained within the SOAP body

<faultcode>: Specify error codes<faultstring>: Textual description of fault<faultactor>: The entity that generated the fault<detail>: Application specific data about the fault

DB2 & Web Services DB2 Version 8 Road Show December 2003

Tony Skinner Lightyear Consulting Page 11-12

Page 7: DB2 & Web Services - · PDF fileDB2 & Web Services L I G H ... Dynamic Query Web Service Allows execution of SQL statements without DADXes ... WebSphere Business Integrator, SAP, Siebel,

Example message

<SOAP:Envelopexmlns:soap="http://schemas.xmlsoap.org/soap/envelope"SOAP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding">

<SOAP:Header> <MyHeader xmlns="http://www.acme.com">

<Username>MyUsername</Username> </MyHeader>

</SOAP:Header>

<SOAP:Body> <ns1:DoSomething xmlns:ns1="urn:MyService">

<in0 xsi:type="xsd:int">300</in0> <in1 xsi:type="xsd:boolean">false</in1>

</ns1:DoSomething> </SOAP:Body>

</SOAP:Envelope>

Namespaces

<SOAP:Envelopexmlns:soap="http://schemas.xmlsoap.org/soap/envelope"SOAP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding">

<SOAP:Header> <MyHeader xmlns="http://www.acme.com">

<Username>MyUsername</Username> </MyHeader>

</SOAP:Header>

<SOAP:Body> <ns1:DoSomething xmlns:ns1="urn:MyService">

<in0 xsi:type="xsd:int">300</in0> <in1 xsi:type="xsd:boolean">false</in1>

</ns1:DoSomething> </SOAP:Body>

</SOAP:Envelope>

DB2 & Web Services DB2 Version 8 Road Show December 2003

Tony Skinner Lightyear Consulting Page 13-14

Page 8: DB2 & Web Services - · PDF fileDB2 & Web Services L I G H ... Dynamic Query Web Service Allows execution of SQL statements without DADXes ... WebSphere Business Integrator, SAP, Siebel,

Encoding

<SOAP:Envelopexmlns:soap="http://schemas.xmlsoap.org/soap/envelope"SOAP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding">

<SOAP:Header> <MyHeader xmlns="http://www.acme.com">

<Username>MyUsername</Username> </MyHeader>

</SOAP:Header>

<SOAP:Body> <ns1:DoSomething xmlns:ns1="urn:MyService">

<in0 xsi:type="xsd:int">300</in0> <in1 xsi:type="xsd:boolean">false</in1>

</ns1:DoSomething> </SOAP:Body>

</SOAP:Envelope>

WSDL

Web Services Description LanguageAn XML language for describing Web services

Describes:What the Web service doesHow to invoke itWhere it is located

...an IDL for Web services

www.w3.org/TR/wsdl

DB2 & Web Services DB2 Version 8 Road Show December 2003

Tony Skinner Lightyear Consulting Page 15-16

Page 9: DB2 & Web Services - · PDF fileDB2 & Web Services L I G H ... Dynamic Query Web Service Allows execution of SQL statements without DADXes ... WebSphere Business Integrator, SAP, Siebel,

WSDL elements

Data Type

Input, Output, Fault

Parameters

Set of Operations

Protocol & data encoding

Endpoint (address for binding)

Method

Service

Port

Binding

Port Type

Operation

Message

Part Type

UDDI

www.uddi.org

Universal Description, Discovery, and Integration

Registry for:Service typesBusinesses Information

Service details

Description: Host common definitions for service interfaces (promote standardization and interoperability)

Discovery: Find service implementations, and the businesses that provide them

Integration: Facilitate aggregation of services in business workflows (promotes B2B integration)

DB2 & Web Services DB2 Version 8 Road Show December 2003

Tony Skinner Lightyear Consulting Page 17-18

Page 10: DB2 & Web Services - · PDF fileDB2 & Web Services L I G H ... Dynamic Query Web Service Allows execution of SQL statements without DADXes ... WebSphere Business Integrator, SAP, Siebel,

UDDI Registry

Service descriptionsBinding information

(green pages)

Business categories:IndustryProduct/ServicesLocation

(yellow pages)

Business NameText descriptionContact infoKnown Identifiers

(white pages)

Puting it all together...

SOAP messagesKey:

ServiceConsumer:

ServiceProvider:

Request/Reply

1

3

2

Web ServicesDirectory:UDDIebXML...

Publish

: WSDL Find: WSDL

4

Bind

DB2 & Web Services DB2 Version 8 Road Show December 2003

Tony Skinner Lightyear Consulting Page 19-20

Page 11: DB2 & Web Services - · PDF fileDB2 & Web Services L I G H ... Dynamic Query Web Service Allows execution of SQL statements without DADXes ... WebSphere Business Integrator, SAP, Siebel,

Example Applications

Private'open' alternative to existing interfaces, such as:

client/serverRPC...

Business to Business'open' versions of proprietary interfaces

for example, alternatives to SAP's IDOC,PeopleSoft's and J. D. Edwards APIs...

Publichundreds of examples already available...

Real Web Services

Query web documents directly from other computer applications:google.com/apis

Locate entertainment, restaurants, and lodging in a given area:zagat.com

Find ATM locations in a given zip code:serviceobjects.com/products/dots_atm_demo.asp

Track the current location and status of a FedEx package:fedex.com/us/tracking

Translate text between two languages:babelfish.altavista.com

DB2 & Web Services DB2 Version 8 Road Show December 2003

Tony Skinner Lightyear Consulting Page 21-22

Page 12: DB2 & Web Services - · PDF fileDB2 & Web Services L I G H ... Dynamic Query Web Service Allows execution of SQL statements without DADXes ... WebSphere Business Integrator, SAP, Siebel,

DB2 II Web Services Overview

Types of DB2 Web Services operations

Any DB2 Stored Proceduresoutput parameters and result sets are returnedresults are tagged using default XML tagging

SQL requests results are tagged using default XML taggingParameters to SQL statement

XML Extender DAD for:DAD (Document Access Definition) describes XML to table mappingAdvanced tagging of XML results from SQLXML shredding into relational dataRetrieving of XML data constructed from relational data

DB2 & Web Services DB2 Version 8 Road Show December 2003

Tony Skinner Lightyear Consulting Page 23-24

Page 13: DB2 & Web Services - · PDF fileDB2 & Web Services L I G H ... Dynamic Query Web Service Allows execution of SQL statements without DADXes ... WebSphere Business Integrator, SAP, Siebel,

Development Scenario

Defining DB2 Web Services

Web Services in DB2 are defined through simple XML files:Users list database operations to be exposed as Web Services

Provider Runtime helps:Deploy Web ServiceGenerate WSDLProvide HTML test environment to run Web ServiceAutomatic regeneration if Web Service definition changes

Platforms:WebSphere (distributed, zSeries, and iSeries)

<DADX>

<operation name="listMeetings">

<documentation>

List meetings on calendar on a certain date.

</documentation>

<query>

<SQL_query>

SELECT * FROM CALENDAR WHERE DATE = :date

</SQL_query>

<parameter name=“date“type="xsd:date"/>

</query>

</operation>

</DADX>

DB2 & Web Services DB2 Version 8 Road Show December 2003

Tony Skinner Lightyear Consulting Page 25-26

Page 14: DB2 & Web Services - · PDF fileDB2 & Web Services L I G H ... Dynamic Query Web Service Allows execution of SQL statements without DADXes ... WebSphere Business Integrator, SAP, Siebel,

Provider Tools SOAP WSDL UDDI

IBM WebSphere StudioETTK (was WSTK)

BEA WebLogic Workshop

Oracle Portal Development Kit

Microsoft Visual Studio .net.net SDK

Sun Forte for JavaWSDP

HP e-Speak Tools

Building Web Services

WebSphere Studio

Tooling enables end-to-end development of DB-oriented Web ServicesCreate SQL queries with SQL editor or XML Extender DADs

Create Web Service definition files (DADX)

Deploying of Web Services to WebSphere and Apache Tomcat

Publishing of WSDL in UDDI

Testing of Web Service

Generation of Java Web Service clients

Generation of Web Service UDFs

DB2 & Web Services DB2 Version 8 Road Show December 2003

Tony Skinner Lightyear Consulting Page 27-28

Page 15: DB2 & Web Services - · PDF fileDB2 & Web Services L I G H ... Dynamic Query Web Service Allows execution of SQL statements without DADXes ... WebSphere Business Integrator, SAP, Siebel,

Example: DB Schema

Example: Query

DB2 & Web Services DB2 Version 8 Road Show December 2003

Tony Skinner Lightyear Consulting Page 29-30

Page 16: DB2 & Web Services - · PDF fileDB2 & Web Services L I G H ... Dynamic Query Web Service Allows execution of SQL statements without DADXes ... WebSphere Business Integrator, SAP, Siebel,

Example: DADX group

Set DADX Group

Properties

Example: DADX file

Generate DADX file

DB2 & Web Services DB2 Version 8 Road Show December 2003

Tony Skinner Lightyear Consulting Page 31-32

Page 17: DB2 & Web Services - · PDF fileDB2 & Web Services L I G H ... Dynamic Query Web Service Allows execution of SQL statements without DADXes ... WebSphere Business Integrator, SAP, Siebel,

Example: DADX content...

Example: Deployment

Choose Registry

DB2 & Web Services DB2 Version 8 Road Show December 2003

Tony Skinner Lightyear Consulting Page 33-34

Page 18: DB2 & Web Services - · PDF fileDB2 & Web Services L I G H ... Dynamic Query Web Service Allows execution of SQL statements without DADXes ... WebSphere Business Integrator, SAP, Siebel,

Test ' selectAllMeetings' operation

Automatically generated test harness

SOAP response message

...DADX content

WebSphere 'Eclipse'

intelligent editor

DB2 & Web Services DB2 Version 8 Road Show December 2003

Tony Skinner Lightyear Consulting Page 35-36

Page 19: DB2 & Web Services - · PDF fileDB2 & Web Services L I G H ... Dynamic Query Web Service Allows execution of SQL statements without DADXes ... WebSphere Business Integrator, SAP, Siebel,

Test 'createMeeting' operation

Security

WebSphere security can be used for:Encryption of messages being exchanged

Authentication/authorization for Web Service endpointsOnly authenticated users can access Web ServicesSpecify which user can access which Web Service

Database user information:Can be specified in WebSphere or in the Web application itself

One database user per group of DADX web services

No support for WS-Security – yet!

DB2 & Web Services DB2 Version 8 Road Show December 2003

Tony Skinner Lightyear Consulting Page 37-38

Page 20: DB2 & Web Services - · PDF fileDB2 & Web Services L I G H ... Dynamic Query Web Service Allows execution of SQL statements without DADXes ... WebSphere Business Integrator, SAP, Siebel,

Authentication & Authorization

Authentication settings

Roles & Constraints

Transport security options

DB2 & Web Services DB2 Version 8 Road Show December 2003

Tony Skinner Lightyear Consulting Page 39-40

Page 21: DB2 & Web Services - · PDF fileDB2 & Web Services L I G H ... Dynamic Query Web Service Allows execution of SQL statements without DADXes ... WebSphere Business Integrator, SAP, Siebel,

Futures

Dynamic Query Web ServiceAllows execution of SQL statements without DADXes

Support for more SOAP engines

WS-SecurityMessage level security

N:M Mapping of WebSphere/Web Service users to database usersLeverages permissions in Database

Integration Advantages with Web Services

FlexibilityIndependence of programming languages, operating systems or hardware platforms used on client or server

StandardsStack of Web Service specifications

Connection layer: SOAP, WSDL, UDDISecurity and reliability layer: WS-Security, WS-ReliableMessaging, …Enterprise: WS-Transaction, Workflow, Systems Management,…

Packaged applications with Web service interfacesWebSphere Business Integrator, SAP, Siebel, MS Office, …

Cost savingTooling for code generation of clients

Development cost of provider is low because of tooling

Enable existing technology for Web Services

Replaces manual or paper-based processes

DB2 & Web Services DB2 Version 8 Road Show December 2003

Tony Skinner Lightyear Consulting Page 41-42

Page 22: DB2 & Web Services - · PDF fileDB2 & Web Services L I G H ... Dynamic Query Web Service Allows execution of SQL statements without DADXes ... WebSphere Business Integrator, SAP, Siebel,

DB2 Web Services

Ideal for integration of data

Provider technology allows easy exposing of DB2 data or logic as Web Service

Consumer technology allows integration of dynamic data

Development cost is lowQuick reaction to new requirements

Tooling eliminates need for coding and Web Service skills

Lightyear Consulting Ltd.Palo Alto - Austin - Scottsdale - Laguna Beach - Calgary

www.lightyr.com

CICS TS

MQSeries

Next steps towards Web Services...1. Tutorials:

http://www.oreillynet.com/lpt/a//webservices/2002/02/12/webservicefaqs.htmlhttp://www7b.software.ibm.com/dmdd/zones/webservices/

Access DB2 with Web servicesBuilding Web services with WORF and DB2 XML ExtenderInvoking Web Services from SQL

2. Tools & code examples:http://www.alphaworks.ibm.com/tech/webservicestoolkit

3. Ask Lightyear:On-site technical seminars & education classesConsulting servicesJava Development...

DB2 & Web Services DB2 Version 8 Road Show December 2003

Tony Skinner Lightyear Consulting Page 43-44