GlassFish Project - JBI based Java EE Service Engine home page

 New to GlassFish | Community Guidelines  | Downloads | FAQ How-Tos

Java EE Service Engine acts as a bridge between GlassFish and open-esb environment for web service providers and web service consumers deployed in GlassFish. It provides numerous benefits including the following :

Java EE Service Engine News

Dev tests are being developed.

Page Contents

Overview


The majority of the GlassFish code is available under the Common Development and Distribution License (CDDL) v1.0  The following page contains details about the components in GlassFish and the licenses under which they are covered.
 

open-esb project is Sun' implementation of Enterprise Service Bus (ESB) based on Java Business Integration technology, as defined in JSR 208 specification. open-esb is installed as a LifeCycle module of GlassFish. Java EE Service Engine is a JSR 208 compliant service engine. The Java EE Service Engine is automatically installed in open-esb environment if open-esb is installed on GlassFish.


Java EE Service Engine acts as a bridge between GlassFish and open-esb environment for web service providers and web service consumers deployed in GlassFish

Service Engine's functionality can be disabled by  setting com.sun.enterprise.jbi.se.disable system property to true.

Service Providers:

JAXWS Web Services deployed on Glassfish can be packaged as Servlets or EJBs.  The service engine automatically activates web service end points in ESB at the time of loading of the web service.  An endpoint can be deactivated from ESB by setting "jbi-enabled" property of corresponding <web-service-end-point> in domain.xml to false using combination of asadmin configure-webservice-management and set CLI commands.

Java EE components packaged as web services are automatically exposed in JBI environment.

Service Consumers :

Java EE Service Engine enables Java EE Components - Servlets and EJBs to route outbound requests through ESB by setting "jbi-enabled" stub property to true in sun-ejb-jar.xml and sun-web.xml . Below is example of sun-web.xml

<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>

Java EE componenets deployed in GlassFish act as service consumers in JBI environment using service engine.

Code Walk-through

The Java EE Service Engine code is split between appserv-core and appserv-addons  sub modules in the CVS repository.

The appserv-core and appserver-addons/core sub modules

The appserv-addons/jbi sub  module 

CLI Commands

If an end point is bundled as a war file named jsr-208-webservice.war with a endpoint name ws-endpoint, following CLI commands need to be executed for deactivating ws-endpoint from JBI environment.

asadmin configure-webservice-management jsr-208-webservice#ws-endpoint

asadmin set server.applications.web-module.jsr-208-webservice.web-service-endpoint.ws-endpoint.jbi-enabled=false

Unit/Acceptance Tests

The setup for running unit tests is the same as the Quicklook  tests. To run just the Service Engine unit tests do the following:

Supporting Documentation

open-esb project
LifeCycle listener module
Developing Web Services using JAX-WS

Specifications:

JSR 208
JAX-WS 2.0

ToDo List

The Java EE Service Engine currently has support for JAX-WS 2.0 Service Providers, need to support JAX-RPC web service providers.