WAS supports asynchronous messaging based on the JMS and Java EE Connector Architecture (JCA) specifications, which provide a common way for Java programs (clients and Java EE applications) to create, send, receive, and read asynchronous requests, as messages. Applications can use point-to-point and publish/subscribe messaging.
These styles of messaging can be used in the following ways:
- request and response
- one-way and forward
JMS support enables applications to exchange messages asynchronously with other JMS clients by using JMS destinations (queues or topics). Some messaging providers also allow WAS applications to use JMS support to exchange messages asynchronously with non-JMS applications; for example, WAS applications often need to exchange messages with WebSphere MQ applications.
Applications can explicitly poll for messages from JMS destinations, or they can use message-driven beans to automatically retrieve messages from JMS destinations without explicitly polling for messages. Message-driven beans can be configured as listeners on a Java EE Connector Architecture (JCA) 1.5 resource adapter or against a listener port (as for WAS V5).
WAS supports the following messaging providers:
- The WAS default messaging provider (which uses service integration as the provider)
- The WebSphere MQ messaging provider (which uses the WebSphere MQ system as the provider)
- Third-party messaging providers that implement either a JCA V 1.5 resource adapter or the ASF component of the JMS V1.0.2 specification
Your applications can use messaging resources from any of these JMS providers. The choice of provider is most often dictated by requirements to use or integrate with an existing messaging system. For example, we might already have a messaging infrastructure based on WebSphere MQ. In this case, we can either connect directly using the WebSphere MQ messaging provider, or configure a service integration bus with links to a WebSphere MQ network and then access the bus through the default messaging provider.
If we mainly want to use messaging between applications in WAS, perhaps with some interaction with a WebSphere MQ system, the default messaging provider is the natural choice. If the business also uses WebSphere MQ, and you want to integrate WAS messaging applications into a predominately WebSphere MQ network, choose the WebSphere MQ messaging provider. To administer a third-party messaging provider, use the resource adaptor or client supplied by the third party.