While synchronous request processing is appropriate for requests that take short amount of time to process, they may present an unacceptable bottleneck in situations when the requesting process can continue doing work while waiting for a response. In such cases it is more appropriate to use asynchronous messaging. There are a number of ways for applications to handle asynchronous messaging. Two common methods are callbacks or polling. In the callback scenario, either the service or the runtime calls a method on the requesting process using a special callback object. In the polling scenario, the requesting process periodically checks to see if any messages have been received.
JAX-WS defines two standard mechanisms for implementing asynchronous consumers. The Celtix Advanced Service Engine provides the support to make these mechanisms work. In addition, Celtix Enterprise supplies two messaging brokers that support asynchronous messaging.
For more information about developing asynchronous services see Chapter 7, Developing Asynchronous Applications in Developing Applications Using JAX-WS.