WebSphere Process Server v6.2 WebSphere Enterprise Service Bus v6.2 WebSphere Integration Developer v6.2



Similar documents
CS z/os Application Enhancements: Introduction to Advanced Encryption Standards (AES)

IBM WebSphere Data Interchange V3.3

CS z/os Network Security Configuration Assistant GUI

z/os V1R11 Communications Server system management and monitoring

Communications Server for Linux

IBM Tivoli Service Request Manager 7.1

DataPower z/os crypto integration

Database lifecycle management

IBM Tivoli Web Response Monitor

WebSphere Commerce V7.0

z/os V1R11 Communications Server System management and monitoring Network management interface enhancements

Release Notes. IBM Tivoli Identity Manager Oracle Database Adapter. Version First Edition (December 7, 2007)

IBM VisualAge for Java,Version3.5. Remote Access to Tool API

Active Directory Synchronization with Lotus ADSync

SW5706 Application deployment problems

Tivoli Endpoint Manager for Security and Compliance Analytics. Setup Guide

Tivoli Endpoint Manager for Security and Compliance Analytics

Tivoli Security Compliance Manager. Version 5.1 April, Collector and Message Reference Addendum

Positioning the Roadmap for POWER5 iseries and pseries

Installing and Configuring DB2 10, WebSphere Application Server v8 & Maximo Asset Management

IBM WebSphere Message Broker - Integrating Tivoli Federated Identity Manager

IBM Tivoli Storage FlashCopy Manager Overview Wolfgang Hitzler Technical Sales IBM Tivoli Storage Management

Platform LSF Version 9 Release 1.2. Migrating on Windows SC

SCA-based Enterprise Service Bus WebSphere ESB

Sametime Version 9. Integration Guide. Integrating Sametime 9 with Domino 9, inotes 9, Connections 4.5, and WebSphere Portal

Tivoli Endpoint Manager for Configuration Management. User s Guide

IBM Software Group Enterprise Networking Solutions z/os V1R11 Communications Server

Version 8.2. Tivoli Endpoint Manager for Asset Discovery User's Guide

IBM TRIRIGA Application Platform Version Reporting: Creating Cross-Tab Reports in BIRT

IBM Security SiteProtector System Configuring Firewalls for SiteProtector Traffic

IBM Software Group. SW5706 JVM Tools IBM Corporation 4.0. This presentation will act as an introduction to JVM tools.

IBM TRIRIGA Anywhere Version 10 Release 4. Installing a development environment

IBM Configuring Rational Insight and later for Rational Asset Manager

Installing on Windows

IBM TRIRIGA Version 10 Release 4.2. Inventory Management User Guide IBM

IBM Security QRadar Version Installing QRadar with a Bootable USB Flash-drive Technical Note

The Consolidation Process

IBM Systems and Technology Group Technical Conference

Patch Management for Red Hat Enterprise Linux. User s Guide

Featuring: GUI screen designer to edit DDS source for 5250 Display Files

IBM Lotus Protector for Mail Encryption. User's Guide

IBM Endpoint Manager Version 9.2. Software Use Analysis Upgrading Guide

New SMTP client for sending Internet mail

IBM Security QRadar Version (MR1) Replacing the SSL Certificate Technical Note

IBM SmartCloud Analytics - Log Analysis. Anomaly App. Version 1.2

Release 7.1 Installation Guide

IBM Security QRadar Version Common Ports Guide

IBM Endpoint Manager. Security and Compliance Analytics Setup Guide

IBM Security QRadar Version (MR1) Checking the Integrity of Event and Flow Logs Technical Note

Software Usage Analysis Version 1.3

Packet Capture Users Guide

Rational Developer for IBM i (RDi) Introduction to RDi

DB2 Database Demonstration Program Version 9.7 Installation and Quick Reference Guide

IBM WebSphere Adapter for PeopleSoft Enterprise Quick Start Tutorials

IBM Integration Designer Version 7 Release 5. Stock Quote Sample

IBM Proventia Management SiteProtector. Configuring Firewalls for SiteProtector Traffic Version 2.0, Service Pack 8.1

Redbooks Redpaper. IBM TotalStorage NAS Advantages of the Windows Powered OS. Roland Tretau

