IBM Global Services - IBM eServer iSeries - gomitec.com Global Services - IBM eServer iSeries ......

64
IBM Global Services - IBM eServer iSeries © 2005 IBM Corporation Web Services Tools 2006 Michigan iSeries Technical Education Conference Session: Hall2-4 Don Yantzi ([email protected]) IBM Toronto Lab

Transcript of IBM Global Services - IBM eServer iSeries - gomitec.com Global Services - IBM eServer iSeries ......

IBM Global Services - IBM eServer iSeries

© 2005 IBM Corporation

Web Services Tools2006 Michigan iSeries Technical Education Conference

Session: Hall2-4

Don Yantzi ([email protected])IBM Toronto Lab

IBM System i Spring Technical Conference

© 2006 IBM Corporation2 Web Services with WDSc

Agenda:

What are Web Services ?Why should I use Web Services? Key technologies and standards IBM’s involvementWeb Services tools in WDScCalling a Web Service From RPGAdditional information

IBM System i Spring Technical Conference

© 2006 IBM Corporation3 Web Services with WDSc

iSeries Developer RoadmapEnhance the

End UserExperience

Create aModular

Architecture

IntegrateApplications

IntegrateBusinessProcesses

ImproveYour

ProductivityTraditional

RPG/COBOL

52505250

RPG/COBOLILE and Java

HTML/JSP

DB2 and SQL

Connectors Process Choreography

DB2 and SQL

RPG/COBOL

XML

XML

Portlets

GUI GUI5250GUI

ILE/Java

Java/EJB

ILE (e.g. RPG, COBOL, …)

GUI

Application Technology

User Interface

Portlets

HTML/JSP HTML/JSP

HTML/JSP

5250

5250

5250

Servlets Servlets

Servlets

Servlets Portlets Portlets

XML

XML

DB2 and SQL

Web Services Web ServicesApplication Technology

Remote System Explorer

WebFacing/HATS

Remote System Explorer

WebFacing/HATS

Remote System Explorer

iSeries Web tools

IBM System i Spring Technical Conference

© 2006 IBM Corporation4 Web Services with WDSc

The Problem: Integration

Integrating software applications across multiple operating systems, programming languages, and hardware platforms is – Difficult

– Not something that can be solved by any one particular proprietary environment

Traditionally, the problem has been one of tight-coupling– One application that calls a remote network is tied strongly to it by the

function call it makes and the parameters it requests

– Fixed interface to access remote programs or data, with little flexibility or adaptability to changing environments or needs

Web services technology allows applications to communicate in a platform, and programming language independent manner

IBM System i Spring Technical Conference

© 2006 IBM Corporation5 Web Services with WDSc

What are Web services?

Web services are self-contained software components, with a well-defined interface

Extensible Markup Language (XML) is a standardized language used for interface description

Web services use protocols based on XML to describe operations that can be executed, or data that can be exchanged, with a program or another Web service

IBM System i Spring Technical Conference

© 2006 IBM Corporation6 Web Services with WDSc

What are Web services?

Applications can access a Web service by issuing requests formatted according to the XML interface

IBM System i Spring Technical Conference

© 2006 IBM Corporation7 Web Services with WDSc

Why Use Web Services?

Integration– Web services provide an easy way of integrating applications

• Internally• Between you and suppliers • Between you and customers• Between you and anyone!

Architecture / Programming Model– The loosely coupled, distributed nature of Web Services provides the

best architecture / programming model for today and tomorrow’s applications

• Flexible• Distributed

Service Oriented Architecture– Web Services are one of the foundations

IBM System i Spring Technical Conference

© 2006 IBM Corporation8 Web Services with WDSc

Why Use Web services?

Web services enable better integration– Based on open standards

• The protocols are well defined– Heterogeneous

• Not tied to a specific hardware or software platform– Java and .NET

– Dynamic– Loosely coupled– Ability to wrap existing applications

– Provide programmatic access– Built on top of mature knowledge, frameworks, and code libraries

• XML• Transport (HTTP, SMTP, MIME)• Security

IBM System i Spring Technical Conference

© 2006 IBM Corporation9 Web Services with WDSc

Key technologies and Standards: XML

XML is the standard upon which many Web Services standards are based

