Install and configuring a JMS provider
This topic describes the different ways that you can implement a JMS provider for use with WebSphere Application Server.
Overview
For IBM WebSphere Application Server to support bean-managed messaging, you need to install and configure one or more JMS providers that conform to the JMS specification version 1.0.2. To use message-driven beans the JMS provider must support the Application Server Facility (ASF) function defined within that specification.
You can install and use the Embedded Messaging Server option of WebSphere Application Server, install WebSphere MQ as the JMS provider, or install another "generic" JMS provider. If you install both embedded messaging and WebSphere MQ as JMS providers, for example, WebSphere applications can use JMS resources provided by both the embedded WebSphere JMS provider and the WebSphere MQ JMS provider.
WebSphere Application Server provides default JMS support with its Embedded Messaging Server component. This function is installed with WebSphere Application Server, administered through the administrative console and managed as part of the WebSphere Application Server runtime. This function is only accessible from WebSphere Application Server Web, EJB and client containers, and is not interoperable with WebSphere MQ. If access is required to heterogeneous non-JMS applications, WebSphere MQ clustering, or other WebSphere MQ functions, install WebSphere Application Server without the Embedded Messaging Server component, and should install WebSphere MQ instead as the JMS provider.
The WebSphere Application Server Embedded Messaging Client is the same Java Client feature that ships with WebSphere MQ 5.3.1, except that the Embedded Messaging Client has a licensing restriction that prohibits it from communicating with queue managers outside the WebSphere environment (that is, with any full WebSphere MQ queue managers). You do not need to install any Embedded Messaging components (client or server) in order to send and receive messages to and from the full WebSphere MQ.
To provide the supported levels of messaging, apply the latest service for WebSphere Application Server and WebSphere MQ while a production application is in Quality-Assurance or Product-Validation Test.
For more information about WebSphere Application Server messaging scenarios, and the relationship between embedded messaging and WebSphere MQ, see the following articles:
- WebSphere Application Server solutions White paper: Selecting the most appropriate JMS provider for your applications (ftp://ftp.software.ibm.com/software/websphere/resourcefinder/2318-00.pdf). This white paper describes the different Java Message Service (JMS) options that are available from IBM for WebSphere Application Server applications. It compares the messaging technology built into WebSphere Application Server, V5 with IBM WebSphere MQ, IBM WebSphere Business Integration Event Broker and IBM WebSphere Business Integration Message Broker.
- JMS Topologies and Configurations with WebSphere Application Server and WebSphere Studio V5 (http://www7b.boulder.ibm.com/wsdd/library/techarticles/0310_barcia/barcia.html). This technical article helps you understand configuration options within WebSphere Application Server for Java Message Service (JMS) applications, including using embedded messaging and WebSphere MQ (formerly MQSeries). It covers setting up your development environment to support various JMS scenarios, development and runtime topologies, and scripting and security.
You can install and configure a JMS provider in one or more of the following ways:
- Installing WebSphere embedded messaging as the JMS provider.
Note:
- WebSphere embedded messaging as the JMS provider supports both queues (for point-to-point messaging) and topics (for publish/subscribe messaging).
- You can install IBM WebSphere Application Server with embedded messaging on the same host as an existing WebSphere MQ installation, which must be at a supported level of WebSphere MQ features.
- You can install IBM WebSphere Application Server with embedded messaging then later install WebSphere MQ for use as a JMS provider.
- After installing WebSphere MQ and WebSphere Application Server on the same host, only service WebSphere MQ with its CSD updates, and separately service WebSphere Application Server with its fix packs. This approach helps to avoid potential failures if you later decide to uninstall WebSphere Application Server fix packs.
- Installing WebSphere MQ as the JMS provider.
Note:
- You can install WebSphere MQ before IBM WebSphere Application Server. If you then want to install embedded messaging, ensure that the WebSphere MQ installation is at a supported level of MQ features.
- If you do not want to use the embedded WebSphere JMS provider, you can install IBM WebSphere Application Server without the Embedded Messaging options.
- You can install WebSphere MQ for use as a JMS provider on top of WebSphere Application Server embedded messaging; this automatically uninstalls the installed WebSphere Embedded Messaging Server component, and results in a single WebSphere MQ Server installation that is used to provide JMS resources for both embedded messaging and WebSphere MQ.
- For point-to-point messaging WebSphere applications can continue to use WebSphere queue resources (through the embedded messaging JMS provider) or WebSphere MQ queue resources that you define to IBM WebSphere Application Server.
- For publish/subscribe messaging, WebSphere applications can continue to use WebSphere topic resources (through the embedded messaging JMS provider) or WebSphere MQ topic resources that you define to IBM WebSphere Application Server, and which are provided by a Publish/Subscribe broker installed in addition to the base WebSphere MQ.
The preferred solution for publish/subscribe messaging with WebSphere MQ as the JMS provider is a full broker such as WebSphere MQ Event Broker. Failing this, you can install the MA0C SupportPac with WebSphere MQ.
- If you install WebSphere MQ as the JMS provider, you can use the WebSphere administrative console to administer the WebSphere MQ JMS provider resources, such as queue connection factories. However, you cannot administer MQ security, which is administered through WebSphere MQ.
- You can change from using WebSphere embedded messaging to WebSphere MQ as the JMS provider for WebSphere enterprise applications, as described in Moving from the embedded WebSphere JMS provider to WebSphere MQ.
For more information about scenarios and considerations for using WebSphere MQ with IBM WebSphere Application Server, see the White Papers and Red books provided by WebSphere MQ; for example, through the WebSphere MQ library Web page at http://www-3.ibm.com/software/ts/mqseries/library/
- Installing another JMS provider, which must conform to the JMS specification and, to use message-driven beans, support the ASF function. If you want to use a JMS provider other than the embedded WebSphere JMS provider or a WebSphere MQ JMS provider, complete the following steps:
- Installing and configuring the JMS provider and its resources by using the tools and information provided with the JMS provider.
- Defining the JMS provider to WebSphere Application Server as a generic JMS provider.
Note: You cannot use the WebSphere administrative console to administer the JMS provider or its resources.
Example
- A new IBM WebSphere Application Server server machine, hostA.
This scenario starts with adding embedded messaging as the JMS provider, then optionally adding WebSphere MQ as an alternative JMS provider. Each stage summarizes the messaging functions that can be added.
- Installing embedded messaging as the only JMS provider.
You want to be able to run WebSphere applications that use the WebSphere JMS resources for both point-to-point and publish/subscribe messaging.
- Install IBM WebSphere Application Server with the Embedded Messaging Server and Embedded Messaging Client options.
- Use the administrative console to configure WebSphere JMS resources; for example, WebSphere Queue Connection Factories and WebSphere Topic Connection Factories.
- On any client machines that are to use the WebSphere JMS resources, install IBM WebSphere Application Server with the Embedded Messaging Client option.
- Adding WebSphere MQ as an alternative JMS provider for point-to-point messaging.
Besides the point-to-point and publish/subscribe messaging that uses the embedded WebSphere JMS resources (from the preceding step), you want to use WebSphere MQ Queue resources for point-to-point messaging.
- Install WebSphere MQ 5.3 with the required features. For more information about installing WebSphere MQ, see the WebSphere MQ Quick Beginnings book for your machine's platform . When installing WebSphere MQ, perform the following actions:
- When asked if you want to remove or modify the version of WebSphere MQ currently installed, choose to remove the Server. (The WebSphere MQ install program recognizes the installed WebSphere embedded messaging as an installed version of WebSphere MQ.)
- Select the option to keep existing queue managers.
- Proceed with the installation of the full WebSphere MQ Server by running the install program again, after the old WebSphere MQ server (the Embedded Messaging Server) has been removed.
- Use the administrative console to configure WebSphere MQ Queue Connection Factories and WebSphere MQ Queue Destinations.
- Adding WebSphere MQ Event Broker for alternative publish/subscribe messaging.
For publish/subscribe messaging, you want to be able to run WebSphere applications that use the WebSphere MQ Topic resources or the embedded WebSphere Topic resources (such as those configured in preceding steps).
- Install WebSphere MQ Event Broker. For more information about installing WebSphere MQ Event Broker, see the WebSphere MQ Event Broker Installation Guide for your machine's platform .
- Use the administrative console to configure WebSphere MQ Topic Connection Factories and WebSphere MQ Topic Destinations.
- An existing WebSphere MQ 5.2 server and broker machine, hostA, where you want to install embedded messaging as the JMS provider.
- Upgrade to WebSphere MQ 5.3 with the required features. For more information about upgrading to WebSphere MQ 5.3, see "Migrating from an earlier version" in the WebSphere MQ Quick Beginnings book for your machine's platform .
- To continue using publish/subscribe messaging, upgrade to a supported broker such as WebSphere MQ Event Broker.
- Install IBM WebSphere Application Server with the Embedded Messaging Server. You do not need to install the Embedded Messaging Client, which is the same as installed with WebSphere MQ.
- Use the administrative console to configure WebSphere JMS resources; for example, WebSphere Queue Connection Factories and WebSphere Topic Connection Factories.
- If you want WebSphere applications to use the WebSphere MQ resources, use the administrative console to configure WebSphere MQ JMS resources; for example, WebSphere MQ Queue Connection Factories and WebSphere MQ Destinations.
- On any client machines that are to use the WebSphere JMS resources, install IBM WebSphere Application Server. If the WebSphere MQ client is not installed, install Embedded Messaging Client option.
You can run WebSphere applications that use both the WebSphere JMS resources and WebSphere MQ JMS resources for messaging.
- An existing WebSphere MQ server machine, hostA, where you want to use WebSphere MQ as the only JMS provider.
- For point-to-point messaging, ensure that you have installed WebSphere MQ 5.3 with required features. For publish/subscribe messaging, ensure that you have also installed a supported broker such as WebSphere MQ Event Broker. For more information about installing WebSphere MQ 5.3 and Event Broker, see the WebSphere MQ Quick Beginnings book and WebSphere MQ Event Broker Installation Guide for your machine's platform.
- Install IBM WebSphere Application Server without any of the Embedded Messaging Server and Embedded Messaging Client options.
- Use the administrative console to configure WebSphere MQ JMS resources; for example, WebSphere MQ Queue Connection Factories and WebSphere MQ Topic Connection Factories.
- On any client machines that are to use the WebSphere JMS resources, install IBM WebSphere Application Server. If the WebSphere MQ client is not installed, install the Embedded Messaging Client option.
You can run WebSphere applications that use the WebSphere MQ JMS resources for point-to-point or (with a supported broker installed) publish/subscribe messaging.
Configuring JMS provider resources
Moving from the embedded WebSphere JMS provider to WebSphere MQ
Managing JMS servers in a deployment manager cell
Administering WebSphere JMS support