EVALUATION. WA1844 WebSphere Process Server 7.0 Programming Using WebSphere Integration COPY. Developer

IBM Lotus Enterprise Integrator (LEI) for Domino. Version August 17, 2010

Table 1 shows the LDAP server configuration required for configuring the federated repositories in the Tivoli Integrated Portal server.

IBM z13 for Mobile Applications

New!! - Higher performance for Windows and UNIX environments

IBM Financial Transaction Manager for ACH Services IBM Redbooks Solution Guide

IBM DB2 Data Archive Expert for z/os:

Integrating ERP and CRM Applications with IBM WebSphere Cast Iron IBM Redbooks Solution Guide

IBM Cognos Controller Version New Features Guide

IBM FileNet System Monitor FSM Event Integration Whitepaper SC

OS Deployment V2.0. User s Guide

IBM Enterprise Marketing Management. Domain Name Options for

IBM WebSphere Enterprise Service Bus, Version 6.0.1

How to Deliver Measurable Business Value with the Enterprise CMDB

IBM Security SiteProtector System Migration Utility Guide

Tivoli IBM Tivoli Monitoring for Transaction Performance

Case Study: Process SOA Scenario

Redbooks Paper. Local versus Remote Database Access: A Performance Test. Victor Chao Leticia Cruz Nin Lei

Remote Control Tivoli Endpoint Manager - TRC User's Guide

IBM Lotus Protector for Mail Encryption

IBM Systems Director Navigator for i5/os New Web console for i5, Fast, Easy, Ready

DB2 Database Demonstration Program Version 10.5 Installation and Quick Reference Guide

IBM White Paper: IBM Maximo 7.1 Integration Framework Architecture Basics

IBM Software Services for Collaboration

IBM Enterprise Marketing Management. Domain Name Options for

IBM Endpoint Manager for OS Deployment Windows Server OS provisioning using a Server Automation Plan

How To Write An Architecture For An Bm Security Framework

IBM PowerSC Technical Overview IBM Redbooks Solution Guide

Implementing the End User Experience Monitoring Solution

Reading multi-temperature data with Cúram SPMP Analytics

Posting Messages into XI

Developing Applications for Integration between PI and SAP ERP in Different Network Domains or Landscapes

Remote Support Proxy Installation and User's Guide

IBM SPSS Collaboration and Deployment Services Version 6 Release 0. Single Sign-On Services Developer's Guide

Data Transfer Tips and Techniques

IBM Cognos Controller Version New Features Guide

Migrating LAMP stack from x86 to Power using the Server Consolidation Tool

WebSphere Application Server V6: Diagnostic Data. It includes information about the following: JVM logs (SystemOut and SystemErr)

Lotus Sametime. FIPS Support for IBM Lotus Sametime 8.0. Version 8.0 SC

QLogic 4Gb Fibre Channel Expansion Card (CIOv) for IBM BladeCenter IBM BladeCenter at-a-glance guide

Transcription:

IBM Software Group WebSphere Process Server v6.2 WebSphere Enterprise Service Bus v6.2 WebSphere Integration Developer v6.2 Mediation Policy and Service Gateway Brian Hulse; WESB Development Updated March 4, 2009

Section IBM Software Group Mediation Policy Control 2

Mediation Policy Control WESB configuration can now be controlled via mediation policy documents stored in WSRR Any promoted property is available for dynamic override by mediation policy Promoted properties now have an associated group Unlike promoted properties: The changes are completely dynamic (they only apply to the current flow and don t require an application restart) They can vary based on message context 3

Policy Resolution Primitive Mediation policy control is activated by use of the new Policy Resolution Primitive The Policy Resolution Primitive: Extracts mediation policies associated with the SCA Module from WSRR Resolves these mediation policies into a single set of override parameters for the current flow Updates the dynamic property context with the override parameters Primitives downstream of the Policy Resolution Primitive use anything from the dynamic property context which applies 4

Promoted Overrides Mediation policies WSRR 5

Dynamic property context can be propagated from a request flow to a response flow However, you may want another PolicyResolutionPrimitive in the response flow (if values from the service call need to load new mediation policies) 6