XML- a specification developed by the World Wide Web Consortium (W3C) for defining markup languages– Such as HTML, WSDL, SOAP, as well as interchange formats

XML enables the definition, validation, and interpretation of data between applications and between organizations

XML Schema– Provides a way to define the structure, content, and semantics

of XML documents– Establishes constraints for a particular XML vocabulary

IBM System i Spring Technical Conference

© 2006 IBM Corporation10 Web Services with WDSc

Key technologies and Standards: WSDL

WSDL is used to describe interface to Web Services– What the Web service can do

– Where it resides

– How to invoke it

– Structure of input and output messages (parameters)

– Which communications protocols to use (HTTP, SMTP, JMS)

Contract for how Web service requestors and providers communicate with each other

Application uses information from the WSDL file to invoke Web Service

IBM System i Spring Technical Conference

© 2006 IBM Corporation11 Web Services with WDSc

Key technologies and Standards: SOAP, WSIL

Simple Object Access Protocol (SOAP)– XML-based protocol used to encode request and response messages

before sending over the network– Messages may be transported over a variety of Internet protocols

such as SMTP, MIME, HTTP.

SOAP request/response messages must match the message formats defined in the WSDL document

Web Services Inspection Language (WSIL)– Service discovery mechanism that is an alternative to UDDI as well as

complementary to UDDI

IBM System i Spring Technical Conference

© 2006 IBM Corporation12 Web Services with WDSc

IBM’s involvement in Web services

Beginning in 2000, jointly involved in creating XML grammars fordescribing Web services (WSDL) and Web service protocol traffic (SOAP)

Invests significant contributions to the development of many specifications (XML Schema, WSDL, SOAP, UDDI)– Develops implementations to help foster adoption, making them

available to the industry through several channels including open source efforts such as Apache, Eclipse, and IBM’s own alphaWorksWeb site.

Heavily involved in over 50 working groups and technology consortiums (W3C, OASIS, IETF, JCP, WS-I)

IBM System i Spring Technical Conference

© 2006 IBM Corporation13 Web Services with WDSc

Web Service creation tools provided in the productWeb service creation follows 2 paradigms– Bottom-up Web Services design

• Web service implementation is created first– Top-down Web Service design

• WSDL is created first, i.e. Web Service operations are known• Web service implementation need not exist

WDSc has tools available for bottom-up Web service design– The Web service implementation exists (i5/OS Program or Service

Program)

– Create an “iSeries Program Web Service” from ILE RPG or COBOL

IBM System i Spring Technical Conference

© 2006 IBM Corporation14

RPG/COBOL Program as Service Provider

BusinessLogic

(RPG orCOBOL)

ClientApplication or

Business Partner Application or...

Web Service Client Proxy(generated code)

TCP/IP Network

SOAP over HTTP

Java Web Service wrapper for RPG / COBOL program

(generated from WebService Call Wizard)

Business logicdoes not know it is invoked as a Web

service

Client logic simply invokes the proxy

and does not know the Web

service is remote

IBM System i Spring Technical Conference

© 2006 IBM Corporation15 Web Services with WDSc

CUSTOMER Records

IBM System i Spring Technical Conference

© 2006 IBM Corporation16 Web Services with WDSc

RPG program- CUSTINFO

Reads from a physical file CUSTINFODB containing the CUSTOMER Records

Takes as input either a Customer ID (In_CID) or Customer last name (In_Lname)

Returns as output a structure (O_DS) containing fields that map to CUSTOMER Record Fields

If there exists a CUSTOMER Record with the given Customer ID or Customer last name, the output data structure contains that Customers Information

IBM System i Spring Technical Conference

© 2006 IBM Corporation17 Web Services with WDSc

Create a System i5 connection to find program source

Open the Remote Systems Explorer perspective, and create a New Connection

Navigate to your RPG program

In order to create a Web service from program source, any required libraries must be first added to the library list or the wizard will give you an error

IBM System i Spring Technical Conference

© 2006 IBM Corporation18 Web Services with WDSc

Right-click and create the Web Service

IBM System i Spring Technical Conference

© 2006 IBM Corporation19 Web Services with WDSc

Web Service Wizard

Default is iSeries Web Service type

The proxy will provide a remote procedure call interface to the Web service

