EWS

The EWS is a part of both J2EE and the web service Stack. It defines how the both technologies can be merged for Java programmer and implements it. In the implementation we have taken an extra step from the specification by defining the Security and the transaction mappings as well. (The transaction mapping is J2EE container specific right now.)

So it is very important to understood “How the EWS fit in to the big picture “

EWS and J2EE

The Goals of the EWS project can be stated as follows (they are based on the JSR 109 specification but not limited to specification.)

  1. Integrated the parts of the Web service implementations and bind them as a platform parallel to J2EE and fill any gaps. (E.g. Jaxrpcmapping, specifying the Handler in the web service’s)
  2. Give the web services a programming model that is equivalent to the J2EE programming model. (Deploying a web service by writing an Interface + Implementation Bean and Deployment descriptors package it and deploy it in the Container. Then the Container should implement the supporting classes and make the web service available)
  3. Let the Web service to be implemented based on the EJB components and by doing so let it benefits from the value added services provide by the EJB container.
  4. Define the security and transaction mapping from the web service to EJB and the EJB to web services. And make it possible to propagate transaction or the security information transparently through web service and ejbs.
  5. Make it possible for the application deployer to provide the transaction and security service to web service which are managed by the container and added by adding a new entry to deployment descriptor.

EWS act as the part of the deploy tool for J2EE container to deploy the Web service in the J2EE container. EWS project provide a tool to accept the J2EE module as explained by the JSR109 specification and generated the required classes and the Runtime need to support the generated classes. When the code generated and the Web service is deployed the architecture will be like follows.

EWS Runtime

The architecture of the EWS tool will be as follows

EWS tool Archtecture

Deployment Descriptor (DD) parsing

There are two DD added to the JSR109, they are webservice.xml file and the jaxrpc-mapping file. For those two we are using JAXB to parse them.

For deal with WSDL file we are using the JAXRPC-Mapper which is a extension of WSDL2Java and Java2WSDL of axis.

To parse the web.xml file and ejb-jar.xml the tool use DOM for the time been. We are considering possibility of using Geronimo DD parsing technique. (Use the method standalone, maybe we can get the information from Geronimo when our tool is used inside Geronimo)

Server Side Implementation

Client Side Implementation

Geronimov Axis Integration

Proposed Framework

Security

Transaction