Mediation Policy Files Upon creation of a deployment file (EAR), new files are created: Default mediation policy files Use WS-Policy format One per group of promoted properties Together these policies represent the default configuration of the module User defined domain files WSRR meta-data files Used to define the mediation policy domains to WSRR; allowing users to author mediation policies The promoted properties file sca-moduleproperties.xml now reflects the additional group field 7

EAR file structure Default Mediation Policies WSRR User Defined Domains One file per group/domain <ModuleName>-<GroupName>.xml Promoted Properties 8

Promoted Properties/Policy mapping Promoted properties are in a single file called sca-module-properties.xml Policy Assertion Assertion value Policy Domain 9

WSRR import (1) EAR files generated from WID can now be imported into WSRR, which: Registers the SCA Module 10

WSRR import (2) Registers the mediation policies (default policies) 11

WSRR import (3) Registers the mediation policy domains (UDD files) 12

Policy Attachments Mediation policies only become active when they are associated with an SCA Module. When this is done in WSRR, a new Policy Attachment document is created for you Policy Attachment documents link Policy documents and SCA Modules Policy Attachments can have specially defined user properties called gate conditions Gate conditions allow WESB to apply mediation policies conditionally to flows Gate conditions use condition names defined on the Policy Resolution Primitive NOTE: Imported default policies have to be attached to the module explicitly; this does not happen automatically 13

WSRR Documents Policies sizediscount = 5 bulkdiscount = 6 P1 sizediscount = 2 bulkdiscount = 4 P2 sizediscount = 0 bulkdiscount = 0 P0 PolicyAttachments Size = BIG Number > 100 Size = MEDIUM Number > 200 SCA Modules OrderModule PolicyAttachments link SCA Modules with Policies PolicyAttachments can have Gate Conditions 14

Gate conditions Size = BIG Number = 250 means sizediscount = 5 bulkdiscount = 6 Policy P1 applies (see later) /body/placeorder/orderrequest/size= BIG /body/placeorder/orderrequest/number=250 15

Policy Engine sizediscount = 5 bulkdiscount = 6 P1 sizediscount = 2 bulkdiscount = 4 P2 sizediscount = 0 bulkdiscount = 0 P0 Size = BIG Number > 100 Size = MEDIUM Number > 200 Higher precedence Lower precedence Size = BIG Number = 250 P1 applies Size = MEDIUM Number = 250 P2 applies Size = MEDIUM Number = 199 P0 applies 16

Policy Engine X1 X2 sizediscount = 5 bulkdiscount = 4 sizediscount = 0 bulkdiscount = 0 X0 Size = BIG Number > 200 Higher precedence Lower precedence Size = BIG Number = 250 X1 and X2 apply X1 and X2 are not contradictory so can be merged 17

policyerror terminal sizediscount = 5 bulkdiscount = 6 Z1 sizediscount = 8 bulkdiscount = 10 Z3 sizediscount = 0 bulkdiscount = 0 Z0 Size = BIG Number > 100 Size = BIG Number > 500 Higher precedence Lower precedence Size = BIG Number = 250 Z1 applies Size = BIG Number = 550 ERROR Both Z1 and Z3 apply and cannot be merged; policyerror terminal is fired 18

dynamicpropertycontext com.ibm.ws.sibx.*=all <context> <dynamicproperty> <propertysets> </propertysets> <propertysets> </propertysets> </dynamicproperty> </context> <group>shipping</group> <properties> <name>delivery</name> <value>standard</value> </properties> <group>pricing</group> <properties> <name>bulkdiscount</name> <value>6</value> </properties> <properties> <name>sizediscount</name> <value>5</value> </properties> Seen on exit from PolicyResolutionPrimitive 19

TechNotes IBM Software Group Updates to a mediation policy domain are ignored when importing into WSRR If you try to redefine a policy domain by importing another EAR file which contains UDD files with the same policy domains Warning issued in WAS console on WSRR machine You have to: Delete PolicyAttachments that associated with module Delete SCA Module which uses the domain Import previously failing module This only happens if UDD files are different 20

TechNotes IBM Software Group Mediation policy versioning If you know you want to keep updating a policy domain (adding new properties/assertions), you may want to keep the domains unique Use version number in group name of promoted property, e.g. PricingV1 PricingV2 This would mean domains are logically unrelated 21

