WebSphere Application Server Messaging Configuring and using MQ and SIBus



Similar documents
Configuring Business Monitor for Event Consumption from WebSphere MQ

BEA AquaLogic Service Bus and WebSphere MQ in Service-Oriented Architectures

CONFIGURATION AND APPLICATIONS DEPLOYMENT IN WEBSPHERE 6.1

Service Integration BUS

ITG Software Engineering

Course Description. Course Audience. Course Outline. Course Page - Page 1 of 5

Listeners. Formats. Free Form. Formatted

By Wick Gankanda Updated: August 8, 2012

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS

Configuration Management of Massively Scalable Systems

Chapter 4. Architecture. Table of Contents. J2EE Technology Application Servers. Application Models

Deploying to WebSphere Process Server and WebSphere Enterprise Service Bus

Deploying CA-signed SSL certificates to the LGI scenario

Oracle WebLogic Server 11g Administration

A Client Story: PCI Compliance with WebSphere MQ Advanced Message Security

WebSphere Server Administration Course

IBM WebSphere Server Administration

No.1 IT Online training institute from Hyderabad URL: sriramtechnologies.com

Managed File Transfer

WebSphere Business Monitor V7.0 Configuring a remote CEI server

Chapter 1 - Web Server Management and Cluster Topology

IBM Business Monitor Version IBM Business Monitor Installation Guide

Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus

Learn Oracle WebLogic Server 12c Administration For Middleware Administrators

Oracle Data Integrator integration with OBIEE

HOW TO DEPLOY AN EJB APLICATION IN WEBLOGIC SERVER 11GR1

IBM CICS Transaction Gateway for Multiplatforms, Version 7.0

Project SailFin: Building and Hosting Your Own Communication Server.

Version Overview. Business value

WebSphere ESB Best Practices

JReport Server Deployment Scenarios

WEBSPHERE APPLICATION SERVER ADMIN V8.5 (on Linux and Windows) WITH REAL-TIME CONCEPTS & REAL-TIME PROJECT

Configuring IBM WebSphere Application Server 6.1 to Support SAS 9.2 Web Applications

End to end security for WebSphere MQ

Les Support Packs IA94 et IA9H

Extending IBM WebSphere MQ and WebSphere Message Broker to the Clouds 5th February 2013 Session 12628

SCA-based Enterprise Service Bus WebSphere ESB

Redbooks Paper. WebSphere Application Server V5 Architecture. Carla Sadtler

Deploying Intellicus Portal on IBM WebSphere

Oracle Service Bus. Situation. Oracle Service Bus Primer. Product History and Evolution. Positioning. Usage Scenario

Options for integrating new applications with current applications that run on a mainframe

Implementing efficient system i data integration within your SOA. The Right Time for Real-Time

This document summarizes the steps of deploying ActiveVOS on the IBM WebSphere Platform.

Integration and Configuration of SofwareAG s webmethods Broker with JBOSS EAP 6.1

TIBCO iprocess Web Services Server Plug-in Installation. Software Release October 2011

