Contributed and maintained by Vince Genovese
December, 2007
This guide provides an overview on Java Business Integration (JBI) concepts. It also includes overview information on JBI components available in the full download with NetBeans IDE 6.0. This includes information for configuring, deploying, starting, and stopping JBI components.
For more information on individual JBI components refer to the User Guide available for each JBI component.
Java Business Integration (JBI) is a standard developed under the Java Community Process (JCP) as an approach to implementing a service-oriented architecture (SOA). It defines an environment for plug-in components that interact using a services model based directly on Web Services Description Language (WSDL) 2.0. The plug-in components function as service providers, or service consumers, or both.
Components that supply or consume services locally (within the JBI environment) are termed Service Engines. Components that provide or consume services using some sort of communications protocol are called Binding Components.
JBI components, once installed in the JBI environment, interact with each other using message exchanges published by the JBI component providing the services. The message exchanges provide service descriptions that are the sole source of information needed for service consumer components to interact with the service provider.
The JBI environment provides a lightweight messaging infrastructure for the exchange of messages between the JBI components, which always use this messaging infrastructure as an intermediary.
Figure 1 below illustrates basic messaging concepts in a JBI runtime environment.
Figure 1: JBI Runtime Environment

Figure 1 shows JBI components (Service Engines and Binding Components) in a JBI runtime environment. Each JBI component communicates with the JBI Normalized Message Router (NMR) using only the communication protocol it is expecting (for example, using HTTP, JMS, or some other communication protocol).
Because each JBI component communicates with the NMR, each component thus can communicate with any other JBI component within the JBI runtime environment. Note that Service Engines provide other JBI components access to services while Binding Component provide access to services that are external to the JBI environment.
Service Engines provide or consume services locally within the JBI runtime environment, enabling services such as business logic, processing, transformation, and routing services.
For example, some Service Engines might execute long-lived business processes, while others provide data transformation or sophisticated Electronic Data Interchange (EDI) services.
The following links describe in greater detail the service engines available with NetBeans IDE 6.0 Preview with SOA (M9):
Binding Components provide protocol independence for transport or communication. They access remote services using a specific protocol, and place those services onto the JBI Normalized Message Router. Other JBI components can then access these services from the NMR.
Binding Components are specialized for specific external protocols, such as HTTP, JMS, and others. This allows any JBI component to communicate over any protocol or transport available from Binding Components deployed to the JBI runtime environment. There is no need to implement these protocols separately in business logic.
The following links describe in greater detail the binding components available with NetBeans IDE 6.0:
The JBI components available with the NetBeans IDE 6.0 are installed as part of the GlassFish application server, which is included in the Full download of the IDE. Initially, the installed JBI components are in the stopped state of the JBI component life cycle. Refer to the section Life Cycles Within the JBI Framework for more information on the JBI component lifecycle, and how to start, stop, and shutdown JBI components.
Each type of JBI component needs specific application artifacts to configure how the component provides and consumes services. For example, an EAR file can be used to configure a Java EE Service Engine to provide a desired service. A collection of such related artifacts is called a Service Assembly. Each application artifact in the service assembly is a service unit. The service assembly contains configuration information that defines to which JBI component each service unit is deployed.
For example, the EAR file mentioned above plus another application artifact, the SOAP Binding configuration data used to make the service available to SOAP clients, constitute service units within a service assembly. Once an assembly is ready for use, it is deployed to the JBI environment. The JBI environment automatically distributes the service units to the appropriate JBI components that use them.
Service assemblies are typically created and deployed in a development tools environment, such as that provided by the NetBeans IDE. Other administrative tools are available. For more information, refer to the section JBI Administration.
JBI Components, service assemblies, and service units have life cycle states that are controlled by JBI administrative tools. The NetBeans IDE 6.0 provides administrative tools for managing the lifecycle states of the JBI components and service assemblies. The lifecycle states of service units are managed indirectly through the service assembly. Other administrative tools are available, as described in the section JBI Administration.
The GlassFish application server persists the life cycle state of JBI components and service assemblies. When the application server shuts down and then restarts, JBI components and service assemblies revert to their state at the time the application server shut down.
Table 1: JBI Component Life Cycle
When you first install NetBeans IDE 6.0, the installer installs JBI service engines and binding components that are provided with the NetBeans IDE. After installation, these components are in the stopped state. You can stop, start, or shutdown JBI components using the JBI Manager in the NetBeans IDE. The following procedure shows how to start a JBI component.
To start a JBI component using the JBI Manager in the NetBeans IDE:
Figure 2: JBI Components in NetBeans IDE

Table 2: JBI Service Assembly Life Cycle
The life cycle for service units is dependent on the life cycle for the service assemblies which contain the service units. When you deploy, start, stop, and shutdown a service assembly, the same action occurs for all service units contained within the service assembly.
One of the most frequent JBI administration tasks is to deploy a service assembly to a component. Here is the typical order of events for this scenario:
JBI components have runtime properties that describe the component or define their behavior. Properties that describe the component are read-only and provide information such as the name or life cycle state. Properties that define behavior are configurable and can be modified according to the requirements of the composite application that utilizes the component.
JBI service assemblies and service units have read-only properties that describe the service assembly or service unit.
Some component properties are common to all JBI components, but an individual component might have specific properties that control behavior specific to that component. Table 3 lists the properties that are common to all JBI components. Refer to each components User Guide for information on additional runtime properties specific to that component.
Table 3: Runtime Properties for JBI Components
To configure the runtime properties of a JBI component using the NetBeans JBI Manager:
Service assembly runtime properties provide information about the service assembly.
Table 4: Runtime Properties for Service Assemblies
Service unit runtime properties provide information about the service unit.
Table 5: Runtime Properties for Service Units
Figure 3 illustrates the JBI runtime environment available with NetBeans IDE 6.0 Preview with SOA (M9). It includes several of the JBI components that are installed by default in the JBI environment. Figure 3 also references the JBI administrative functions necessary to install JBI components and deploy service assemblies to JBI components.
Figure 3: JBI Runtime Environment Administration

The NetBeans IDE provides several tools you can use to administer JBI composite applications.
You are viewing a mobilized version of this site...
View original page here