Section IBM Software Group Service Gateway 22

Service Gateway Scenario: Introduction A Service Gateway acts as a proxy to a variety of different services All of the service requesters interact with a single endpoint address The gateway is responsible for Performing a common operation on every message Routing the request to the correct service provider Example: add a custom authentication SOAP header, common to all services implemented within a single company Many services with different port types All require an authentication header No other change is made to the web service interaction Service requester PortType 1 message 1 message 1 +auth. header PortType 1 Svc Provider Service requester PortType 2 message 2 Gateway PortType 2 Svc message 2 +auth. header Provider Service requester PortType 3 message 3 PortType 3 message 3 +auth. header Svc Provider 23

Overview of Gateway Scenario Support in WPS/WESB Support for a 'service gateway' interface Support for a 'gateway' interface, which reduces all interactions to one of two abstract operations: requestonly or requestresponse Input and output messages are weakly typed, so that the messages can represent any required business content Mediation Primitives for handling weak-to-strong type assertions SetMessageType Makes a user-configured assertion about which type is being dealt with TypeFilter Can discover which message subtype is being dealt with Mediation Primitive for performing an explicit data conversion DataHandler mediation primitive Can apply a specific DataHandler to an opaque part of the message (such as a String or byte array field) to parse it into a logical structure 24

Service Gateway Interface Support Enabled for: HTTP, JMS and MQ Bindings Gateway FunctionSelector and DataBindings s JAX-WS Binding Enabled for DataHandler and FunctionSelector for the first time Supplied FunctionSelector/DataHandler to enable gateway processing 25

Service Gateway Patterns Dynamic Service Gateway (body agnostic) is a Gateway pattern that only modifies the message header information. Static Service Gateway (body aware) is a Gateway pattern that modifies the information contained in the body and the header of a message. Hybrid some messages require modifications to the body while others do not 26

Pass through (Dynamic) Configured with; Binding porttype: ServiceGateway GatewayFunctionSelector GatewayTextDataHandler Logs the message to database Looks up the endpoint address based on the characteristics of the inbound message Configured to use dynamic endpoints Configured with; Binding porttype: ServiceGateway GatewayTextDataHandler Port Type X Operation 1 Module MediationFlow Component Request Flow Port Type X Operation 1 Port Type X Operation 2 Port Type Y Operation 1 Export input Logger EPL callout Callout Response Response Flow Logger input Response Import Port Type X Operation 2 Port Type Y Operation 1 Port Type Y Operation 2 Port Type Y Operation 2 May send any message. 27

Body Aware (Static) RPC WSDLs NOT SUPPORTTED Configured with; Binding porttype: ServiceGateway GatewayFunctionSelector GatewayTextDataHandler Filter the message based on header information within the SMO Use the DataHandler primitive to convert the protocol message (TextBody) into a specific BO for transformation Transform the body and header of the message as required Configured with; Binding porttype: Specific interface configured Module Port Type X Operation 1 MediationFlow Component Request Flow Port Type X Operation 1 Port Type X Operation 2 Port Type Y Operation 1 Export input Filter DH DH DH DH XSLT XSLT XSLT XSLT callout1 callout2 callout3 callout4 Import Import Import Import Port Type X Operation 2 Port Type Y Operation 1 Port Type Y Operation 2 Port Type Y Operation 2 May send any message. 28

Hybrid RPC WSDLs NOT SUPPORTTED Configured with; Binding porttype: ServiceGateway GatewayFunctionSelector GatewayTextDataHandler Filter the message based on header information within the SMO Transform the body and header of the message as required Configured with; Binding porttype: ServiceGateway GatewayTextDataHandler Port Type X Operation 1 Module MediationFlow Component Request Flow Port Type X Operation 1 Port Type X Operation 2 Export input EPL Filter DH XSLT XSLT DH callout Import Port Type X Operation 2 Port Type Y Operation 1 SMT DH DH XSLT XSLT DH DH Port Type Y Operation 1 Port Type Y Operation 2 Port Type Y Operation 2 May send any Web Service message. Assert the message to be TextBody Looks up the endpoint address based on the characteristics of the inbound message Use the DataHandler primitive to convert the protocol message (TextBody) into a specific BO for transformation Use the DataHandler primitive to convert the specific BO into the protocol message (TextBody) 29