We will test the Web service after it is created

We will monitor the SOAP traffic for this Web service

Click Finish & Done!

Drop-Dead Simple!

IBM System i Spring Technical Conference

© 2006 IBM Corporation20 Web Services with WDSc

Testing the Web ServiceAfter wizard completes, the generated Test Client JSPs are run on the server (selected option “Test the Web service” in the wizard)

Select one of the methods to test, then enter the input data, Customer ID “0001”

Click “Invoke” and the results of the Web service are displayed, Customer ID “0001” is associated with Annie O!

As you will see shortly, there are many different ways to test the Web service

IBM System i Spring Technical Conference

© 2006 IBM Corporation21 Web Services with WDSc

Configuring and Testing the Web Service

Pressing next instead of Finish on the first page of the wizard takes you through several wizard pages

– Change the default program and parameter values

– Configure the iSeries runtime

– Select the Web project(s) for generated artifacts

– Select the Application Server you will deploy to

– Select the Web Service runtime you will use

– Select Web Service security and encoding options

– Test the Generated Web service/WSDL

– Publish to a UDDI registry

IBM System i Spring Technical Conference

© 2006 IBM Corporation22 Web Services with WDSc

Configuring the Web Service- Edit Program/Parameters

Selecting the Program (CUSTINFO), you can change the Library, Program type, Program Object etc. (in most cases the defaults are sufficient)

Expand the program to see program parameters

Selecting a parameter (e.g. IN_CID), you can change Usage type, CCSID

-File name shows the Program source file the wizard was launched from (valid types incl. ILE RPG, COBOL, PCML)

-Browse files to select a different file

-The default Runtime configuration is taken from the System i5 connection

-Edit to change the configuration

-Browse to choose an existing configuration (.config file)

IBM System i Spring Technical Conference

© 2006 IBM Corporation23 Web Services with WDSc

Configuring the Web Service- Runtime Configuration

Signon information is defaulted from System i5 connection

Alternatively, can use the Program Call Java Connection Architecture connector for signon and connection management (advanced product only)

IBM System i Spring Technical Conference

© 2006 IBM Corporation24 Web Services with WDSc

Configuring the Web Service- Runtime configuration

-Libraries required by the program defined here, and searched in this order

- The default Runtime library list information is taken from the System i5 connections’ user libraries

-Specify the current library, or choose one of the options (*USRPRF leaves the current library set to the value defined in the user profile)

-In the Initial command field, specify a host command to run before the Web service is invoked

IBM System i Spring Technical Conference

© 2006 IBM Corporation25 Web Services with WDSc

Configuring the Web Service- Service Deployment

-Click Edit to change the deployment environment Application Server, Web service runtime, or J2EE version

-The Service project and EAR project is the location where artifacts related to the Web Service are generated to

Servers supported include WebSphere Application Server (incl. Express), WebSphere Portal, and Apache Tomcat

Web service runtimes supported include IBM WebSphere, Apache Axis 1.0, and IBM SOAP

If a Service project or EAR project does not exist, it will be created for you!

IBM System i Spring Technical Conference

© 2006 IBM Corporation26 Web Services with WDSc

-The URI uniquely defines the Web service amongst those deployed.

- You can change the name of the generated WSDL file.

-Style and Use refers to the encoding method used for marshaling and unmarshaling SOAP message data to/from software objects used in programs, to XML format

-Document/Literal most common- WS-I compliant and best performance

-Security Configurations include XML Encryption (SOAP message data is encrypted), XML Digital Signature (message is delivered reliably), and No Security (WS-I compliant)

IBM System i Spring Technical Conference

© 2006 IBM Corporation27 Web Services with WDSc

Note on Web Services Security

XML Digital Signature - Integrity– Digitally signs elements in SOAP message to provide

integrity– Receiver can be sure:

• You sent the message• The message has not been changed in transit

– Elements in SOAP message are not encrypted

XML Encryption - Confidentiality– Encrypts elements of the SOAP message to provide

confidentiality

Certificates – Authentication– New in Web Services security

IBM System i Spring Technical Conference

© 2006 IBM Corporation28 Web Services with WDSc

Testing the Web Service- Test Page

-Click Launch to test the generated Web service before you complete the wizard!

