GlassFish v2
JBI Integration

Binod P.G

Presentation to AS user experience meeting 28th Nov 2006

http://glassfish.dev.java.net

Agenda

What is JBI? What is JBI Integration?

CLI Commands.

Admin GUI.

Runtime Integration.

Java EE Service Engine.

HTTP BC.

Questions.

What is JBI?

From Wikipedia

Java Business Integration (JBI) is a specification developed under the Java Community Process (JCP) for an approach to implementing a service-oriented architecture (SOA).

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.

JBI Architecture

Key components

Service Engines (SE)

pluggable business logic

Binding Components (BC)

pluggable external connectivity

Normalized message router (NMR)

Message bus connecting SEs and BCs

Message Exchange

JBI and GlassFish before V2

Open Source Project http://open-esb.dev.java.net

Java EE SDK contains JBI and Application Server

JBI is an optional addon in Java EE SDK.

Java EE SDK contains HTTP/SOAP BC and BPEL Service Engine.

JBI and Appserver have their own administration tools

Different enterprise architectures.

JBI Integration in GlassFish V2

Provide JBI functionality Out of the Box.

Unified Clustering Architecture.

Integrated Administration Experience.

CLI Commands for JBI system.

Admin GUI Support for JBI system.

Asant supports JBI tasks.

Autodeploy directory.

System Components

Java EE Service Engine.

HTTP/SOAP BC.

Admin CLI Commands

Asadmin supports JBI.

Supports Appserver Standalone and Cluster.

List of example commands

install-jbi-component

start-jbi-component

stop-jbi-component

shut-down-jbi-component

uninstall-jbi-component

deploy-jbi-service-assembly

start-jbi-service-assembly

stop-jbi-service-assembly

...........

...........

Admin GUI Integration

Autodeploy

JBI service assemblies can be autodeployed using appserver autodeploy directory.

AS_HOME/domains/domain1/autodeploy

JBI components can be autoinstalled using AS_HOME/domains/domain1/jbi/autoinstall directory.

Runtime Integration

JBI Runtime is integrated as a pre-defined lifecycle module in the domain.xml.

Supports Developer Profile and Cluster Profile.

Each Appserver VM contain a Normalized Message Router.

Composite Applications can be deployed to appserver cluster.

JBI Runtime follow appserver clustering architecture.

Transaction Integration.

The resources used in JBI can take part in appserver managed transaction.

The resources used in JBI will be handled by appserver's transaction recovery mechanism.

Both JBI and Java EE components can be executed within a single transaction.

Java EE Service Engine

Bridge between Java EE and JBI.

Java EE apps can access JBI components.

JBI components can access Java EE webservices.

New Features

Java EE apps can be packaged inside a JBI service assembly.

Supports Transaction flow between Java EE and JBI.

Supports Security propagation.

Performance improvements

No conversion between SOAP and JBI messages.

HTTP/SOAP Binding Component

Used to communicate with webservices from JBI service assemblies.

System JBI component in Glassfish.

Based on high-performance grizzly nio framework.

Q & A

GlassFish v2
JBI Integration

Binod P.G

binod@dev.java.net

GlassFish V2 JBI Integration

GlassFish V2 JBI Integration

GlassFish V2 JBI Integration

Presentation to AS user experience meeting on Nov 28 2006

2006-04-04T14:35:26