JMS/MQ/HTTP Gateway Support Configured with; JMS Binding porttype: ServiceGateway GatewayFunctionSelector Gateway DataBinding Filter the message based on header information within the SMO Transform the body and header of the message as required Configured with; JMS Binding porttype: Specific interface configured JMS Port Type X Operation 1 Module MediationFlow Component Request Flow JMS Port Type X Operation 1 JMS Port Type X Operation 2 JMS Port Type Y Operation 1 Export input Filter DH DH DH DH XSLT XSLT XSLT XSLT callout1 callout2 callout3 callout4 Import Import Import Import JMS Port Type X Operation 2 JMS Port Type Y Operation 1 JMS Port Type Y Operation 2 JMS Port Type Y Operation 2 May send any JMS message. Use the DataHandler primitive to convert the protocol message (JMSTextBody) into a specific BO for transformation 30

TypeFilter : Routing based on message type Used in the case where a common (envelope) structure is to convey a variety of different concrete message structures The TypeFilter mediation primitive uses XPath expressions to allow you to direct messages down different paths of a flow, based on their type. The TypeFilter mediation primitive has multiple output terminals each of the output terminals is associated with a XPath and type pair if the element identified by the XPath expressions matches the specified type, then the relevant terminal is fired The primitive always uses the first matching output terminal. The default terminal is used if the message meets none of the conditions. Process as type A TypeFilter Primitive Process as type B Process as default type 31

JMS/MQ/HTTP TypeFilter Gateway Support Configured with; JMS Binding porttype: ServiceGateway GatewayFunctionSelector Gateway DataBinding Filter the message based on header information within the SMO Transform the body and header of the message as required Configured with; JMS Binding porttype: Specific interface configured JMS Port Type X Operation 1 Module MediationFlow Component Request Flow JMS Port Type X Operation 1 JMS Port Type X Operation 2 JMS Port Type Y Operation 1 JMS Port Type Y Operation 2 Export input Type Filter Filter Filter DH DH DH DH XSLT XSLT XSLT XSLT callout1 callout2 callout3 callout4 Import Import Import Import JMS Port Type X Operation 2 JMS Port Type Y Operation 1 JMS Port Type Y Operation 2 May send any JMS message. TypeFilter allows us to determine if the message is JMSTextBody, JMSBytesBody etc Use the DataHandler primitive to convert the protocol message (JMSTextBody or JMSBytesBody) into a specific BO for transformation 32

ServiceGateway Interface <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions name="servicegateway" targetnamespace="http://www.ibm.com/websphere/sibx/servicegateway" xmlns:tns="http://www.ibm.com/websphere/sibx/servicegateway" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <wsdl:types> <xsd:schema targetnamespace="http://www.ibm.com/websphere/sibx/servicegateway" xmlns:tns="http://www.ibm.com/websphere/sibx/servicegateway" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <xsd:element name="message" type="xsd:anytype"/> </xsd:schema> </wsdl:types> <wsdl:message name="gatewaymessage"> <wsdl:part element="tns:message" name="message"/> </wsdl:message> <wsdl:porttype name="servicegateway"> <wsdl:operation name="requestonly"> <wsdl:input message="tns:gatewaymessage" name="requestonlyrequest"/> </wsdl:operation> <wsdl:operation name="requestresponse"> <wsdl:input message="tns:gatewaymessage" name="requestresponserequest"/> <wsdl:output message="tns:gatewaymessage" name="requestresponseresponse"/> <wsdl:fault message="tns:gatewaymessage" name="fault"/> </wsdl:operation> </wsdl:porttype> </wsdl:definitions> 33

ServiceGateway Interface JMS/MQ Web Services HTTP 34

DataHandler Mediation Primitive This primitive is used to convert an element of a message from a physical format to a logical structure or a logical structure to a physical format. There are many scenarios in which it is useful to be able to perform this dynamically within a mediation Examples When processing JMS messages, Examine header information to determine the format of this particular message Apply the appropriate DataHandler to enable the business data to be processed by other mediation primitives JMSText message Text field contains fixed format data for customer address DataHandler Primitive Applies 'fixed format' DataHandler to the text field "CustomerAddress" Message Body contains the logical "CustomerAddress" structure 35

DataHandler Mediation Primitive in out fail Configure the DataHandler primitive with a DataHandler Allows assertions to be associated with the out terminal e.g. when converting from a specific type to the protocol type (e.g. TextBody) Specify if converting from a native form, or to the native form. This maps to transform and transforminto on the DataHandler Specify the XPath to be sent into the DataHandler Specify the XPath to store the output of the DataHandler 36

Usage of DataHandlers in a Gateway Request Flow DataHandler: UTF8XML Action: Native to BO Source: /body/message/value Target: /body Response Flow DataHandler: UTF8XML Assertion: /body/message = TextBody Action: BO to native Source: /body Target: /body/message/value 37

Data format transformation 38

WID Service Gateway accelerator 39

WID Service Gateway accelerator (Dynamic) 40

WID Service Gateway accelerator (Static 1) 41

WID Service Gateway accelerator (Static 2) 42

WID Service Gateway accelerator (Static 3) 43

RPC not supported for Body Aware RPC styled WSDLs can be used when the gateway is acting in a pass through mode, however is not supported when a DataHandler primitive is required. Documented limitation of the Gateway Service Gateway WSDL not available The Service Gateway acts in WSDL-less mode from WebSphere Application Servers point of view. Therefore if a user attempts to retrieve the published WSDLs from the Administration console none will be returned. 44

Service Gateway AND Mediation Policy Bespoke routing code can be rewritten to be dynamic String serviceidentification = ((commonj.sdo.dataobject)smo.getcontext().gettransient()).getstring("id"); if(serviceidentification.equals("billing")) { URI = URI + "BillingServiceWeb/sca/BillingExport"; } else if(serviceidentification.equals("dispatch")) { URI = URI + "DispatchingServiceWeb/sca/DispatchExport"; } TargetAddressType targetaddress = ServiceMessageObjectFactory.eINSTANCE.createTargetAddressType(); targetaddress.setaddress(uri); smo.getheaders().getsmoheader().settarget(targetaddress); out.fire(smo); Replaced with Gate Conditions Policy Assertions 45

Trademarks, Copyrights, and Disclaimers The following terms are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both: IBM CICS IMS MQSeries Tivoli IBM(logo) Cloudscape Informix OS/390 WebSphere e(logo)business DB2 iseries OS/400 xseries AIX DB2 Universal Database Lotus pseries zseries 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 registered trademarks of Microsoft Corporation in the United States, other countries, or both. Intel, 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. Linux is a registered trademark of Linus Torvalds. Other company, product and service names may be trademarks or service marks of others. Product data has been reviewed for accuracy as of the date of initial publication. Product data is subject to change without notice. This document could include technical inaccuracies or typographical errors. IBM may make improvements and/or changes in the product(s) and/or program(s) described herein at any time without notice. Any statements regarding IBM's future direction and intent are subject to change or withdrawal without notice, and represent goals and objectives only. References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business. Any reference to an IBM Program Product in this document is not intended to state or imply that only that program product may be used. Any functionally equivalent program, that does not infringe IBM's intellectual property rights, may be used instead. Information is provided "AS IS" without warranty of any kind. THE INFORMATION PROVIDED IN THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IBM EXPRESSLY DISCLAIMS ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT. IBM shall have no responsibility to update this information. IBM products are warranted, if at all, according to the terms and conditions of the agreements (e.g., IBM Customer Agreement, Statement of Limited Warranty, International Program License Agreement, etc.) under which they are provided. Information concerning non-ibm products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-ibm products. IBM makes no representations or warranties, express or implied, regarding non-ibm products and services. The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents or copyrights. Inquiries regarding patent or copyright licenses should be made, in writing, to: IBM Director of Licensing IBM Corporation North Castle Drive Armonk, NY 10504-1785 U.S.A. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. 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. Copyright International Business Machines Corporation 2004. All rights reserved. Template Revision: 3/09/2005 9:40 AM Note to U.S. Government Users - Documentation related to restricted rights-use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract and IBM Corp. 46