Jump to: navigation, search

JAX-WS Introspection Support for STP

Objectives

To implement a JAX-WS introspector to reflect JAX-WS annotations into STP core model, using STP’s introspection framework.


Use Case

A user can use JAX-WS introspector to extend the core model to support JAX-WS implementation in the SCA model.


Implementation

1. Model Extension

We add a new implementation type “implementation.jaxws”. The SCA model is extended as the following XSD file:

   <schema xmlns=”http://www.w3.org/2001/XMLSchema” 
       targetNamespace=”http://www.acme.org/jaxws” 
       xmlns:sca=”http://www.osoa.org/xmlns/sca/0.9” 
       xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” 
       xmlns:jaxws=”http://www.acme.org/jaxws” 
       xsi:schemaLocation=”http://www.osoa.org/xmlns/sca/0.9 ../../org.eclipse.stp.core/schemas/transformations/output/sca-core.xsd” 
       elementFormDefault=”qualified”
       xmlns:ecore=”http://www.eclipse.org/emf/2002/Ecore” 
       ecore:package=”org.eclipse.stp.core.introspection.jaxws” 
       ecore:nsPrefix=”jaxws”>

       <import namespace=”http://www.osoa.org/xmlns/sca/0.9” 
           schemaLocation=”../../org.eclipse.stp.core/schemas/transformations/output/sca-core.xsd”/>

       <element name=”implementation.jaxws” 
            type=”jaxws:JaxWsImplementation” 
            substitutionGroup=”sca:implementation”/> 
       <complexType name=”JaxWsImplementation”> 
           <complexContent>
               <extension base=”sca:Implementation”> 
                   (contents to be defined)
               </extension>
           </complexContent>
       </complexType>
   </schema>

2. The introspector plugin

A plugin org.eclipse.stp.core.introspection.jaxws will be created in STP. This plugin extends the core's componentTypeIntrospector extension point. So the classes required would be like:

public class JaxWsIntrospector extends AbstractComponentTypeIntrospector {

...

}

public class ShareableJaxWsComponentTypeFactory implements IShareableComponentTypeFactory {

...

}

3. JAX-WS/SCA Mapping

We reply on OSOA's work on Mapping between JAX-WS annotations and SCA.

http://www.osoa.org/display/Main/JAX-WS+Services+Integration