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