Jump to content

Java Business Integration

From Alfawiki
Java Business Integration (JBI)
Company typeSpecification
IndustrySoftware, Service-oriented architecture
FounderJava Community Process (JCP)
ProductsJSR 208 (version 1.0), JSR 312 (version 2.0, removed)

Java Business Integration (JBI) represents a specification created through the Java Community Process (JCP) aimed at facilitating the implementation of a service-oriented architecture (SOA). The JCP identifiers for JBI include JSR 208 for version 1.0 and JSR 312 for version 2.0; however, the latter was removed from the JCP voting cycle in December 2010.

Built upon a Web Services framework, JBI provides a modular architecture that supports both service producers and consumers. Services interact via binding components (BCs) or are hosted internally within the container as service engines (SEs). Service descriptions utilize WSDL 2.0. Central to message handling is the normalized message router (NMR), which processes normalized messages following four Message Exchange Patterns (MEPs) defined in WSDL 2.0:

  1. In-Only: A unidirectional message where the consumer sends data and receives only a status acknowledgment.
  2. Robust In-Only: A reliable one-way message exchange requiring acknowledgment through status or fault responses.
  3. In-Out: A bidirectional interaction involving a request, response or fault, and concluding with a final status.
  4. In Optional-Out: A two-way pattern where the provider’s reply is not mandatory.

JBI employs Java Management Extensions (JMX) to oversee installation, deployment, lifecycle management, and monitoring of BCs and SEs. It also defines standard packaging formats for BCs and SEs to guarantee portability among different JBI platforms.

Moreover, JBI establishes standardized packaging for composite applications, which are composed of service consumers and providers. Service units are deployed onto components and organized into service assemblies containing metadata that facilitates "wiring" of these units together as well as linking to external services. This approach simplifies the creation of composite applications based on service integration.

JBI implementations

There are multiple open-source software Enterprise Service Bus (ESB) solutions built on JBI:

  • Open ESB
  • Petals ESB
  • Apache ServiceMix
  • FUSE ESB (the enterprise edition of ServiceMix) – adheres to JSR 208 standards
  • Mule – although not inherently JBI compliant, Mule achieves interoperability through the separate Mule-JBI project.

Both Open ESB and Petals ESB have obtained certification via the JBI/JSR 208 Technology Compatibility Kit (TCK).

The Java EE application server Project GlassFish incorporates the Open ESB JBI runtime. Additionally, the Java EE SDK packages this JBI runtime together with a BPEL orchestration engine.

Oracle’s Fusion Middleware is reported to include a JBI implementation as part of its suite.

TIBCO ActiveMatrix Service Grid delivers a service container platform based on JSR 208 and SCA, enabling integration across Java, Java EE, .NET, and BPEL service containers into composite applications running on a unified environment.

Existing JBI Components

The Open JBI Components initiative hosted on java.net serves as an incubator encouraging community contributions toward developing components compliant with the Java Business Integration specification (JSR 208).

Books

  • Binildas A. Christudas, Service-Oriented Java Business Integration (Packt Publishing, February 2008, ISBN 1-84719-440-0)

See also

External links