|
Key
This line was removed.
This word was removed. This word was added.
This line was added.
|
Changes (1)
View Page HistoryIn this document, a JBI artefact will refer to the previously detailed items. More details on Binding Components, Service Engines, Service Units, Service Assemblies, Shared Libraries, their lifecycles and usage are described in the JBI specification.
h2. Messages
The atomic JBI message, also called Normalized Message, is composed of a XML payload, attachments (binary data) and key-value properties (also view as message context). A JBI message transits between service consumer and provider in a Message Exchange. A Message Exchange contains an input Normalized Message, a set of key-value properties and potentially:
* An output Normalized Message representing the service invocation response. This depends on the Message Exchange Pattern (MEP) used to invoke the service.
* A Fault (extension of a Normalized Message) when something wrong occurs on the service side.
* A Pattern
* A Status
* …
The Message Exchanges can be classified by patterns (inspired by the WSDL 2.0 specification); we talk about Message Exchange Pattern (MEP):
* InOnly: This pattern is used for one-way exchanges
** The service consumer sends a message
** The service provider replies by an aknowledge
* InOut: This pattern is used for two-way exchanges.
** The service consumer sends a message
** The service provider reploies by a message or a fault
** The service consumer acknowleges
* InOptionalOut: This pattern is used for a two-way exchange where the provider's response is optional
** The service consumer sends a message
** The service provider can send back a response, a fault or just an acknowledgement. The consumer:
*** Acknowledges the response
*** Or sends a fault, in this case the provider must acknowledge this fault
*** Or acknowledges the initial fault
* RobustInOnly: This pattern is used for reliable, one-way message exchanges
** The service consumer sends a message
** The service provider acknowledges or send back a fault
** If a fault is returned, the service consumer acknowledges
More details on section 5.4.2 of the JBI specification.
h2. Delivery channel
The Delivery Channel (DC) is the interface between the components and the Normalized Message Router:
* The consumer (a JBI component) sets the message exchange (payload, attachments and properties) and send the message to the delivery channel
* The message bus is in charge of transmiting the message to the component which is providing the requested service
* The provider (a JBI component) receives the message exchange from its delivery channel and processes the message. Depending on the message pattern, a response, fault or acknowledgement can be set in the message exchange. The message exchange is then sent back to the consumer through the delivery channel.