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.

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.

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>

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 projectLifeCycle listener module
Developing Web Services using JAX-WS
Specifications:
JSR 208JAX-WS 2.0
