IBM MQ classes for JMS/Jakarta Messaging architecture

IBM® MQ classes for JMS and IBM MQ classes for Jakarta Messaging have a layered architecture. The topmost layer of code is a common layer that any IBM Java messaging provider can use.

[Jakarta Messaging 3.0]IBM MQ 9.3.0 introduced support for Jakarta Messaging 3.0. JMS 2.0 is still fully supported.

IBM MQ classes for JMS and IBM MQ classes for Jakarta Messaging have a layered architecture as shown in the diagram Figure 1. The topmost layer of code is a common layer that can be used by any IBM JMS or Jakarta Messagingprovider. When an application calls a JMS or Jakarta Messagingmethod, any processing of the call that is not specific to a messaging system is performed by the common layer, which also provides a consistent response to the call. Any processing of the call that is specific to a messaging system is delegated to a lower layer. In the following diagram, the IBM MQ messaging provider is shown in the lower layer, together with two further messaging providers (Messaging provider A and Messaging provider B.)

Figure 1. The layered architecture for IBM JMS and Jakarta Messaging providers
This figure is described in the surrounding text.
A layered architecture fulfills following objectives:
  • To improve the consistency of behavior of the various IBM JMS and Jakarta Messaging providers
  • To make it easier to write a bridge application between two IBM messaging systems
  • To make it easier to port an application from one IBM JMS or Jakarta Messaging provider to another