Java Business Integration
Encyclopedia
Java Business Integration (JBI) is a specification developed under the Java Community Process
Java Community Process
The Java Community Process or JCP, established in 1998, is a formalized process that allows interested parties to get involved in the definition of future versions and features of the Java platform....

 (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
Web service
A Web service is a method of communication between two electronic devices over the web.The W3C defines a "Web service" as "a software system designed to support interoperable machine-to-machine interaction over a network". It has an interface described in a machine-processable format...

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
Web Services Description Language
The Web Services Description Language is an XML-based language that is used for describing the functionality offered by a Web service. A WSDL description of a web service provides a machine-readable description of how the service can be called, what parameters it expects and what data structures...

. The central message delivery mechanism, the normalized message router (NMR), delivers normalized messages via one of four Message Exchange Pattern
Message Exchange Pattern
In software architecture, a messaging pattern is a network-oriented architectural pattern which describes how two different parts of a message passing system connect and communicate with each other....

s (MEPs), taken from WSDL 2.0:
  1. In-Only: A standard one-way messaging exchange where the consumer sends a message to the provider that provides only a status response.
  2. 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.
  3. 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.
  4. 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
Java Management Extensions is a Java technology that supplies tools for managing and monitoring applications, system objects, devices 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.

JBI implementations

The following open-source software
Open-source software
Open-source software is computer software that is available in source code form: the source code and certain other rights normally reserved for copyright holders are provided under a software license that permits users to study, change, improve and at times also to distribute the software.Open...

 JBI based ESB
Enterprise service bus
An enterprise service bus is a software architecture model used for designing and implementing the interaction and communication between mutually interacting software applications in Service Oriented Architecture...

 implementations are available:
  • Open ESB
    Open ESB
    Open ESB is a Java based open source enterprise service bus. Open ESB can be used as a platform for both Enterprise Application Integration and SOA. Open ESB is built on open standards....

  • Petals ESB
  • Apache ServiceMix
    Apache ServiceMix
    Apache ServiceMix is an enterprise-class open-source distributed enterprise service bus and service-oriented architecture . It was built from the ground up on the semantics and APIs of the Java Business Integration specification JSR 208 and released under the Apache License...

  • FUSE ESB
    FUSE ESB
    Fuse ESB is an open source integration platform based on Apache ServiceMix that supports JBI and OSGi for use in enterprise IT organizations. It is certified, productized and fully supported by the people who wrote the code...

     (enterprise ServiceMix) - compliant JSR 208
  • Bostech ChainBuilder ESB
  • Mule
    Mule (software)
    Mule is a lightweight enterprise service bus and integration framework. It can handle services and applications using disparate transport and messaging technologies...

    . 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
Open ESB
Open ESB is a Java based open source enterprise service bus. Open ESB can be used as a platform for both Enterprise Application Integration and SOA. Open ESB is built on open standards....

 and Petals ESB.

In addition, the Project GlassFish
GlassFish
GlassFish is an open source application server project started by Sun Microsystems for the Java EE platform and now sponsored by Oracle Corporation. The supported version is called Oracle GlassFish Server...

 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 a BPEL 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
Service Component Architecture
Service Component Architecture is a software technology created by major software vendors including IBM and Oracle. SCA provides a model for composing applications that follow Service-Oriented Architecture principles...

 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 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, ISBN 1847194400; ISBN 13 978-1-847194-40-4), http://www.packtpub.com/service-oriented-java-business-integration
  • Tijs Rademakers, Jos Dirksen: "Open-Source ESBs in Action" (Manning Publications Co.: Sep 2008, ISBN 1933988215; ISBN 13 978-1933988214), http://manning.com/rademakers/ Introduction to JBI (also shortly mentions SCA) with practical examples using Mule
    Mule (software)
    Mule is a lightweight enterprise service bus and integration framework. It can handle services and applications using disparate transport and messaging technologies...

     and ServiceMix
    Apache ServiceMix
    Apache ServiceMix is an enterprise-class open-source distributed enterprise service bus and service-oriented architecture . It was built from the ground up on the semantics and APIs of the Java Business Integration specification JSR 208 and released under the Apache License...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK