- Java Business Integration
Java Business Integration (JBI) is a specification developed under the
Java Community Process (JCP) for an approach to implementing a service-oriented architecture (SOA). The JCP reference is JSR 208 for JBI 1.0 and JSR 312 for JBI 2.0.JBI is built on a
Web Service s model and provides a pluggable architecture for a container that hosts service 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 services model used is Web Services Description Language 2.0. The central message delivery mechanism, the normalized message router (NMR), delivers normalized messages via one of fourMessage Exchange Pattern s (MEPs), taken from WSDL 2.0:# 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 provider's 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. JBI defines standardized packaging for BCs and SEs, allowing components to be portable to any JBI implementation without modification.JBI defines standard packaging for composite applications: applications that are composed of service consumers and providers. Individual service units are deployable to components; groups of service units are gathered together into a service assembly. The service assembly includes metadata for "wiring" the service units together (associating service providers and consumers), as well as wiring service units to external services. This provides a simple mechanism for performing composite application assembly using services.
JBI implementations
The following are
open-source software JBI based ESB implementations available:* Open ESB
*Apache ServiceMix
*FUSE ESB (enterprise ServiceMix)
* BostechChainBuilder ESB
* Mule. Though not a JBI compliant container by itself, Mule provides interoperability with JBI containers. There is a separate Mule-JBI project that is to address this JBI compliant issue.
* JBossESB
*OW2 PEtALS Open-source JBI implementations certified by the TCK are Sun/Open ESB and OW2/PEtALS.
In addition, the Project
GlassFish open-source Java EE application server comes with the JBI runtime from the Open ESB project.Java EE SDK also includes the JBI runtime and aBPEL orchestration engine.Oracle claims its Fusion Middleware comes with JBI implementation.
TIBCO ActiveMatrix Service Grid is a service virtualization product that provides a service container framework, based on the JSR 208 and SCA specifications, allowing service containers (Java, Java EE, .net, BPEL) to be added as needed, as composite applications on a common foundation..Existing JBI Components
The [https://open-jbi-components.dev.java.net/ Open JBI Components] project on java.net is an incubator project started to foster community-based development of JBI components that conform to the Java Business Integration specification (JSR 208).
Books
* Binildas A. Christudas, "Service Oriented Java Business Integration" (Packt Publishers: Feb 2008, ISBN 1847194400; ISBN 13 978-1-847194-40-4), http://www.packtpub.com/service-oriented-java-business-integration
See also
*
Enterprise Service Bus solutions offered by severalJava platform vendors.
* [http://www.osoa.org/display/Main/Relationship+of+SCA+and+JBI Open SOA article on JBI's relationship to SCA]External links
* [http://jcp.org/aboutJava/communityprocess/final/jsr208/index.html JSR 208 specification on the JCP site]
* [http://jcp.org/en/jsr/detail?id=312 JSR 312 page on the JCP site]
Wikimedia Foundation. 2010.