-Very useful if you made a mistake configuring the Web service, for example, defined the System i5 program type as Service Program instead of Program

-Launches your default Browser in order to test

IBM System i Spring Technical Conference

© 2006 IBM Corporation29 Web Services with WDSc

Testing the Web Service- Proxy Page

-On the first page of the wizard the “Generate proxy” option was selected

-The security configuration of the client proxy must match that of the Web service

IBM System i Spring Technical Conference

© 2006 IBM Corporation30 Web Services with WDSc

Testing the Web Service- Client Test Page

-On the first page of the wizard we selected “Test the Web service” option-the generated client will be used to test the Web service

-Test facilities include sample JSPs, Universal Test Client, and Web Service Explorer

-After the wizard completes, the generated Test Client JSPs will be run on the Server as we have chosen the sample JSPs Test facility

IBM System i Spring Technical Conference

© 2006 IBM Corporation31 Web Services with WDSc

Testing the Web Service- Publication Page

-Can publish to the UDDI registry included with the product

-Can publish to a public UDDI registry (also XMethods and NTT communications)

IBM System i Spring Technical Conference

© 2006 IBM Corporation32 Web Services with WDSc

Generated artifacts

WebSphere Application Server uses Java Web services standards developed for Java under the Java Community Process (JCP)

These standards are Java API for XML-based RPC (also known as JAX-RPC or JSR 101) and Web services for J2EE (JSR 109 and JSR 921)

Generated artifacts enable a Java bean to be a Web service (in this case a Java bean wrapped iSeries Program call)

IBM System i Spring Technical Conference

© 2006 IBM Corporation33 Web Services with WDSc

Generated artifacts3 Java classes (at least)

-*Services is a Java bean wrapper for the System i5 program call- it contains 2 methods that will be turned into Web service operations

-Method 1 returns the output data in XML format, method 2 returns the output data in the *Result.java class (*Input and *Result are represent the input and output parameters of the program call)

A runtime configuration file

-The Java bean uses this file at runtime for authentication and iSeries configuration (userid/pwd, JCA connector JNDI, Library list etc.)

A program interface or PCML file

-Makes it easier for Java methods to call the program (less code)

-Fully defines the program and program parameters (data types, length, precision etc.)

The selected Service Project (created for you if does not exist yet)

IBM System i Spring Technical Conference

© 2006 IBM Corporation34 Web Services with WDSc

Generated artifacts-iSeries Toolbox for Java classes (jt400.jar) and Program Call Runtime jars

-Used by the *Services classes to manage iSeries host connections and invoke iSeries programs

-If IBM WebSphere is the Web service runtime, the following classes are also generated:

- Classes for marshaling and unmarshaling SOAP data (*_Deser and *_Ser )

-A Service Endpoint Interface (SEI) class- the Java interface corresponding to the Web service port type being implemented

A WSDL file

-This XML file fully describes the implemented Web service

IBM System i Spring Technical Conference

© 2006 IBM Corporation35 Web Services with WDSc

Generated artifacts

The JAX-RPC Mapping deployment descriptor specifies how Java elements are mapped to and from WSDL elements

ibm-webservices-ext.xmi and ibm-webservices-bnd.xmi contain mostly WebSphere specific deployment information for secure Web services

The webservices.xml file is the J2EE Web service deployment descriptor specifying how the Web service is implemented

IBM System i Spring Technical Conference

© 2006 IBM Corporation36 Web Services with WDSc

Generated artifacts- Web services EditorThe webservices.xml file

has it’s own editor

Modify ibm-webservices-ext.xmi and ibm-webservices-bnd.xmi by selecting the Bindings, Bindings, Binding Configurations tabs (normally you would never even need to know these files exist!)

IBM System i Spring Technical Conference

© 2006 IBM Corporation37 Web Services with WDSc

Generated artifacts-Test Client

Similar to the Web service project:

-Classes for marshaling and unmarshaling SOAP data

-Java classes representing program call input and output parameters

JAX-RPC binding files support the client application in mapping SOAP and WSDL to Java- generated from the WSDL Java interfaces for the Web service

-The Java interfaces are generated from the WSDL file as specified by JAX-RPC-Includes a “proxy” class (proxy to the remote Web service)

