This article introduces the major enhancements in IBM® WebSphere® Message Broker V6, and provides references to other resources that can help you learn more about WebSphere Message Broker and related products. The article provides an overview of technical aspects of WebSphere Message Broker V6 that are of interest to architects, message flow designers, and developers.
With WebSphere Message Broker V6, it is much easier to install and configure the product. Especially notable improvements include:
- The number of prerequisite products has been reduced to one -- WebSphere MQ V220.127.116.11 or later.
- The configuration manager no longer requires a database, because an embedded database is now provided.
- The configuration wizard has been improved.
What is WebSphere Message Broker V6?
WebSphere Message Broker V6 provides a comprehensive set of capabilities that enable you to transform and route business data as it moves between applications, spanning multiple formats and protocols. WebSphere Message Broker can:
- Transform message formats and content, enabling communication between applications that may have totally different message formats and transport mechanisms and which were never expected to need to communicate with each other.
- Perform message routing between applications, so that data can be distributed across applications without the need to change the sending applications, thus enabling you to add new applications much more easily.
- Implement protocol conversion that enables disparate applications to be connected together, thus making it easy, for example, for a file-based application to communicate with one that uses WebSphere MQ or JMS messages.
Routing and transformation logic that you code in WebSphere Message Broker is held within WebSphere Message Broker and not in the applications, thus enabling you to easily achieve separation of concerns. The end-point applications contain the business logic that applies the business processing rules that are important to your enterprise, whilst operations such as protocol and message transformation or routing are contained solely within the WebSphere Message Broker environment, thus making you IT infrastructure much more flexible.
WebSphere Message Broker has a robust design and scalable architecture, as well as a high level of performance. These characteristics combined with ease of use provide the facilities you need to build an enterprise service bus (ESB) to implement an enterprise-wide service-oriented architecture (SOA).
In addition to improvements to existing functionality, WebSphere Message Broker V6 offers significant new function in many different aspects of the product:
- Installation and configuration
- Transformation technology
- Message processing
- Web services support
- Administration and management
Installation and configuration
As mentioned above, notable installation and configuration improvements in WebSphere Message Broker V6 include reducing the number of prerequisite products to just one, providing an embedded database for the configuration manager, and improving the configuration wizard. Also, in response to customer requests, the development toolkit is now supported on Linux® as well as on Windows®.
The improved configuration wizard simplifies initial configuration and gets you up and running more quickly. It helps you create or remove the default configuration on Windows or Linux, and shows you how to deploy and run the installation verification samples to ensure that product installation was completed successfully. Finally, the wizard launches you into the samples gallery, which has also been significantly improved, as described below under Samples.
Managing migration from one release of a product to another can be a complex and involved process dependent on the nature of the configuration being migrated. To help simplify and reduce the impact of such migration significant changes have been made in WebSphere Message Broker V6.
Migration from both WebSphere MQ Integrator and WebSphere Business Integration Message Broker is supported. There is now a single command, mqsimigratecomponents, to migrate components rather than the multiple commands in previous versions of the product.
A key improvement in the area of migration is the ability for multiple versions of the product to coexist in a single operating system image. This can have significant cost benefits. You will no longer need to duplicate hardware to achieve the migration. Many users of the product had to previously dual run the new and previous versions of WebSphere Message Broker on different machines. This is no longer necessary from a product function perspective. You may however wish to continue to run dual systems as part of your migration strategy.
The transformation technology provided within WebSphere Message Broker V6 is extended as well as improving the performance of existing function.
ESQL has been extended to make transforming and routing messages using ESQL even easier. Improvements include:
- Provision of an In-memory cache to avoid access to databases for read only routing or validation data
- Improved support for creating DATETIME variables
- Access to multiple databases from the same compute node
- Dynamic database schemas
- New user-defined properties that can pass parameters to ESQL to modify standard behaviour
- Access to environment information such as flow name and broker name
- Improved support for result sets returned by database stored procedures
- Improved error recovery by the use of SQL handlers
- Multiple out terminals to combine the function of compute and filter nodes
- Ability to write to the Log
Java Compute Node
For those users who wish to make greater use of existing Java skills within their company there is the chance to do so more easily following the provision of a Java node in the development toolkit. Java support was provided in the past though the plug-in node facility but this latest node makes the use of Java noticeably easier.
A developer is able to write Java source directly into the Java node using the development toolkit. Color highlighting and code assist are provided for the node. A wizard to assist setup and configuration is provided. Figure 1 below shows a picture of the code aspect of the Java Compute node.
Figure 1. Java Compute Node
For the runtime support a standard J2SE 1.4.2 environment is provided in the broker. No ESQL skill or experience is required to use the Java node.
Within the Java node it is possible to use the XPath 1.0 syntax for navigating the message tree.
The Java jar files can be deployed to the broker runtime using the standard broker deployment facilities.
Use of Java to code message routing and transformation logic will help to reduce the total cost of ownership on z/OS®, where the Java code will be eligible to run on the IBM zSeries Application Assist Processor (zAAP). Only Java code is eligible to run on the zAPP processor. This will cover use of Java nodes, Java Plug-in nodes, any custom written Java parser nodes and the Publication node. The processing associated with the parsing and streaming of messages, the running of ESQL and C plug-in nodes will not be eligible to run on zAAP.
JMS Input/Output Node
Support is now added to allow the broker to receive and send JMS messages. This is provided through the addition of four new nodes:
- JMSInput to receive messages from JMS destinations
- JMSOutput to send messages to JMS destinations
- JMSMQTransform to transform a JMS message tree into a message tree structure that is compatible with the format of messages that are produced by the WebSphere MQ JMS provider.
- MQJMSTransform to receive messages that have a WebSphere MQ JMS provider message tree format, and transform them into a format that is compatible with messages that are to be sent to JMS destinations.
The JMSInput and JMSOutput node will work with any JMS 1.1 provider directly. No intermediate connection such as an adapter is needed. This provides a more efficient implementation as there are no intermediate connection points.
At run time when a JMS message is received a true JMS message tree is built, rather than an intermediate form which reflects the underlying structure of the broker. This improves performance and usability.
A key feature of the JMS integration in WebSphere Message Broker V6 is the provision of transactional support. JMS destinations such as topics or queues that supply messages to a JMSInput node, or receive messages from a JMSOutput node, can be syncpoint coordinated as part of a message flow global transaction provided that the JMS provider to which they connect supports the XA/Open interface through the JMS XAResource Class. An example JMS provider is the WebSphere MQ Java Client.
The mapping editor has been improved. It is possible to use simple drag and drop transformation. This is good for the less experienced user as it requires minimal programming skills. Maps can be developed iteratively either using a top-down (building the target format as part of map creation) or bottom-up (building the source as part of map creation) approach.
Novice users are guided through mapping by "predictions" that generate an initial mapping using drag and drop techniques. New features include the ability to split source messages into a number of output messages, message header mapping, and easy mapping of repeating elements.
As with the Java node the XPath 1.0 syntax can be used to navigate the message tree.
The MQGET node is now provided to receive messages from clients that connect to the broker using the WebSphere MQ Enterprise Transport, and that use the MQI and AMI application programming interfaces. The MQGET node can also be used to retrieve messages that were previously placed in a WebSphere MQ message queue that is defined to the broker's queue manager.
An MQGET node can be used anywhere within a message flow, unlike an MQInput node which can only be used as the first node in a message flow.
It is possible to use the MQGET node as part of processing sequence for example where a SOAP-over-JMS request is issued using the WebSphere MQ/JMS transport. The request is sent using an MQOutput node and the response can be retrieved synchronously using the MQGET node.
Timer Control Nodes
To help with the scheduling of events two new nodes are provided. The TimeoutControl and TimeoutNotification nodes allow message flows to be driven periodically rather than by an external event.
The TimeoutControl node receives an input message that contains a timeout request. The node validates the request, stores the message, and propagates the message (unchanged) to the next node in the message flow.
The TimeoutNotification node is an input node that can be used in one of two ways:
- Paired with one or more TimeoutControl nodes
- The TimeoutNotification node processes timeout request messages that are set by the TimeoutControl nodes with which it is paired, and propagates copies of the messages (or selected fragments of the messages) to the next node in the message flow.
- Generated messages are propagated at specified time intervals to the next node in the message flow.
The performance of XSLT transformations is improved by the support of compiled style sheets. The style sheets can also be cached within the broker runtime to improve performance.
To help with management style sheets can now be deployed using the standard deployment facilities.
The performance of parsing and streaming has been significantly improved to allow greater throughput, especially of large messages.
Pre-built message definitions are supplied for some common industry message formats such as SOAP envelope, SAP IDoc header, and MIME header.
A new WSDL importer is provided to simplify the calling of Web services from within flows. A new MIME parser is provided to allow the parsing of SOAP with Attachment, RosettaNet, and TLOG messages.
Most of the remaining XML schema restrictions are now lifted
There are improvements to the COBOL and C importers:
- For the C importer, a new "String encoding" option lets you specify whether character arrays are null terminated or fixed-length.
- A new "Use target namespace" option lets you specify a target namespace for the message definition file.
The IDOC parser is now better integrated in to the development toolkit. An IDOC domain parser is provided. This appears beside the other parsers in places like the drop down list of the Message Domain field of the Default properties folder of the MQInput node.
Improving product performance has been a specific focus with WebSphere Message Broker V6 and as a result there are improvements in the performance when compared with WebSphere Business Integration Message Broker V5. The areas of focus were:
- Parsing and streaming of messages
- Cost of processing ESQL
- Message aggregation
- Java support
- Message Broker infrastructure
The improvements in performance have significantly reduced the processing cost of using these key functions. No code or message model changes are required to benefit from these performance improvements.
In addition the storage requirements of the Message Repository Manager (MRM), XML and MQ Rules and Formatting Header 2(MQRFH2) parsers have been reduced making it possible to process large messages.
To illustrate a technique for the efficient processing of large messages (many Megabytes in size) the Large Messaging sample has been provided. Use this technique can noticeably reduce the amount of virtual storage required to process large messages.
Performance is further improved through the provision of new function:
- The new in-memory cache provided with ESQL allows an in-memory table to be built and accessed within message flows, thus removing the need to access a database for read-only routing or validation data. Previously, a message flow had to issue a read against a database for each message flow invocation.
- The MQGET node lets you use WebSphere MQ queues as an intermediate datastore for communicating between request reply and reply message flows. The Coordinated Request Reply sample shows you how to implement such processing. Previously, you had to use a database.
- The supplied datetime functions let you perform complex date and time formatting operations using WebSphere Message Broker provided function. Previously, you had to write functions in ESQL or Java to perform such processing.
Further details of the performance improvements will be provided in the WebSphere Message Broker V6 performance reports.
Web services support
Web services support has been extended to improve WSDL integration. Modelling and transformation of SOAP messages has been simplified, with canned message definitions for SOAP and better editor support. WSDL generation is more flexible, and WSDL can also be imported to create a corresponding message model. A WSDL validator allows verification that Web services comply with the Web service Interoperability (WS-I) Basic Profile.
Support is included for SOAP 1.1 and SOAP 1.2. The HTTP transport has been extended to provide HTTP 1.1 and HTTPS support. SOAP with Attachments (SwA) is supported via a new MIME domain.
Administration and management
To improve the ability to manage Message Broker in a production environment a number of changes have been introduced in the areas of administration and management.
The versioning capabilities that were introduced to development environment in WebSphere Business Integration Message Broker have been extended to the run-time environment. All resources deployed can be tagged to version, author, and other useful information in addition to the standard complied time and deployment time attributes. The new information is displayed in the administration interface making it easy to see which resources have been deployed to production systems. Figure 2 shows an example:
Figure 2. Example of run-time version information
To improve the extent to which the management of WebSphere Message Broker V6 can be automated, a number of new and extended command line utilities are provided to allow full automation of deployment of new resources to production environments. For example, you can now:
- Start and stop message flows
- Create or delete execution groups
- Back up and restore the configuration manager
- Create or delete a database
Improvements have been made to multiple commands, such as mqsideploy, mqsilist, and mqsicreatebroker.
A new Java administration API enables a program to control broker domains through a remote interface known as the Configuration Manager Proxy. It is a Java API that enables the following resources to be administered under program control:
- Execution groups
- Message flows
- Event log
- Configuration manager
To help with the introduction of the API comprehensive samples and documentation are provided.
Use of this API will allow much greater integration with automation products such as IBM Tivoli Monitoring for Business Integration.
You can now restart the broker database without having to stop and restart the broker.
The samples provided with WebSphere Message Broker V6 have been significantly improved. There are now over 20 samples, covering a wide variety of broker functions. Their packaging makes them easy to import and run in the default configuration, which is created using a wizard. Thus, it is now much easier for you to get access to working code immediately after the product is installed.
Whilst the samples are unlikely to meet your exact needs, they provide a good base from which to get started with a variety of different broker technologies. After you import the samples into your workspace, you can use the code and modify it as needed. There are three types of samples:
- Showcase samples
- Application samples
- Technology samples
The showcase samples are the most extensive and robust samples provided. They consist of end-to-end applications that follow best practices for application development. They are running applications that are developed using a combination of tools for design, development, and testing. These samples might need some configuration in order to run on your system. The setup instructions can be accessed from the sample overview.
The application samples are working applications created using more than one tool or API. They illustrate how different tools interact with each other. Application samples can be run, and instructions on how to configure them to run on your system are provided. These samples are fairly simple and focus on specific technologies, and they may omit ancillary functions such as error handling and security.
The Technology samples are code-based samples that focus on a single tool or API. The samples may not be runnable applications -- instead they demonstrate specific technologies or APIs such as Java®Beans or XML. Sections of code in these samples can be reused in specific parts of your applications.
Message throughput for the samples below will be reported in the WebSphere Message Broker V6 performance reports:
- Coordinated Request Reply
- Data Warehouse
- Large Messaging
- Message Routing
- Soccer Results
This reporting enables you to take the same code and run it in your own environment and compare your results with the reported figures. You may need to adjust for differences in capacity between the machines you use and those used for the product performance evaluation. Details of the machines used for the measurements will be included in the performance reports.
Communication between the toolkit and configuration manager has been extended to allow the use of SSL for added security. As described above under Web services support, the HTTP transport has been extended to support HTTPS to allow added privacy and security.
In addition to the WebSphere Message Broker V6 enhancements described in the sections above, here are some additional improvements:
The Configuration Manager is supported on all of the broker platforms including z/OS®, UNIX®, Linux®, and Microsoft® Windows®. This combined with the Configuration Manager Proxy API provides greater flexibility to the way you configure and manage your WebSphere Message Broker components.
You can install the development toolkit on Linux in addition to Windows.
Database support on Linux Intel is extended to include Oracle, in addition to DB2 Universal Database®.
The development toolkit in which message flow development, debugging, deployment and some operational management take place is now based on the latest release of Rational® Application Developer and Eclipse. As part of this upgrade, new XML editors are provided.
The visual debugging of flows, ESQL, Java, and graphical mappings is simplified by reducing Eclipse perspective switching.
WebSphere Message Broker on z/OS
You can now customise the JCL files that are used to create and start the broker, configuration manager, and user name server on z/OS, using an ISPF edit macro. Alternatively you can make changes to each of the PDSE members manually.
STDOUT and STDERROR for each of the broker, configuration manager, user name server, and any commands that are run is now directed to the JES Spool rather than to the HFS. This means that it is possible to monitor progress of broker-related jobs in real time though the job log. Previously, you had to wait for a job to end before seeing STDOUT and STDERROR in the job log, or alternatively, you needed to look at the information through USS. A side benefit of these changes is that the JCL is now simplified, as the output no longer needs to be copied from the HFS.
WebSphere Message Broker V6 now supports the PGM multicast protocol. There are two implementations available: PGM/IP, and PGM UDP encapsulated. Which of those you choose depends on the complexity of your network topology. If your network topology consists of two or more subnets with many receiver clients in each subnet, use PGM/IP, which takes advantage of PGM router assist support. For a simpler network topology, use the PGM UDP encapsulated implementation, which does not use PGM router assist.
Support has now been added for the topic names + and #.
This article has introduced you to the improvements in existing function as well as the new function in WebSphere Message Broker V6. Changes and improvements cover all aspects of the product, from installation and configuration through message flow development, administration, run-time management, and performance. These changes not only simplify installation and configuration, but also provide more facilities that enable you to extend the impact of WebSphere Message Broker in your enterprise. The new JMS nodes are a prime example of how Message Broker can be used to process new sources of information.
In addition to functional improvements, performance is also significantly improved in key areas such as message parsing and writing, and ESQL processing. These improvements reduce the processing cost of running message flows. For z/OS users, the potential to reduce costs is even greater through the use of the Java node and the zAAP.
To help you understand more about WebSphere Message Broker V6 and related technologies, links to additional resources are provided below. Of course, the best way to understand the new capabilities of WebSphere Message Broker V6 is to try it out for yourself.
- WebSphere Message Broker V6 announcement
- WebSphere Message Broker V6 for z/OS announcement
- WebSphere MQ SupportPacs. A wide range of downloadable code and documentation that complements WebSphere Message Broker and the WebSphere MQ family of products. Performance reports are also available.
- WebSphere Message Broker product site. Product descriptions, documentation, product news, trial downloads, training information, and more.
- WebSphere MQ product site. Product descriptions, documentation, product news, trial downloads, training information, and more.
- WebSphere MQ forums and newsgroups. Ask questions and share your opinions and expertise with other WebSphere MQ users.
- developerWorks WebSphere Business Integration zone. Latest WebSphere Message Broker technical resources, including how-to articles, downloads, tutorials, education, product information, and more.
- IBM zSeries Application Assist Processor(zAAP). Attractively priced specialized processing units that provide a strategic z/OS Java execution environment for customers who desire the powerful integration advantages and traditional Qualities of Service of the IBM mainframe platform.
- IBM Tivoli Monitoring for Business Integration. Complete systems administration for WebSphere MQ, WebSphere MQ Integrator, WebSphere MQ Workflow, and WebSphere Interchange Server.
- Trial downloads for IBM software products. No-charge trial downloads for selected IBM DB2, Lotus, Rational, Tivoli, and WebSphere products.
- Most popular WebSphere trial downloads. No-charge trial downloads for key WebSphere products.
- Safari Bookshelf: e-library designed for developers. Complete search and download access to thousands of technical books for a one-time subscription fee. Free trial for new subscribers.
- WebSphere forums. Product-specific forums where you can ask questions and share your opinions and expertise with other WebSphere users.
- developerWorks blogs. Ongoing, free-form columns by software experts, to which you can add your comments. Check out Grady Booch's blog on Software architecture and engineering.