Venkata Krishnan wrote:
Hello Everybody,
    I would like to contribute to Tuscany Java implementation (runtime and
tools).  To start with I would like to help with some Tool Development.
Looking up the Jira I found an item "Add Java2WSDL Tools" - (
https://issues.apache.org/jira/browse/TUSCANY-103) in the context of Java
SCA Axis Integration .  Could we do something here?   What are the
requirements of this tool over and above the Java2WSDLTool being done in
Axis2.   Could somebody provide pointers to this, please.  Thanks.

Regards
S Venkatakrishnan

Hi Venkata,

Welcome on board, we're definitely looking for help in that space. I can try to give you an idea of the requirements I can think of.

We basically have two use cases for Java2WSDL:
(A) I'm an application developer and I'm building an SCA application out of multiple components. In some of my components (e.g. POJO components) I'll want to use Java interfaces, in some other components (let's imagine BPEL or XSLT or other XML-ish component types), I'll want to use WSDL portTypes instead, on my SCA entryPoints and externalServices, I'll probably prefer to use WSDL portTypes as well because it'll be easier to communicate the service contracts to other people this way. To be able to use a mix of Java interfaces and WSDL portTypes in my application, I'll need to be able to generate WSDL -> Java and Java -> WSDL, at development time. I guess I'll need command line tools, and/or Maven plugins to help me do that.

(B) I'm a Java developer, and I don't have any idea what WSDL is about. I've built an application out of POJO components, using only Java interfaces. I want to expose one of the services implemented by a POJO component as a Web Service. To do this, I'm going to create an SCA entryPoint with a Web Service binding, but here again I'm just going to declare a Java interface - since again I have no idea what WSDL is about and I don't actually care about it :). At some point I'll still need a WSDL portType + binding + service to be generated to publish my Web Service, so that consumers can get their hands on it and talk to it. For this, we need to generate WSDL at deployment time maybe or even better at runtime.

Hope this helps understand what we're trying to do. We've done some initial work to integrate the Axis2 WSDL2Java tool (but the integration is still rough and needs more work, so if you want you can also take a look at that as well), and we have nothing yet for Java2WSDL.

Now how is that different from the Axis2 Java2WSDL? I'm not sure... the closer the better I guess, it'll be interesting to see how their Java2WSDL can be integrated and customized. I'm anticipating a few differences as we have to consider multiple databindings including SDO, our interfaces are also annotated with SCA specific annotations that may impact what the generated WSDL will look like.

I'm sure this will trigger many more questions, and we'll probably discover the answers as we go :) Please don't hesitate to ask on this list. I'll also send a few pointers to what we've already done for WSDL2Java later today.

--
Jean-Sebastien

Reply via email to