General considerations for migrating from version 5 embedded messaging

 

General considerations for migrating from version 5 embedded messaging

This topic describes the general considerations for migrating from version 5 embedded messaging to the version 6 default messaging provider. These general considerations apply to the related migration tasks.

You do not need to change version 5 JMS applications

When migrating a WebSphere Application Server version 5 node to version 6, you do not need to make any changes to JMS applications; they can continue to use their same deployment and installation, and their same configurations of version 5 JMS resources (with one exception given in You do not need to change version 5 JMS resource definitions).

The applications can continue to use the same JMS API classes and listener ports, but rather than communicating to a WebSphere MQ queue manager, the applications communicate with a messaging engine on a service integration bus.

You do not need to change version 5 JMS resource definitions

When migrating a WebSphere Application Server version 5 node to version 6, you do not need to make any changes to JMS resource definitions. JMS applications can continue to use their same configurations of version 5 JMS resources, with the following exception.

The exception to this is for JMS applications that use the version 5 embedded messaging provider's DIRECT port for publish/subscribe messaging, as set on the WebSphere topic connection factory. If any version 5 WebSphere topic connection factory has the Port property set to DIRECT, change it to QUEUED before use with the version 6 default messaging provider.

If a node is migrated to WebSphere Application Server version 6, the JMS resources are not changed, except to use the version 6 naming convention. That is, the administrative name for the version 5 embedded messaging JMS resources is changed from

WebSphere JMS Provider resources to

V5 Default Messaging resources.

Listener
ports are copied over unmodified from the version 5 configuration, and are used on the WebSphere Application Server version 6, whenever the associated V5 Default Messaging resources are used.

After migration, the JMS resources are implemented through the WebSphere Application Server version 6 default messaging provider. You can use the version 6 administrative console to manage the JMS resources as version 5 default messaging JMS resources. For example, in the version 6 WebSphere administrative console you can list version 5 default messaging JMS queue connection factories can be managed by

Resources >

JMS Providers >

V5 Default Messaging >

WebSphere Queue Connection Factories

You should replace version 5 default messaging JMS resources with equivalent version 6 default messaging provider JMS resources as soon as is conveniently possible (after all JMS applications using those resources have been moved onto WebSphere Application Server version 6). This enables you to benefit from the better performance of the version 6 default messaging provider, and to exploit the use of multiple messaging engines in a service integration bus, and other default messaging functions enabled by service integration technologies.

You can replace JMS resources manually, for example by using the WebSphere administrative console. Alternatively, you can replace the resources programmatically, for example by some scripting that retrieves the version 5 property values then creates version 6 JMS resources with values appropriate to your version 6 environment and your use of the version 5 properties.

New JMS resources should be created as version 6 JMS resources. Any wsadmin or JMX scripts that create version 5 JMS resources need to be changed to create version 6 JMS resources for use in WebSphere Application Server version 6.

A version 5 JMS server is converted to a version 6 application server

Version 5 JMS applications access JMS resources through a JMS server, which acts as one or more queue managers. The WebSphere Application Server version 6 default messaging provider uses fully-integrated Java technology, and needs no JMS server.

On a standalone node the JMS server runs as the jmsserver service of an application server. If you migrate a WebSphere Application Server version 5 standalone node to version 6, the version 5 application server is migrated to a version 6 application server with the same name. The server is added as a member of a service integration bus that is named for the node on which the server is located. A messaging engine is created automatically on that bus for the application server.

In a deployment manager cell, each managed node has at most one JMS server. If you migrate a WebSphere Application Server version 5 managed node to version 6, the JMS server is migrated to an application server, called jmsserver, and added as a member of a service integration bus that has the same name as the node. A messaging engine is created automatically on that bus for the application server. There is only one such application server and bus for each version 5 node. Before migrating a WebSphere Application Server version 5 node, you need to stop version 5 JMS applications using the JMS queues that are to be migrated.

For each JMS queue defined on the JMS server, the migration process automatically creates a new bus queue with the same name as the version 5 JMS queue, and creates a message point assigned to the messaging engine. Messages sent to the JMS queues are stored and processed at the message point.

Use of version 6 bus resources is enabled by a WebSphere MQ client link

Version 5 embedded messaging uses WebSphere MQ technology, and for communication uses WebSphere MQ client protocols. The WebSphere Application Server version 6 default messaging provider uses fully-integrated Java technology, and JMS applications access JMS resources through the messaging engines on a service integration bus.