The selected Web service Client Project (created for you if does not exist yet)

Utility classes used by generated JSPs

IBM System i Spring Technical Conference

© 2006 IBM Corporation38 Web Services with WDSc

Generated artifacts –Test Client

In the case of a Web service client, what is generated depends on the J2EE level of the project

If the project has a J2EE level of 1.4, modifications will be made to the existing deployment descriptor (web.xml) for that project

Edit the bindings and extensions with Deployment Descriptor editor (changes reflected in bindings and extensions XMI files)

If the project has a J2EE level of 1.3, webservicesclient.xml will be generated

Edit the bindings and extensions with Web Services Client Editor

Test Client JSPs- run TestClient.jsp on server (contains Input, Method, Result JSPs)

WSDL file for the Web service- provided by the implementer of the Web service (identical copy of WSDL in the Web service project)

IBM System i Spring Technical Conference

© 2006 IBM Corporation39 Web Services with WDSc

Testing the Web Service- Oh show me the ways!

Saw earlier that can use the Web Service wizards’ Test Page to test

Launches external browser (default) before wizard completes

Also saw that can test via Test Client JSPs

launches the products internal browser (Full featured Internet Explorer) after wizard completes

We will now look at more ways to test the Web service

IBM System i Spring Technical Conference

© 2006 IBM Corporation40 Web Services with WDSc

Testing the Web Service- Universal Test ClientIf you choose to generate a

Java Proxy Test Client, you have the option of using the Universal Test Client as the Test facility

The web-based Universal Test Client can test Java objects running in a local or remote server

Once the wizard completes, the generated Java Proxy is launched in the Universal Test Client

IBM System i Spring Technical Conference

© 2006 IBM Corporation41 Web Services with WDSc

Testing the Web Service- Universal Test ClientAlternatively, can launch the

Universal Test Client from the generated Java Proxy

IBM System i Spring Technical Conference

© 2006 IBM Corporation42 Web Services with WDSc

Testing the Web Service- Universal Test Client1. Click on the custinfo () method we would like to test

2. Enter a Customer ID, then invoke the Method

3. Method returns a CUSTINFOResult, we can take a look at this Object

IBM System i Spring Technical Conference

© 2006 IBM Corporation43 Web Services with WDSc

4. CUSTINFOResult.getO_DS() returns an output parameter from the iSeries Program Call- a structure mapped to a CUSTOMER Record

5. OUT_DS.getOUT_FNAME returns the OUT_FNAME structure field (maps to FIRSTNAME Field of CUSTOMER Record)

IBM System i Spring Technical Conference

© 2006 IBM Corporation44 Web Services with WDSc

Testing the Web Service- Web Services ExplorerDo not have to do everything the first time through the Web

service wizard (generate the client, test the Web service etc.)

After WSDL is generated you can (among other cool stuff):

Generate a Java Proxy Client (we did this all in 1 step)

Generate WSIL

Test the Web Service implemented from the WSDL

This opens the Web Services Explorer for testing

If you are targeting WebSphere Application server, all the Web services (WSDL) and Web Services clients are accessible from the Web Services folder

IBM System i Spring Technical Conference

© 2006 IBM Corporation45 Web Services with WDSc

Testing the Web Service- Web Services Explorer

1. Select WSDL operation

2. Enter a Customer ID

3. Go!

IBM System i Spring Technical Conference

© 2006 IBM Corporation46 Web Services with WDSc

Testing the Web Service- Web Services Explorer

4. Results are shown in Status Pane

5. Click on Source to view the SOAP request and response messages (next slide)

IBM System i Spring Technical Conference

© 2006 IBM Corporation47 Web Services with WDSc

Testing the Web Service- Web Services Explorer

IBM System i Spring Technical Conference

© 2006 IBM Corporation48

Development Studio Client

Using the XML Toolkit AXIS client to call aWeb Service

Using the XML Toolkit AXIS client to call aWeb Service

IBM System i Spring Technical Conference

© 2006 IBM Corporation49

RPGC/C++ Client

Apache AXIS Web Services C++ Client APIs

RPG Service Requester

Web Services C/C++ Client (WSCC)5733-XT1 XML Toolkit for iSeries

GA 8/2005Tech Preview – limited function (no array support)

