Asynchronous processing of inbound messages

During asynchronous processing of inbound messages, an external application calls an enterprise service and maintains a connection until the message is saved to a JMS queue and the connection ends. If an error occurs during the save of the message to the queue, the external application is responsible for reprocessing the message.

Asynchronous processing is managed by sequential or continuous JMS queues. Processing in a sequential queue guarantees the order of delivery of messages, based on a first in, first out order. Processing in a continuous queue delivers messages in any order.

You can use enterprise services to support the following transactions:

  • Importing data from a flat file or an XML file
  • Loading data from interface tables
  • Receiving an XML message from an HTTP POST request
  • Calling a web service that is configured to use a JMS queue
  • Calling an EJB
  • Using a direct JMS connection

All of these options support the use of an enterprise service, when the integration message is passed into a JMS queue. When the message is in the queue, a separate process that uses a cron task or a message-driven bean (MDB) picks up the message from the queue. The message is then processed through the enterprise service layer, the related object structure layer, and the business objects are updated. Because messages are processed through a JMS queue, no response is sent to the application that called the service and the Query operation is not supported in this processing model.