You are on page 1of 6

JBI (Java Business Integration) Why JBI ? What is JBI ?

? JBI Architecture JBI Component Packaging Component Lifecycle System Management & Administration JBI Messaging Model NMR Message Exchange Patterns Integration Scenario What Next ? Why JBI ? Provides a service-oriented integration framework Creates a multi-vendor pool of integration components Give users the choice of components to use including developing custom components Eliminates vendor lock-in WHY JBI ? (Cont.)
Point to Point Integr ation N*N-N conne ctions 2*(N1) adapt ors per comp onent Service Oriented Integrati on 2N connecti ons 2 adaptors per compone nt

D Ad apt ors

Canonical Message & Protocol Format

What is JBI ? Standards-based architecture for integration solutions Allows third-party components to be plugged in into a standard integration infrastructure Components communicate via WSDL-based mediated message exchanges

Defines a 'meta-container' or 'container of containers'

JBI Architecture

JBI Architecture
JBI ENVIORNMENT
Local Providers /Consumers

SE
DC

SE
DC
Installation Deployment Control

NMR
DC DC Protocol Handlers

JMX Apps

Monitoring

BC

BC

Ext Service Provider

Ext Service Consumer

JBI Component Packaging Service Engines Business Logic Providers Orchestrate Service Consumption and provision. Binding Components To communicate using remote protocols. To normalize/denormalize messages. Shared Libraries Group of Libraries that can be used by all the components. Service Units Artifacts meant to be deployed for a specific component. Provides the run time configurations for the component. Service Assemblies Collection of service units. Deployed in JBI Environment

A component starts in the so-called empty state: it is either not yet installed, or has been uninstalled

The started state means that the component is actively offering and consuming services (accepting and creating new MessageExchange instances via its DeliveryChannel). The stopped state means that the component is no longer offering and consuming services. The shutdown state means that the component is no longer offering and consuming services, and that all resources used by the component have been released. This state is generally entered prior to full shutdown of the JBI system

onUninstall()

shutdown
onInstall()

init()

shutDown()

stop()

started
start()

stopped

System Management and Administration Java Management eXtensions (JMX) based Provides life cycle services for SEs and BCs Install SE/BC Start SE/BC Stop SE/BC Shutdown SE/BC Uninstall SE/BC Provides life cycle services for composite applications Deploy Service Assembly Start Stopping Service Assembly

Shut down Service Assembly Undeploy Service Assembly

JBI Messaging Model


WSDL based Messaging Model
Abstract Model
Message types are defined using XML schema Operation: Interactions with a service defined in terms of normal and faults messages Interface: Collections of related operations

Concrete Model
Binding types: A binding type identifies the type of protocol to which the service is being "bound". Endpoint: Designates the communications endpoint information needed by a service consumer to interact with a service provider, using a particular protocol. Service : A service is a collection of endpoints that offer access to the same service

NMR
The Normalized Message Router (or NMR) receives message exchanges from JBI components and routes them to the appropriate component for processing. This decouples the service producers from service consumers. Point-to-point solutions, where each of n components requires n-1 interfaces for full communication, are replaced by a bus solution where each component requires a single interface to the bus for global communication. Benefits of NMR distributed - to remove geographical constraints message-based - to promote loose coupling open standards-based - to preserve investment and encourage participation reliable - to meet the requirements of mission-critical business operations

Structure of Normalized Message


Normalized message consists of three parts:
A payload, which is an xml document that conforms to a WSDL message type without any protocol or encoding Properties (or metadata) holds extra data associated with the message (security, transactions ...) Attachments are arbitrary (non-xml) data that contain a data handler to manipulate them
Key1=valu e1 Key2=valu e2 Message Payload (XML) Attachme nts (Binary Data)

A Normalized Message

Message Exchange Patterns


Four patterns are supported by JBI: In-Only: consumer issues a request to provider with no error (fault) path provided. Robust-In-Only: consumer issues a request to provider. Provider may respond with a fault if it fails to process request. In-Out: consumer issues a request to provider, with expectation of response. Provider may respond with a fault if it fails to process request. In-Optional-Out: consumer issues a request to provider, which may result in a response. Consumer and provider both have the option of generating a fault in response to a message received during the interaction.

Example of a Integration Scenario


JBI ENVIORNMENT
Business Logic/Service Provider

Credit Card Verification SE


DC

NMR
HTTP/SOAP BC
DC Protocol Conversion/Message Normalization

Message Flow

Ext Service Consumer

You might also like