Open SourceApache.org AXIS

Ported to i5/OS ILEWSDL -> C++ or C Stub Generator

Direct invocation from ILE

Runs in the ILE Job

Web Service(local / remote)

RPGC/C++ Client

RPG C/C++ ClientC Stub Included

with OS/400

SOAP / HTTP

ToolGenerated

IBM System i Spring Technical Conference

© 2006 IBM Corporation50

How WSCC Works1. User generates stubs using java tool wsdl2ws.jar or shell script wsdl2ws.sh

(preferred)

Example (generates C stubs): wscc-1.0-OS400/bin/wsdl2ws.sh GetQuote.wsdl –lc -ogetQuoteStubs

1. User generates stubs using java tool wsdl2ws.jar or shell script wsdl2ws.sh (preferred)

Example (generates C stubs): wscc-1.0-OS400/bin/wsdl2ws.sh GetQuote.wsdl –lc -ogetQuoteStubs

WSDL passed into tool that generates C/C++ stubs

WSDL passed into tool that generates C/C++ stubs

WSDLWSDL

C/C++ stubsC/C++ stubs

IBM System i Spring Technical Conference

© 2006 IBM Corporation51

Example: How to call a WebService

You get a WDSL that describes a Web Service that:Excepts as input:

Product number as a string

Returns XML document as a string with:Product namePrice In stock info

IBM System i Spring Technical Conference

© 2006 IBM Corporation52

RPG calling a WebService

Store WSDL on IFSRun XMLtoolkit tool to extract C functions from WDSL Write RPG prototypes Write RPG logic to invoke C functions

IBM System i Spring Technical Conference

© 2006 IBM Corporation53

Run the WSDL2 tool in QSHELLLaunch QSHELL from RSE and run the tool

IBM System i Spring Technical Conference

© 2006 IBM Corporation54

Write RPG prototypes

D* Prototype to get stub handle (always needed for AXIS client)DgetStub PR * EXTPROC('get_Inventory_stub')D pEndPoint * Value Options(*String)

D* Prototype to get rid of stubDdestroyStub PR EXTPROC('destroy_Inventory_stub')D pStockWS * Value

Function get_Inventory_stubto get stub for this WebServicespecify server name if different from location in WSDL

Function destroy_Inventory_stubto de-allocate stub

IBM System i Spring Technical Conference

© 2006 IBM Corporation55

Write RPG prototype to invoke WebService

DgetProductInfo PR * EXTPROC('getProductInfo')D pStockWS * ValueD prodid * Value Options(*String)

Function getProductInfofirst parameter to pass stub second parameter string containg product id

Returns a pointer to a string

IBM System i Spring Technical Conference

© 2006 IBM Corporation56

Write RPG logic to invoke WebService

D* Pointer to point to string xmlstr which will contain XML docD xmldoc S *D xmlstr S 500A based(xmldoc)

stockWS = getStub('http://torasbcc:10032/IntelWS/services/Inventory');Monitor;

// invoke WebService// pass stub and prodid

// returns pointer to string

xmldoc = getProductInfo(stockWS : %trim(prodId));

xml-into product %xml( xmlstr );

Function getProductInfofirst parameter to pass stub second parameter string containg product id

Returns a pointer to a string

IBM System i Spring Technical Conference

© 2006 IBM Corporation57

Get Data from XML document into data structure

D xmlstr S 500A based(xmldoc)

Dproduct DS inzD productid like(prodid)D nameD priceD stock

xml-into product %xml( xmlstr );

String returned from WebService:<product><productid>PRS001</productid><name>Intel Pentium 4.0 Processor</name><price>340.49</price><stock>200</stock></product> Datastructure productSubfields Productid, name, price, stock

IBM System i Spring Technical Conference

© 2006 IBM Corporation58

Creating the programCreate module from RPG sourceCreate module from generated C program

In RSE IFS right click on generated file select Compile > CRTMODAdd include directory: /qibm/proddata/xmltoolkit/wscc-1.0-os400/include

Create ProgramIn RSE right click on Module from RPG program select Create >

Program…. Add C moduleAdd Service program QXMLTOOLS/QAXIS10CC

IBM System i Spring Technical Conference

© 2006 IBM Corporation59

Running the application

IBM System i Spring Technical Conference

