Webservices Integration One Pager

[

Unknown macro: {TableOfContents title=' '}

|(TableOfContentstitle='')]

1. Introduction

1.1. Project/Component Working Name:

Webservices Integration in Glassfish V3

1.2. Name(s) and e-mail address of Document Author(s)/Supplier:

Bhakti Mehta, Jitendra Kotamraju,Harold Carr, Marek Potociar

Name: bhakti.mehta@sun.com, jitendra.kotamraju@sun.com, harold.carr@sun.com, marek.potociar@sun.com

1.3. Date of This Document:

12/11/08

2. Project Summary

2.1. Project Description:

This one pager is to support webservices in v3 and provide QOS which Project Metro has to offer.
This will provide information on how Metro is integrated in V3 .

2.2. Risks and Assumptions:

3. Problem Summary

3.1. Problem Area:

We need to provide support for webservices for JavaEE 6 . For this we need to integrate the webservices stack Metro metro.java.net and also provide
support for JSR 109 in V3. We also need to provide the tools required for webservices in V3.

3.2. Justification:

We need to conform to the JavaEE platform specification and provide support for webservices in V3. Additionally we also provide QOS features from Metro 2.0 which get integrated in V3.
For more information on Metro check the metro website metro.java.net

4. Technical Description:

4.1. Details:

The Metro bundles will be delivered as OSGI bundles and will be published to a maven repository.
The implementation for JSR 109 will be part of v3 and will be plugged into the v3 framework by following the v3 guidelines.

File Layout

Metro is delivered as 4 OSGi bundles

  • webservices.jar (This OSGi bundle contains all the implementation, api and tools classes from metro excluding JAXB)
  • jaxb.jar (This OSGi bundle contains JAXB implementation, api and tool classes)
  • webservices.security.jar (Inorder to support metro security in V3 we need to configure a provider to conform to JSR 196)
  • jsr109-impl.jar (This jar contains the implementation for JSR 109 )

These OSGi bundles will be installed in the modules folder of glassfish installation.

Deployment

Deployment will be supported for webapps, ejbs packaged as a JavaEE module . The clients of a webservice can be another webservice,
a Java EE component including JavaEE application client or an arbitary Java application.

Admin GUI

Admin GUI will support webservices in 2 cases.
Whenver an update of Metro is available the user can select to install metro OSGi bundle in v3 via Admin GUI

Whenever an Webapplication or Enterprise application with webservices is deployed Admin Gui should show the webservices
and enable testing, undeploying and viewing the deployment descriptors .

4.2. Bug/RFE Number(s):

4.3. In Scope:

Standalone JAXWS deployment will also use the same packages to bootstrap and work in V3.

4.4. Out of Scope:

Persistence of Xml data

Workflow and dataflow models

Arbitary Xml transformations

Client programming model for Web service clients that do not confirm to JSR 109 specification

4.5. Interfaces:

4.5.1 Exported Interfaces

Scripts in V3.
Like in v2 we will add the following scripts in V3

  • 1. wsgen

The wsgen tool generates JAX-WS portable artifacts used in JAX-WS web services. The tool reads a web service endpoint class
and generates all the required artifacts for web service deployment, and invocation.

  • 2. wsimport

The wsimport tool generates JAX-WS portable artifacts, for a given wsdl file

  • 3. xjc

The xjc tool generates Java classes from an XML Schema

  • 4. schemagen

The schema generator tool generates schema from Java classes.

  • 5.wscompile

The wscompile tool generates stubs, ties, serializers, and WSDL files used in JAX-RPC clients and services.

  • 6.wsdeploy

The wsdeploy tool reads a WAR file and the jaxrpc-ri.xml file and then generates another WAR file that is ready for deployment

These scripts will be installed in the bin folder of glassfish installation.

4.5.2 Imported interfaces

org.glassfish.api.deployment Interfaces
com.sun.ejb.spi.stats Interfaces
javax.security.auth.message Interfaces

4.6. Doc Impact:

Webservices guide, CLI man pages for the tools

4.7. Admin/Config Impact:

Admin GUI needs to provide same support as in V2 plus supporting installation of Metro from Update Center.

4.8. HA Impact:

None

4.9. I18N/L10N Impact:

Same I18n/L10N support as V2

4.10. Packaging & Delivery:

In v3 metro will be available for download via Update Center and will be part of the full glassfish distribution.

4.11. Security Impact:

No changes from v2.

4.12. Compatibility Impact

Applications developed on Glassfish V2 should work on Glassfish V3.

4.13. Dependencies:

Security,

EJB

Web

Deployment

Application Client

5. Reference Documents:

http://metro.java.net

6. Schedule:

6.1. Projected Availability:

May 2009