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 :
  • EJBs/Servlets packaged as web services and deployed on GlassFish are transparently exposed as service providers in JBI Enviroment
  • Java EE Components - EJBs/Servlets can consume services exposed in JBI enviroment using the Java EE service engine without being aware of the underlying binding/protocol such as SOAP, JMS etc exposing the web service.
  • In-process communication between components of application server and JBI components to increase request processing speed.
  • Any component that is plugged into ESB can directly communicate with Java EE applications. For example, clients of various bindings such as SOAP or JMS can communicate with web services developed using Java EE via open-esb because of Java EE Service Engine.

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

  • define contract between appserver and the service engine.
  • include code for enabling and disabling JBI Service Engine functionality in JBI.

The appserv-addons/jbi sub  module 

  • provides implementation for  the contract between appserver and service engine
  • provides implementation of JSR 208 specified interfaces for a JBI Component

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:
  • go to glassfish/appserv-tests/devtests/webservice/jbi-serviceengine
  • change jbi_installation property to correctly point to open-esb installation folder in jbi_commons.properties file
  • start application server and execute ant all

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.

Terms of Use; Privacy Policy; Copyright ©2008-2012 (revision 20120127.ac94057)
 
 
Close
loading
Please Confirm
Close