© 2006 IBM Corporation60 Web Services with WDSc

Summary / Questions

What are Web Services ?

Why should I use Web Services?

Key technologies and standards

IBM’s involvement

Web Services tools in WDSc

Calling a Web Service from RPG

Additional information

IBM System i Spring Technical Conference

© 2006 IBM Corporation61 Web Services with WDSc

The World of Acronyms

FTP - File Transfer ProtocolHTTP - Hyper Text Transfer ProtocolJ2EE - Java 2 Enterprise EditionJSR - Java Specification RequestSMTP - Simple Mail Transfer ProtocolSOAP - Simple Object Access ProtocolUDDI - Universal Description, Discovery, and IntegrationWSDL - Web Services Description LanguageWSFL - Web Services Flow LanguageWSIL - Web Services Inspection LanguageXML - eXtensible Markup Language

IBM System i Spring Technical Conference

© 2006 IBM Corporation62 Web Services with WDSc

References

IBM DeveloperWorks– www.ibm.com/developer/webservices

IBM WebSphere Studio Zone– www.ibm.com/developer/websphere/zones/studio/

W3C (standards) – http://www.w3c.org/2002/ws

Web Services Interoperability Organization (WS-I)– www.ws-i.org

Java Community Process – www.jcp.org

IBM System i Spring Technical Conference

© 2006 IBM Corporation63 Web Services with WDSc

Disclaimer

Acknowledgement:– This presentation is a collaborative effort of the IBM Toronto iSeries

Application Development presentation team, including work done by:• Eric Peters, Don Yantzi

Disclaimer:– The information contained in this document has not been submitted to any

formal IBM test and is distributed on an as is basis without any warranty either express or implied. The use of this information or the implementation of any of these techniques is a customer responsibility and depends on the customers' ability to evaluate and integrate them into the customers' operational environment. While each item may have been reviewed by IBM for accuracy in a specific situation, there is no guarantee that the same or similar results will result elsewhere. Customers attempting to adapt these techniques to their own environment do so at their own risk.

Reproduction:– The base presentation is the property of IBM Corporation. Permission must

be obtained PRIOR to making copies of this material for any reason.

IBM System i Spring Technical Conference

© 2006 IBM Corporation64 Web Services with WDSc

Trademarks & Disclaimers8 IBM Corporation 1994-2003. All rights reserved.References in this document to IBM products or services do not imply that IBM intends to make them available in every country.The following terms are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both:

Lotus, Freelance Graphics, and Word Pro are registered trademarks of Lotus Development Corporation and/or IBM Corporation.Domino is a trademark of Lotus Development Corporation and/or IBM Corporation.

C-bus is a trademark of Corollary, Inc. in the United States, other countries, or both. Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both. ActionMedia, LANDesk, MMX, Pentium and ProShare are trademarks of Intel Corporation in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries.SET and the SET Logo are trademarks owned by SET Secure Electronic Transaction LLC. Other company, product and service names may be trademarks or service marks of others.

Information is provided "AS IS" without warranty of any kind.

All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer.

Information in this presentation concerning non-IBM products was obtained from a supplier of these products, published announcement material, or other publicly available sources and does not constitute an endorsement of such products by IBM. Sources for non-IBM list prices and performance numbers are taken from publicly available information, including vendor announcements and vendor worldwide homepages. IBM has not tested these products and cannot confirm the accuracy of performance, capability, or any other claims related to non-IBM products. Questions on the capability of non-IBM products should be addressed to the supplier of those products.

All statements regarding IBM future direction and intent are subject to change or withdrawal without notice, and represent goals and objectives only. Contact your local IBM office or IBM authorized reseller for the full text of the specific Statement of Direction.

Some information in this presentation addresses anticipated future capabilities. Such information is not intended as a definitive statement of a commitment to specific levels of performance, function or delivery schedules with respect to any future products. Such commitments are only made in IBM product announcements. The information is presented here to communicate IBM's current investment and development activities as a good faith effort to help with our customers' future planning.

Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve throughput or performance improvements equivalent to the ratios stated here.

Photographs shown are of engineering prototypes. Changes may be incorporated in production models.

AS/400 IBM(logo)AS/400e iSeriese (logo) business OS/400IBM