Java Business Integration (JBI) is a Java community process initiative for an approach to implementing a service-oriented architecture. The JCP reference is JSR-208.
JBI is a Java Specification Request (JSR) built on Web Services that provides a pluggable architecture to a container that hosts producer and consumer components. Services connect to the container via binding components (BC) or can be hosted inside the container as part of a service engine (SE). The central message delivery mechanism, the normalized message router (NMR), delivers normalized messages via one of four message exchange patterns (MEPs):
- In-Only: A standard one-way messaging exchange where the consumer sends a message to the provider that provides only a status response.
- Robust In-Only: This pattern is for reliable one-way message exchanges. The consumer initiates with a message to which the provider responds with status. If the response is a status, the exchange is complete, but if the response is a fault, the consumer must respond with a status.
- In-Out: A standard two-way message exchange where the consumer initiates with a message, the provider responds with a message or fault and the consumer responds with a status.
- In Optional-Out: A standard two-way message exchange where the providers response is optional.
To handle functionality that deals with installation, deployment, monitoring and lifecycle concerns amongst BCs and SEs, Java Management Extensions (JMX) is used.
Although JBI is intended for use with Enterprise Service Bus, its adoption has not been accepted by the larger J2EE vendors that have their own ESB / ESB ready products [1]. There are however open-source software JBI based ESB implementations available:
Related
- Enterprise Service Bus solutions offered by several Java platform vendors.