Basic TCP/IP networking knowledge of client/server concepts Basic Linux commands and desktop navigation (if don't know we will cover it )

bbc Configuring LiveCycle Application Server Clusters Using WebSphere 5.1 Adobe LiveCycle June 2007 Version 7.2

WebLogic Server Foundation Topology, Configuration and Administration

Exam Name: IBM WebSphere Process Server V6.2,

Software Services for WebSphere. Capitalware's MQ Technical Conference v

WebSphere Application Server - Introduction, Monitoring Tools, & Administration

Secure Messaging Server Console... 2

Forward proxy server vs reverse proxy server

Guide Share France Groupe de Travail MQ 9 juin 2015

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc

EVALUATION ONLY. WA2088 WebSphere Application Server 8.5 Administration on Windows. Student Labs. Web Age Solutions Inc.

IBM WebSphere MQ File Transfer Edition, Version 7.0

White Paper. IBM WebSphere MQ 7.5 versus Apache ActiveMQ 5.9: Failover, Transactional Integrity and Administration. 89 Fifth Avenue, 7th Floor

WebSphere MQ Oracle Enterprise Gateway Integration Guide

DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service

Delivering a platform-independent based ESB for universal connectivity and transformation in heterogeneous IT environments.

WebSphere Training Outline

How to analyse your system to optimise performance and throughput in IIBv9

Information Management for System z. IMS - Information Management System - Transaction Monitor Part -

Code:1Z Titre: Oracle WebLogic. Version: Demo. Server 12c Essentials.

Install guide for Websphere 7.0

White paper. IBM WebSphere Application Server architecture

I. What is VPN? II. Types of VPN connection. There are two types of VPN connection:

Enterprise Application Integration

Converting Java EE Applications into OSGi Applications

Universal Event Monitor for SOA Reference Guide

High Availability with Elixir

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

WASv6_Scheduler.ppt Page 1 of 18

How To Enable Pmi Metrics On A Websphere Server On A Microsoft Powerbook (Windows) On A Pc Or Macbook (Macintosh) On An Ubio Server On An Uniden (Windows 7) On Your Pc Or Ip

WebSphere Architect (Performance and Monitoring) 2011 IBM Corporation

Configuring Situation Events in Action Manager for WebSphere Business Monitor Version 6.0

IBM InfoSphere MDM Server v9.0. Version: Demo. Page <<1/11>>

Steelcape Product Overview and Functional Description

Enhanced Connector Applications SupportPac VP01 for IBM WebSphere Business Events 3.0.0

WebSphere MQ Managed File Transfer. Parineeta Mattur

WebSphere MQ 101: Introduction to the World s Leading Messaging Provider

Cisco - Configure the 1721 Router for VLANs Using a Switch Module (WIC-4ESW)

This presentation provides an overview of the architecture of the IBM Workload Deployer product.

DEPLOYMENT GUIDE Version 1.1. Deploying the BIG-IP LTM v10 with Citrix Presentation Server 4.5

IBM WebSphere Adapter for PeopleSoft Enterprise Quick Start Tutorials

FioranoMQ 9. High Availability Guide

Two new DB2 Web Query options expand Microsoft integration As printed in the September 2009 edition of the IBM Systems Magazine

SW5706 Application deployment problems

Load Balancing Microsoft Sharepoint 2010 Load Balancing Microsoft Sharepoint Deployment Guide

Sample copy. Introduction To WebLogic Server Property of Web 10.3 Age Solutions Inc.

As you learned about in Chapter 1, WebSphere Application Server V6 supports the

Part 3 - Performance: How to Fine-tune Your ODM Solution. An InformationWeek Webcast Sponsored by

Sametime Gateway Version 9. Deploying DMZ Secure Proxy Server

a division of Technical Overview Xenos Enterprise Server 2.0

IBM Content Integrator Enterprise Edition, Version 8.5.1

Enterprise Integration Patterns

Oracle Exam 1z0-102 Oracle Weblogic Server 11g: System Administration I Version: 9.0 [ Total Questions: 111 ]

Transcription:

WebSphere Application Server Messaging Configuring and using MQ and SIBus Carl Farkas (With thanks to Matt Leming for much of the material ) SW IOT TechWorks zwebsphere Application Integration Consultant IBM France D/2708 Paris, France Internet : farkas @ fr.ibm.com Notes : Carl Farkas/France/IBM @ IBMFR 2008 IBM Corporation p1

Agenda Quickie review of MQ and SIBus Configuration options Configuration examples Bibliography 2008 IBM Corporation p2

Preamble Software Group WebSphere MQ (ex-mqseries) has been sold by IBM since 1993. It is in production by over 10,000 customers world-wide. It is estimated that MQ transports between 65-80% of the business messages today. WebSphere Application Server v6 arrived in early 2005 with its own built-in messaging engine, the SIBus (sometimes called «Default Messaging Provider» or «WAS Messaging Bus» or «Platform messaging» or etc.! ;) Which product provides the right messaging for you? There most probably is no correct answer for this question in all circumstances, but this presentation aims to provide some information on how to use these messaging products separately as well as together, and to provide some elements of comparison. 2008 IBM Corporation p3

Transport layers 2008 IBM Corporation p4

Review: what is WebSphere MQ? Application : A simple, efficient API for sending/receiving data messages Enables fast, reliable asynchronous messaging from application to application An industry standard for Message-Oriented-Middlewares (MOM) with over 65-80% of the market. Can be used on over 45 different platforms (Windows, Linux, AIX, Solaris, HP-UX, iseries-as/400, etc, etc., and of course System Z!) Can be used from all major programming languages (C, C++, COBOL, Fortran, BAL, PL/I, Java/JMS, VB, RPG, etc.) Includes support for the MQ Client a remote API accessing the queue manager resources. Other unique features of MQ Fully transactional with its own 2PC transaction manager for distributed MQ and working with RRS on z Support for high-availability and load-balancing via MQ Cluster as well as Sysplex on Z API MQ : : ioqueue = session.createqueue( «MaFile» ); QueueSender queuesender = session.createsender(ioqueue); queuesender.send(outmessage); : WebSphere MQ Network transport : : Support for point to point and pub/sub messaging Support for message grouping and segmentation Support for SSL Support for message compression Etc. 2008 IBM Corporation p5

Review: What is the WAS SIBus? SIBus provides native support in WAS for JMS messaging Available with WAS v6 on all platforms Full support for JMS 1.1 for WAS applications Full support for point-to-point and pub/sub messaging models SIBus names are known throughout the WAS cell An SIBus has 1-n Bus Members, which are Application Servers, WAS Clusters and/or WAS MQ Servers Queues and Topics are defined on Bus Members. At Runtime, each SIBus Bus Member starts 1-n Messaging Engines (MEs); MEs manage the runtime resources (eg. Queues, topics) The ME can store messages in memory, a database (eg. Cloudscape, DB2 ) or a file. An SIBus can connect to the outside world (other SIBuses, MQ, etc.) Destinations D1 D2 D3 NodeA Server1 (Bus Member) ME Queue Point D1 NodeB Server2 (Bus Member) ME Queue Point D2 MQ Server (Bus Member) Queue Point D3 Cluster1 (Bus member) NodeC Server3 (Bus Member) ME Queue Point D2 Bus Cell 2008 IBM Corporation p6

JMS configuration choices there are several! JMS configuration with SIbus objects 1. SIBus pure the messages stay in the SIBus world 2. SIBus peer-to-peer with MQ : MQ Link 3. SIBus front to MQ : MQ Server JMS configuration with MQ objects 4. MQ direct connection to a local Queue Manager, called bindings 5. MQ network connection to a Queue manager, called MQ client mode JMS configuration with other providers also possible (but why? ;>) QM z/os QM z/os QM WAS 4 ME 1 2 3 MQ Server QM QM 5 MQ Link 2008 IBM Corporation p7

How do I use JMS from WAS? Write a Java program that uses the JMS class libraries This is done by the developer Define the logical resources These JMS pointers are accessed via JNDI (not strictly necessary) They are independent of the program They are defined by a WAS namespace administrator Define the physical resources (eg. Queues) They are defined by a WAS or MQ messaging administrator Application (code) JNDI JMS Provider cf = (ConnectionFactory) ctx.lookup(nom_de_ma_connectionfactory_jndi); connection = cf.createconnection(); session = connection.createsession(...); queue = (Queue) ctx.lookup(nom_de_ma_file_jndi); producer = session.createproducer(queue); connection.start(); msg = session.createtextmessage(myqueuetext); producer.send( aux armes citoyens,...); connection.close(); 2008 IBM Corporation p8

1 SIBus pure WAS messaging For messaging purely in the WAS environment Can be extended beyond the WAS cell also. Other SIBuses, or to MQ world WAS ME 1 A. Define the physical resources 1. First create the SIBus Only needs to be done once per WAS Cell (although multiple buses are certainly allowed) 2. Add Bus Members (eg. Application servers, cells ) 3. Create your Destinations B. Define the JMS pointers 4. Define the Connection Factory 5. Define the Destination pointer (eg. Queues or Topics) 2008 IBM Corporation p9

1. SIBus - Create the SIBus Service integration > Buses > New The simplest wizard in the world! then. Save 2008 IBM Corporation p10

2. SIBus - Add the Bus member Bus members define the members of the SIBus Messaging engines (MEs) are instantiated to represent the Bus members Buses > Your_SIBus > Bus members > Add 2008 IBM Corporation p11

2. SIBus - Add the Bus member, cont d Adding a (WAS) Cluster is the key to High-availability WebSphere MQ Server option to be discussed later The File store option was added with WAS v6.1 Simpler to configure Faster performance A JDBC database probably more robust for HA Be sure to Save and Restart your WAS 2008 IBM Corporation p12

3. SIBus - Create the Destination Service integration > Buses > Your_SIBus > Destinations > New. 2008 IBM Corporation p13

3. SIBus Create the Destination, cont d A Destination is owned by a Bus member; the BM owns the resources Alias, Foreign (as well as MQ Server Queues) create pointers only Similar to a MQ Alias and Remote Queue Probably best to just use the Alias A JMS program can optionally directly address a queue without using a pointer 2008 IBM Corporation p14

4. JMS Define a Connection Factory The Connection Factory is the JNDI-administered object that a program connects to and provides the interface to the messaging system Creates a handle ; in MQ terms, this is like an MQCONN (although strictly speaking, it s actually the createsession that does the MQCONN) Careful! There are 3 choices! Connection Factory if your JMS application uses JMS 1.1 (nice work!) Queue and Topic Connection Factories if your JMS application is older (time to update!) One CF per messaging provider is often sufficient Resources > JMS > Connection Factory > New 2008 IBM Corporation p15

4. JMS Define a Connection Factory, cont d Other provider choices can also appear (eg. WAS v5 default messaging, xyz messaging, etc) You must select the SIBus or QM that you want to work with here Other connection factors (eg. Security, transactionality, performance pooling) are here 2008 IBM Corporation p16

5. JMS Define the destination pointer Resources > JMS > Queues > New > Default messaging provider Specify the JNDI name used by Java application After selecting the SIBus to be queried.. the known queue names will be proposed. Cool! 2008 IBM Corporation p17

2 SIBus MQ Link A WAS MQ Link emulates a WMQ Queue Manager. The MQ Queue Manager thinks that it s another MQ on the other side! A simple peer-to-peer relationship Unidirectional channels connect the Messaging Engine with the QM Standard store n forward messaging between the SIBus and the QM WAS 2 ME QM MQ Link A. Define the physical resources 1. First define a Foreign Bus on the SIBus 2. Next define the MQ Link 3. Create your Destinations - Alias B. Define the JMS pointers 4. Define the Connection Factory 5. Define the Destination pointer (eg. Queues or Topics) 2008 IBM Corporation p18

MQ Link SIBus networks An MQ Link can be used as a gateway into the MQ world Or as a router between different SIBus worlds Or as a router between different MQ worlds Messages are fully preserved between worlds By MQMD properties when possible Otherwise kept in SIBus folder in RFH2 QMgr SIBus ME QMgr QMgr SIBus QMgr QMgr 2008 IBM Corporation p19

1. MQ Link Define the Foreign Bus The Foreign Bus is a proxy within the SIBus to represent another bus (SIBus, MQ, etc) Bus Name should typically be that defined by the partner Service integration > Buses > your_bus_name > Foreign buses 2008 IBM Corporation p20

2. MQ Link Define the MQ Link The MQ Link gets defined on the runtime Messaging Engine of an SIBus Be sure that the SIBus is defined and WAS restarted Service integration > Buses > Your_SIBus > Messaging engines > Your_ME WebSphere MQ links > New then. 2008 IBM Corporation p21

2. MQ Link Define the MQ Link, cont d Service integration > Buses > Your_SIBus > Messaging engines > Your_ME WebSphere MQ links > New then. Must match MQ RECEIVER channel definition! Name of SIBus virtual QM Must match MQ SENDER channel definition! 2008 IBM Corporation p22

2. MQ Link Define the MQ Link, cont d And on the MQ side, it looks like this Note that the channel names must match exactly on both sides! Use the port number SIB_MQ_ENDPOINT_ADDRESS found at Application servers > your_server > Ports to define the MQ Sender Connection name (port) SIBus MQ Receiver Must match the SIBus MQLink Sender channel MQ Sender SIBus Must match the SIBus MQLink Receiver channel Must match the SIBus MQLink Receiver channel 2008 IBM Corporation p23

3. MQ Link - Create the SIBus Destination Service integration > Buses > Your_SIBus > Destinations > New. 2008 IBM Corporation p24

3. MQ Link - Create the SIBus Destination, cont d Alias and Foreign options create pointers only Similar to a MQ Alias and Remote Queue Probably best to just use the Alias A JMS program can optionally directly address a queue without using a pointer More sophisticated (complex!) Target Identifier s can be used (eg. MyQueue@QMgrY) to route via a gateway Target bus The exact MQ queue name The Foreign bus name 2008 IBM Corporation p25

4. JMS Define a Connection Factory 5. JMS Define a destination pointer These two steps are essentially identical to what we saw earlier for a pure SIBus definition. As before, create a Connection Factory to point to the SIBus As before, create a destination pointer (eg. Queue or Topic) for the particular resource that we just created above. Resources > JMS > Queues > New > Default messaging provider Name referred to by Java JMS program Choose the queue name defined on the SIBus in the prior step 2008 IBM Corporation p26

3 SIBus MQ Server A WAS MQ Server connects to a WMQ Queue Manager using a MQ Client (!!) Only supported by WebSphere MQ on z/os Can also use MQ bindings mode (if WAS running locally with MQ) Bidirectional connection between the Messaging Engine with the QM yielding locallike interface to MQ (putting and getting messages) Fully exploits MQ as the queue resource holder (eg. Shared queue access) WAS QM z/os 3 MQ Server QM z/os A. Define the physical resources 1. Define a MQ Server on the SIBus 2. Add the MQ Server as an SIBus member 3. Create your Destinations - Alias B. Define the JMS pointers 4. Define the Connection Factory 5. Define the Destination pointer (eg. Queues or Topics) 2008 IBM Corporation p27

1. MQ Server Define the MQ Server Servers > WebSphere MQ server > New Must match the QM name If you re lucky enough to have WAS on z/os! 2008 IBM Corporation p28

2. MQ Server Add MQ Server as Bus Member Service integration > Buses > Your_bus > Bus members > Add 2008 IBM Corporation p29

3. MQ Server - Add the SIBus Destination You must add the queue definition (and not an Alias), but this isn t the physical queue definition; you still must use MQ administration to create the queue. Service integration > Buses > Your_SIBus > Destinations > New. 2008 IBM Corporation p30

3. MQ Server - Add the SIBusDestination, cont d After selecting the MQ Server as the Bus member, the WAS Admin Console wizard automagically presents the MQ queue names available. Select the BM created in prior step Important for MQ legacy compatibility 2008 IBM Corporation p31

4. JMS Define a Connection Factory 5. JMS Define a destination pointer These two steps are essentially identical to what we saw earlier for a pure SIBus definition. As before, create a Connection Factory to point to the SIBus As before, create a destination pointer (eg. Queue or Topic) for the particular resource that we just created above. Resources > JMS > Queues > New > Default messaging provider Name referred to by Java JMS program Choose the queue name defined on the SIBus in the prior step 2008 IBM Corporation p32

4 MQ direct connection Requires a WebSphere MQ Queue Manager installed locally on the same machine as WAS Takes full advantage of MQ store n forward messaging Minimises WAS resources no need to create an SIBus at all Uses MQ-supplied class libraries over native (JNI) interface Reduced visibility from WAS WAS QM 4 A. Define the physical resources 1. Done on MQ by the MQ administrator B. Define the JMS pointers 2. Define the Connection Factory 3. Define the Destination pointer (eg. Queues or Topics) 2008 IBM Corporation p33

2. JMS Define a Connection Factory This is identical to what was seen earlier for addressing the SIBus resources, except the WebSphere MQ messaging provider is chosen Many other connection factors (eg. Security, transactionality, performance pooling, pub/sub interface, etc.) are here Resources > JMS > Connection Factory > New This is the critical option to indicate a direct, local MQ connection 2008 IBM Corporation p34

3. JMS Define the destination pointer Again, this is identical to the JMS definition seen earlier for addressing the SIBus resources, except the WebSphere MQ messaging provider is chosen Resources > JMS > Queues > New > WebSphere MQ messaging provider 2008 IBM Corporation p35

3. JMS Define the destination pointer, cont d This is where most default message-specific properties are defined Specify the JNDI name used by Java application Specify the queue name defined on MQ Determines if MQ RFH2 used for JMS properties 2008 IBM Corporation p36

5 MQ network connection Requires a WebSphere MQ Client which connects to a Queue Manager typically installed remotely on a different machine than the WAS (CAF required on MQ z/os) Uses a single, bi-directional MQ channel providing remote MQ API access Takes full advantage of MQ store n forward messaging Minimises WAS resources no need to create an SIBus at all Uses MQ-supplied class libraries Reduced visibility from WAS Lower throughput and greater WAS overhead than the MQ direct connection QM WAS 4 QM 5 A. Define the physical resources 1. Done on MQ by the MQ administrator B. Define the JMS pointers 2. Define the Connection Factory 3. Define the Destination pointer (eg. Queues or Topics) 2008 IBM Corporation p37

2. JMS Define a Connection Factory This is almost identical to what was seen earlier for the MQ direct connection, except the WebSphere MQ Queue Manager host connection parameters must be supplied Many other connection factors (eg. Security, transactionality, performance pooling, pub/sub interface, etc.) are here Resources > JMS > Connection Factory > New Specify the exact QM name along with the IP address and port This is the critical option to indicate a network MQ connection 2008 IBM Corporation p38

3. JMS Define the destination pointer This is identical to the JMS definition seen earlier for addressing the MQ direct connection resources Resources > JMS > Queues > New > WebSphere MQ messaging provider 2008 IBM Corporation p39

Message Driven Beans (MDB) Message Driven Beans (MDBs) are used to wake up a message-receiving application The application (Java class) is pre-loaded by WAS You must tell WAS which queue to monitor For SIBus (pure JCA 1.5), this is done via an Activation specifications For MQ, this is done via a Listener Port Link to application is pre-configured in EAR, or by Enterprise applications menu > your_app > MDB listener bindings public void onmessage(javax.jms.message msg) { System.out.println("===> Woke up with :" + msg); } Application JNDI L-Port SIBus WAS MQ 2008 IBM Corporation p40

Message Driven Bean (MDB) with the SIBus Resources > JMS > Activation specifications > New > Ok Application specification refers to this JNDI (JMS) name JNDI (JMS) name of queue 2008 IBM Corporation p41

Message Driven Bean (MDB) with MQ Application servers > your_app_server > Messaging > Message Listener Service > Listener Ports > New Application specification refers to this name JNDI (JMS) name of queue and CF 2008 IBM Corporation p42

Message Driven Bean application link - port Application link to listener typically in the.jar with the.ear <ejbbindings xmi:type="ejbbnd:messagedrivenbeanbinding" xmi:id="messagedrivenbeanbinding_1108036949665" listenerinputportname="lp"> <enterprisebean xmi:type="ejb:messagedriven" href="meta-inf/ejb-jar.xml#testmdb"/> </ejbbindings> Otherwise it can be defined by Enterprise Applications > your_was_appli > MDB listener bindings Choose this for waiting on MQ message Choose this for waiting on SIBus message 2008 IBM Corporation p43

To be added. Quand j aurai le temps Administration Sécurité Qqs exemples Pub/Sub Plus d info sur la conversion formats MQ-JMS 2008 IBM Corporation p44

Bibliography WAS product information http://www-306.ibm.com/software/webservers/appserv/was/ WAS V6.1 InfoCenter http://publib.boulder.ibm.com/infocenter/ws61help/index.jsp IBM RedBooks http://www.redbooks.ibm.com WebSphere Version 6 Web Services Handbook Development and Deployment, SG24-6461-00 WebSphere Application Server V6.1: System Management & Configuration, SG24-7304-00 WebSphere Application Server V6 Problem Determination for Distributed Platforms, SG24-6798-00 WebSphere Application Server V6 Scalability and Performance Handbook, SG24-6392-00 WebSphere Application Server V6.1 Security Handbook, SG24-6316-01 Patterns: SOA with an Enterprise Service Bus in WebSphere Application Server V6, SG24-6494-00 WebSphere Application Server V6.1: Technical Overview, REDP-4191-00 WebSphere Application Server V6 Default Messaging Provider Problem Determination, REDP-4076 WebSphere Application Server V6.1: Planning and Design, SG24-7305-00 WebSphere Application Server V6.1: Installation Problem Determination, REDP-4305-00 IBM developerworks http://www.ibm.com/developerworks (Searching on Service Integration Bus returns a number of interesting articles) 2008 IBM Corporation p45