Index Changes
This is version 1. It is not the current version, and thus it cannot be edited.
[Back to current version]   [Restore this version]

JBI Introduction

  • The JBI 1.0 (JSR-208) specification is an industry-wide initiative to create a standardized integration platform for Java and business applications.
  • JBI addresses service-oriented architecture (SOA) needs in integration

JBI Basics

  • Messaging based, plug-in architecture
  • This infrastructure allows third-party components to be “plugged in” to a standard infrastructure, and allows those components to interoperate
  • It does not define the pluggable components themselves, but the container/framework interfaces, behavior and services
  • Is itself a service-oriented architecture
  • Components describe their capabilities via WSDL
  • Key components
    • Service Engines (SE) - pluggable business logic
    • Binding Components (BC) - pluggable external connectivity
    • Normalized message router (NMR)

JBI High-level architecture

Top-level view from the spec jbihighlevelarchitecture.png

Message Exchange Example

Example from the spec jbimessageexchangeexample.png
  • Message exchange patterns supported out of the box are: One-way, Reliable One-way, Request-Response, Request Optional-Response

Normalized Messages

  • Standard format forms the foundation of the interoperability between JBI components
  • The primary content of a normalized message is always XML
  • There are two distinct parts to a normalized message
    • Content - the message data, as described by the abstract WSDL (represented as an XML transform Source, e.g. DOM or SAX Source)
    • Context (Meta-data in message properties, such as a security subject or protocol headers)

Service Units and Service Assemblies

  • Binding Components and Service Engines can act as containers
  • Service Units (SU) can be deployed to installed BCs and SEs
    • This allows the deployment (and undeployment) of component-specific artifacts (e.g. concrete WSDLs)
    • Can describe what services are provided and consumed by the component
    • Besides the standard descriptor, the component is responsible for interpreting the contents of the SU jar
  • A Service Assembly (SA) can package multiple service units and defines the target components to deploy them to

Lifecycles controlled by JBI Framework

  • Binding Components and Service Engines (extensible)
  • Service Units
  • Service Assemblies


  • JBI operates internally on the abstract WSDL
  • Our binding components use the information from the concrete WSDL to communicate externally
  • JBI is internally based on WSDL 2.0. So for example to normalize WSDL 1.1 defined messages, it defines a wrapped format

JBI Intro Pictures

JSPWiki v2.4.100
« Home Index Changes Prefs
This particular version was published on 31-Oct-06 20:46 PM, -0800 by jbi