Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "JAX-WS Introspection Support for STP"

 
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
== '''Objectives''' ==
  
== JAX-WS Introspection Support for STP Implementation Notes ==
 
  
 +
To implement a JAX-WS introspector to reflect JAX-WS annotations into STP core model, using STP’s introspection framework.
  
'''Objectives'''
 
  
To implement a JAX-WS introspector to reflect JAX-WS annotations into STP core model, using STP’s introspection framework.
+
== '''Use Case''' ==
 +
 
  
'''Use Case'''
 
 
A user can use JAX-WS introspector to extend the core model to support JAX-WS implementation in the SCA model.
 
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:
+
== '''Implementation''' ==
  
Extending the SCA module 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”/>
 
  
 +
'''1. Model Extension'''
 +
 +
We add a new implementation type “implementation.jaxws”. The SCA model is extended as the following XSD file:
 +
 +
<code>
 +
    <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”>
 
   
 
   
<element name=”implementation.jaxws” type=”jaxws:JaxWsImplementation” substitutionGroup=”sca:implementation” /> <complexType name=”JaxWsImplementation”> <complexContent>
+
        <import namespace=”http://www.osoa.org/xmlns/sca/0.9”
<extension base=”sca:Implementation”>  
+
            schemaLocation=”../../org.eclipse.stp.core/schemas/transformations/output/sca-core.xsd”/>
(contents to be defined)
+
</extension>
+
        <element name=”implementation.jaxws”  
</complexContent>
+
            type=”jaxws:JaxWsImplementation”  
</complexType>
+
            substitutionGroup=”sca:implementation”/>  
</schema>
+
        <complexType name=”JaxWsImplementation”>  
 +
            <complexContent>
 +
                <extension base=”sca:Implementation”>  
 +
                    (contents to be defined)
 +
                </extension>
 +
            </complexContent>
 +
        </complexType>
 +
    </schema>
 +
</code> 
 +
 
 +
'''2. The introspector plugin'''
  
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:
 
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:
  
 +
<code>
 
public class JaxWsIntrospector extends AbstractComponentTypeIntrospector {
 
public class JaxWsIntrospector extends AbstractComponentTypeIntrospector {
 +
 
...
 
...
 +
 
}
 
}
 +
 
public class ShareableJaxWsComponentTypeFactory implements
 
public class ShareableJaxWsComponentTypeFactory implements
 
IShareableComponentTypeFactory {
 
IShareableComponentTypeFactory {
 +
 
...
 
...
 +
 
}
 
}
 +
</code>
  
3. JAX-WS/SCA Mapping
+
'''3. JAX-WS/SCA Mapping'''
  
 
We reply on OSOA's work on Mapping between JAX-WS annotations and SCA.
 
We reply on OSOA's work on Mapping between JAX-WS annotations and SCA.
  
 
http://www.osoa.org/display/Main/JAX-WS+Services+Integration
 
http://www.osoa.org/display/Main/JAX-WS+Services+Integration

Latest revision as of 06:44, 1 December 2006

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

Back to the top