Migration concepts and methods

An overview of the various concepts and methods for migrating from one release of the product to another.

Objects to consider during migration

It is important to consider four types of object during migration:
Operating environment migration
Upgrading the operating environment, or components in the environment such as installing a new level of JRE; see IBM MQ operating environment migration.
Queue manager migration
Migrating a queue manager following an upgrade of the IBM MQ installation to a new command level; see Queue manager migration.
When migrating queue managers that are members of a cluster, do full repositories before partial repositories. This is because an older repository cannot store newer attributes introduced in a newer release. It tolerates them, but does not store them.
IBM MQ MQI client migration
Migrating a client configuration following installation of a new version or release of the IBM MQ MQI client ; see IBM MQ MQI client migration.
It is better to migrate the clients after the queue managers that they communicate with have been migrated.
Application migration
Relinking, recompiling, or recoding an IBM MQ server or client application; see Application migration and interoperation. Application migration also includes migrating any API or channel exits.
Use the new version of the libraries to build the applications, once the queue managers have been upgraded.

Impact of migration on other queue managers or clients

In addition, you must consider the impact of migrating one queue manager, or IBM MQ MQI client, on other queue managers or clients:
Compatibility, coexistence, and interoperability
See Coexistence, compatibility, and interoperability for information about the compatibility of IBM MQ applications connected to queue managers and IBM MQ MQI client clients on different command levels. The section also explains the concept of queue manager coexistence, and the interoperability of IBM MQ JMS applications with WebSphere® Application Server.
Queue manager clusters
Can a queue manager cluster contain queue managers at different command levels? See Migrating a queue manager cluster to answer this question, and how to migrate a cluster of queue managers.
[z/OS]Queue sharing groups
Queue sharing groups involve multiple queue managers running on z/OS®. How do you migrate queue managers that are part of a queue sharing group to a new command level; see Queue sharing group migration.
High-availability clusters
How do you migrate queue managers that are part of a high-availability cluster to a new command level, and maintain continuous and reliable service? See Migrating a queue manager in a high-availability configuration, which covers both migration of multi-instance queue managers, and the migration of queue managers operating in high-availability clusters.

IBM MQ application migration model

Figure 1 shows the various components of the application migration model.

Figure 1. IBM MQ application migration model
This figure is described in the surrounding text.

This diagram shows two runtime operating system environments, each of which contains a number of software components, such as databases, application servers, and the language or subsystem run time environment. One environment is called Server, and contains an IBM MQ server and server application. The other environment is called Client, and contains an IBM MQ MQI client application.

The language or subsystem run time environment contains an IBM MQ application, the IBM MQ MQI client or server library, and IBM MQ channel and API exit programs.

The server environment has one or more queue managers, represented in the diagram by QM, that are using the installation of IBM MQ installed on the server. The components of the language or subsystem run time environment are connected to queue manager QM, either locally in the server, or remotely from the client.

The application is linked to the IBM MQ library by the MQI. The libraries are shown linked to the queue manager QM either by an SPI, which describes the connection between the process running the MQI and the queue manager processes, or by an IBM MQ MQI client connection.

The diagram also shows two more queue managers:
  • The queue manager labeled QM*, which represents queue managers of various levels installed on other servers.
  • The queue manager labeled QM-n?, which represents a number of queue managers that coexist on the same server as queue manager QM, but are running at a different release level. The installations for these different release levels are not shown in the diagram. The question-mark in the queue manager name QM-n? indicates that this capability might not be present in your environment.
Multiple releases of IBM MQ installed in the same operating environment are called coexistent. It is not necessary, but it is usual, for coexistent installations to be at different release levels. Queue manager coexistence is important for migration in two respects:
  1. It can be used to reduce the risk involved in migrating to a new command level, and reduce the downtime during the migration process.
  2. You must consider any configuration implications of running some applications or clusters on the same server with queue managers at different command levels.
For more information, see Queue manager coexistence.