Version 5 JMS applications can use resources on a service integration bus through a WebSphere MQ client link assigned to a messaging engine on the service integration bus. The WebSphere MQ client link presents itself as a queue manager and transforms between the WebSphere MQ client protocols used by version 5 JMS applications and the WebSphere Application Server version 6 protocols used by messaging engines. The WebSphere MQ client link can be used to access JMS resources backed by a destination anywhere on the bus or on any other connected bus. If you migrate a WebSphere Application Server version 5 node to version 6, a default WebSphere MQ client link is created automatically for the node, and assigned to the messaging engine for the application server that is also created by the migration process. The default WebSphere MQ client link has the following properties:

Property Value
Name Default.MQClientLink
Description Default MQ Client Link
Queue manager name WAS_nodeName_jmsserver
Channel name WAS.JMS.SVRCONN

Figure 1. WebSphere Application Server 5 JMS application scenario after migration .

This figure shows an example single-node scenario after migrating the node to WebSphere Application Server version 6. The JMS resources are now managed as V5 default messaging JMS resources implemented by the version 6 default messaging provider. Also, a WebSphere MQ client link and bus queue have been created and assigned to the messaging engine, to enable version 5 JMS applications to use the JMS resources.
This figure shows an example single-node scenario after migrating the node to WebSphere Application Server version 6.  For more information, see the text that accompanies the figure.

You do not need to change version 5 client JMS resource definitions

JMS client applications that have JMS resources configured using the Application Client Resource Configuration Tool (ACRCT) in WebSphere Application Server version 5 should continue to work without change with WebSphere Application Server version 6.

You should replace version 5 default messaging JMS resources with equivalent version 6 default messaging provider JMS resources as soon as is conveniently possible (after all the application servers have been migrated onto WebSphere Application Server version 6). You should use the version 6 ACRCT to replace the JMS resources and to create any new JMS resources. New JMS resources should be created as version 6 JMS resources.

You should replace MDB listener ports with JMS activation specifications

A JMS application that uses a message-driven bean and its listener port in WebSphere Application Server version 5 can continue to use the listener port without change in WebSphere Application Server version 6. However, the message listener service uses the Application Server Facilities (ASF), which are an optional part of the JMS specification. Also, ASF is not supported by the service integration technologies on which the version 6 default messaging provider is implemented.

The version 6 default messaging provider is implemented as a Java Connection Architecture (JCA) resource adapter, for which inbound connectivity is configured as an activation specification.

Therefore, as soon as is conveniently possible, you should replace any listener port with a JMS activation specification for use by MDB applications with the version 6 default messaging provider.

If you used the listener port retry count in WebSphere Application Server version 5, there is one extra consideration. The Java Connection Architecture has no concept of a listener port retry count, so this is not supported by the version 6 default messaging provider. This should not present a problem because the version 6 default messaging provides destinations with a

"Maximum failed deliveries" setting. This defines the maximum number of times that the service tries to deliver a message to the destination before forwarding it to the exception destination. Although applications do not need to be changed, any wsadmin or JMX scripts that make use of the listener port retry count need to be changed to make use of the

"Maximum failed deliveries" setting for use in WebSphere Application Server version 6.

Messages should be consumed before migration

When migrating a WebSphere Application Server version 5 node to version 6, any messages (and knowledge of durable subscriptions) held by the JMS server are not migrated automatically. You should therefore use one of the following migration strategies:

The wildcard syntax is converted automatically for interoperation between version 5 and version 6

Existing WebSphere Application Server version 5 client applications using version 5 connection factory and destination definitions use the WMQI wildcard convention. Such applications can connect to the default messaging provider and

service integration bus, and automatically have their wildcard syntax mapped to the XPath convention when subscriptions are created. Any display of these subscriptions through a version 6 administrative interface shows the XPath syntax.

Configuration scripts for WAS 5.X Embedded Messaging should not be run, and fail if they are run

When upgrading from WebSphere Application Server version 5 to version 6, the Embedded Messaging configuration scripts are retained, but have no influence on the WebSphere Application Server version 6 default messaging provider and fail if run. Do not run the scripts. Failure of the scripts can appear to be a failure of the WebSphere Application Server version 6 installation, but no damage or action to the WebSphere Application Server installation results from running the scripts.

Parent topic: Migrating from version 5 embedded messaging

 

Related tasks


Migrating a single node from version 5 embedded messaging
Migrating a network deployment from version 5 embedded messaging
Example: Migrating an MDB application from version 5 embedded messaging - stage 1
Example: Migrating an MDB application from version 5 embedded messaging - stage 2
Searchable topic ID: rjn0040