Administering JBI Components
The following sections provide an overview of the JBI component types and the administrative tools available from the Sun Java System Application Server (GlassFish V2) and NetBeans to administer these JBI components. This document covers the JBI commands used by these utilities and provides links to additional information. If you have any questions or problems, see the Open ESB web site at https://open-esb.dev.java.net/
.
Contents:
JBI Component Overview
Java Business Integration (JBI) is an implementation of the JSR 208 specification, developed as a way to implement a service-oriented architecture (SOA). JBI defines an environment that offers plug-in components that function as service providers (providers of services), service consumers (consumers of services) or both, and interact using a services model based directly on Web Services Description Language (WSDL) 2.0.
GlassFish utilizes the following types JBI (Java Business Integration) Components:
- Service Engines: Provide or consume services locally within the JBI runtime environment, and enable services such as business logic, processing, transformation, and routing services. For example, one Service Engine might execute long-lived business processes, while others provide data transformation or sophisticated Electronic Data Interchange (EDI) services.
- Binding Components: Provide protocol independence for transport or communication. They access remote services using a specific protocol, such as HTTP or SOAP, and place those services onto the JBI Normalized Message Router. The binding component converts messages from their specific protocol to XML, and from XML, back to their specified protocol, a process called normalizing and denormalizing. Normalizing a message allows other JBI components to access these messages from the NMR. Binding components are specialized for theirspecific 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.
Binding components are specialized for their specific external protocols. 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.
- Shared Libraries: Provide Java classes that are available to more than one JBI Component. For example, the Sun WSDL Library can be shared by several different binding components.
- Service Assemblies: Provide 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.
For example, the EAR file mentioned above plus another application artifact, the HTTP 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.
For GlassFish ESB, service assemblies are typically created and deployed in a development tools environment, such as that provided by the NetBeans IDE. The following image displays the expanded NetBeans JBI Manager and the four types of JBI Components.
 |
Life Cycle States Within the JBI Framework
JBI components, service assemblies, and service units, each have life cycle states that are controlled by JBI administrative tools. The lifecycle states of service units are managed indirectly through the service assembly. These lifecycles can include Installed, Stopped, Started, Shutdown, Deploy, and so forth.
The JBI Runtime server persists the life cycle states of JBI Components. When the application server shuts down and then restarts, JBI Components revert to their state at the time the application server shut down.
Note - The JBI runtime attempts to revert to the “desired” state of a JBI component. For example, suppose you tried to start a JBI component but it did not start due to an error in the component. If you restart the Application Server, the JBI runtime attempts to start the component again.
There are several tools that allow you to administer binding components, service engines, shared libraries, and service assemblies, all of which are considered JBI components as a general term in this documentation.
The primary tools used to manage JBI components are:
- NetBeans JBI Manager: The NetBeans JBI Manager is a NetBeans application invoked from the Services window of the NetBeans IDE. You can right-click a JBI component or service assembly to view the administration options available.
- Sun Java Systems Application Server (GlassFish) Admin Console: The Sun Java System Application Server's Admin Console is a browser-based administrative tool that features an easy-to-navigate interface and online help. Not only does the Admin Console provide JBI Administration, it also supports system operations.
- asadmin Administrative Command Line Interface (asadmin Utility): The Sun Java System (GlassFish) Application Server asadmin Administrative Command Line Interface (CLI) is a command-line tool that is integrated with the JBI Command Line Interface (CLI). The asadmin utility and the commands associated with it perform the same set tasks that can be performed in the Admin Console or JBI Manager. For example, start and stop domains, configure the server, and deploy applications. The asadmin utility also provides advantages for programmers and script writers interested in creating automated or batched applications.
- Ant Tool (asant Utility): You can also use the asant utility to administer JBI components. The JSR 208 specification defines a standard set of Ant tasks for administering a JBI components, and are provided as Glassfish Ant extensions. JBI Ant tasks and commands are not covered in this document. For more information about using the asant utility to administer JBI Components, see http://wiki.open-esb.java.net/Wiki.jsp?page=Glassfish9.1Ant#section-Glassfish9.1Ant-JbiAntTasksDetails
.
- JConsole: JConsole is a Java(TM) application, included in the Java SE JDK, that allows you to connect to a JMX agent and view the information that is collected by the MBeans that are managed by an MBean Server. For more information on JConsole, see Using JConsole to Monitor Applications
by Many Chung.
- Scripting: Scripting can be used to write small programs to perform simple management tasks. Scripting goes through the JDK's standard scripting interface, allowing you to use dozens of languages such as JRuby, Groovy, Jython, JACL, to name a few. Scripting for the Java Platform is specified by JSR-223, and describes mechanisms that allow scripting language programs to access information developed in the Java Platform and allow scripting language pages to be used in Java Server-side Applications. For more information, visit http://jcp.org/en/jsr/detail?id=223
.
Return to GlassFish ESB Documentation Home Next
This page (revision-29) was last changed on
31-Mar-09 10:49 AM, -0700
by rjacobus.
This page was created on
25-Mar-09 13:30 PM, -0700 by rjacobus.
More info...
| Version |
Date |
Author |
Size |
Changes ... |
|
29
|
31-Mar-09 10:49 AM, -0700
|
rjacobus |
9129 |
to previous
|
|
28
|
31-Mar-09 10:48 AM, -0700
|
rjacobus |
9105 |
to previous
|
to last
|
|
27
|
30-Mar-09 10:37 AM, -0700
|
rjacobus |
9130 |
to previous
|
to last
|
|
26
|
26-Mar-09 15:51 PM, -0700
|
rjacobus |
8947 |
to previous
|
to last
|
|
25
|
26-Mar-09 15:24 PM, -0700
|
rjacobus |
8947 |
to previous
|
to last
|
|
24
|
26-Mar-09 15:21 PM, -0700
|
rjacobus |
51096 |
to previous
|
to last
|
|
23
|
26-Mar-09 14:47 PM, -0700
|
rjacobus |
50641 |
to previous
|
to last
|
|
22
|
26-Mar-09 14:14 PM, -0700
|
rjacobus |
50670 |
to previous
|
to last
|
|
21
|
26-Mar-09 13:30 PM, -0700
|
rjacobus |
50512 |
to previous
|
to last
|
|
20
|
26-Mar-09 13:26 PM, -0700
|
rjacobus |
50443 |
to previous
|
to last
|