Java Business Integration (JBI) is a specification developed under the
Java Community Process
The Java Community Process (JCP), established in 1998, is a formalized mechanism that allows interested parties to develop standard technical specifications for Java technology. Anyone can become a JCP Member by filling a form available at thJCP we ...
(JCP) for an approach to implementing a
service-oriented architecture
In software engineering, service-oriented architecture (SOA) is an architectural style that focuses on discrete services instead of a monolithic design. By consequence, it is also applied in the field of software design where services are provided ...
(SOA). The JCP reference is JSR 208 for JBI 1.0 and JSR 312 for JBI 2.0. JSR 312 was removed from the JCP balloting process on 17 Dec, 2010 by the submitters without being accepted.
JBI is built on a
Web Services 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 four
Message Exchange Patterns (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
Java Management Extensions (JMX) is a Java technology that supplies tools for managing and monitoring applications, system objects, devices (such as printers) and service-oriented networks. Those resources are represented by objects called MBeans ...
(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.
Difference Between C vs C++ vs Python vs Java
/ref>
JBI implementations
The following open-source software
Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Ope ...
JBI based ESB ESB may refer to:
Education
* École supérieure du bois, a French engineering College
* Edwards School of Business, at the University of Saskatchewan in Canada
* English Speaking Board, a British educational charity
* ESB Business School, at R ...
implementations are available:
* Open ESB
* Petals ESB
* Apache ServiceMix
* FUSE ESB (enterprise ServiceMix) - compliant JSR 208
* 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 compliance issue.
The following ESBs are certified by the JBI/JSR 208 TCK: Open ESB and Petals ESB.
In addition, the Project GlassFish
GlassFish is an open-source Jakarta EE platform application server project started by Sun Microsystems, then sponsored by Oracle Corporation, and now living at the Eclipse Foundation and supported by Payara, Oracle and Red Hat. The supported ...
open-source Java EE application server comes with the JBI runtime from the Open ESB project.
Java EE
Jakarta EE, formerly Java Platform, Enterprise Edition (Java EE) and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing and web se ...
SDK also includes the JBI runtime and a BPEL
The Web Services Business Process Execution Language (WS-BPEL), commonly known as BPEL (Business Process Execution Language), is an OASIS standard executable language for specifying actions within business processes with web services. Process ...
orchestration engine.
Oracle claims its Fusion Middleware comes with JBI implementation.
TIBCO ActiveMatrix Service Grid provides a service container framework, based on the JSR 208 and SCA specifications ( Service Component Architecture), allowing service containers (Java, Java EE, .net, BPEL) to be added as needed, as composite applications on a common foundation.
Existing JBI Components
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 Publishing: Feb 2008, ; ), http://www.packtpub.com/service-oriented-java-business-integration
See also
*Enterprise Service Bus
An enterprise service bus (ESB) implements a communication system between mutually interacting software applications in a service-oriented architecture (SOA). It represents a software architecture for distributed computing, and is a special varia ...
solutions offered by several Java platform
Java is a set of computer software and specifications developed by James Gosling at Sun Microsystems, which was later acquired by the Oracle Corporation, that provides a system for developing application software and deploying it in a cro ...
vendors.
* Service Component Architecture (SCA)
References
{{Reflist
External links
JSR 208 specification on the JCP site
JSR 312 page on the JCP site
Open SOA article on JBI's relationship to SCA
Java Business Integration Specification.
Business Integration
Business Integration
Service-oriented architecture-related products