The Java Business Integration runtime (JBI runtime) provides a distributed infrastructure used for enterprise integration. It consists of a set of binding components and service engines, which integrate various types of information technology assets. The binding components and service engines are interconnected with a normalized message router. Binding components and service engines adapt information technology assets to a standard services model, based on XML message exchange using standardized message exchange patterns. The JBI runtime provides services for transforming and routing messages, as well as the ability to centrally administer the distributed system.
The JBI Runtime with Business Process Execution Language (BPEL) Support is provided by the Project Open Enterprise Service Bus (ESB) Starter Kit. This JBI runtime incorporates the JSR 208 specification for JBI and other open standards. The JBI runtime allows you to integrate web services and enterprise applications as loosely coupled composite applications within a Service-Oriented Architecture (SOA).
The JBI runtime is available from the Java EE 5 SDK Update 1 and the Java Application Platform SDK distributions. In the Application Server bundled with the Java EE 5 SDK, the JBI runtime is installed but disabled by default. In the Application Server bundled with the Java Application Platform SDK, the JBI runtime is installed and enabled by default. The JBI runtime is also available as a separate download that can be installed into the stand-alone Application Server.
The distribution of the JBI runtime includes a BPEL service engine, a Java EE service engine, an HTTP SOAP binding component, and a getting started tutorial. Additional components, tools, and documentation are available for download. Refer to Project Open ESB Starter Kit for more information on the additional components, tools, and documentation that are available.
To enable the JBI runtime in the Application Server, use the following asadmin enable command, then restart the server:
asadmin enable --user adminuser JBIFramework
To disable the JBI runtime, use the equivalent asadmin disable command.
When you install the JBI runtime, the Java EE Service Engine is automatically installed on the Application Server. The Java EE Service Engine acts as a bridge between the Application Server and the JBI runtime environment for web service providers and web service consumers. The Java EE Service Engine provides better performance than the default SOAP over HTTP socket connection due to in-process communication between components and additional protocols such as JMS.
The Java EE Service Engine is enabled by default. To disable it without uninstalling it, set the com.sun.enterprise.jbi.se.disable JVM option to true using the asadmin create-jvm-options command as follows, then restart the server:
asadmin create-jvm-options --user adminuser -Dcom.sun.enterprise.jbi.se.disable=true
For more information about the asadmin create-jvm-options command, see the Sun Java System Application Server Platform Edition 9 Reference Manual.
To determine whether a web service endpoint is enabled in the JBI runtime environment, you can set a jbi-enabled attribute in the Application Server. This attribute is set to true (enabled) by default. To disable an endpoint for JBI, set the attribute to false using the asadmin set command. For example, if an endpoint is bundled as a WAR file named my-ws.war with an endpoint named simple, use the following command:
asadmin set --user adminuser server.applications.web-module.my-ws.web-service-endpoint.simple.jbi-enabled=false
To determine whether requests from a web service consumer are routed through the Java EE Service Engine, you can set a stub-property named jbi-enabled in the consumer's sun-web.xml or sun-ejb-jar.xml file. This property is set to false (disabled) by default. Here is an example of the sun-web.xml file:
<sun-web-app> <service-ref> <service-ref-name>sun-web.serviceref/calculator</service-ref-name> <port-info> <wsdl-port> <namespaceURI>http://example.web.service/Calculator</namespaceURI> <localpart>CalculatorPort</localpart> </wsdl-port> <service-endpoint-interface>service.web.example.calculator.Calculator</service-endpoint-interface> <stub-property name="jbi-enabled" value="true"/> </port-info> </service-ref> </sun-web-app>
For more information about the sun-web.xml and sun-ejb-jar.xml deployment descriptor files, see the Sun Java System Application Server Platform Edition 9 Application Deployment Guide.