Yes, we already have binding.ws supported in Tuscany based on Axis2 code.
The implementation of binding.ws using the standard JAX-WS APIs will give us
the flexibility to plug in any compliant JAX-WS stacks. On the other hand,
it can also reduce the dependencies and footprint considering JAX-WS is now
shipped with JDK 6.
Talking about code, we need to start with patches. You can open JIRA and
submit patches. One of the committers will review and apply your patches
into our SVN repository. You can also earn committer status with your active
contributions to the project. See
http://tuscany.apache.org/getting-involved.html.
Thanks,
Raymond
From: Xie Xiaodong
Sent: Monday, March 30, 2009 2:37 PM
To: [email protected]
Subject: Re: I'd like to take part in the "tuscany-binding.ws.jaxws" and
"tuscany-binding.ws.jaxws" project of Google Summer Code of 2009
Hello,
Tuscany already has a <binding.ws> implementation on Axis2, so we can
make use of it, and replace parts related to Axis2 with JAX-WS. We already
have "promote" mechanism to promote a component into a webservice endpoint,
so what need to be done is some "conversion" work? And I have checked API
description of JavaXMLAdapter, I think that we need to implement some
adapter for the type we used in Tuscany, and provide some hook for
developers to inject their own adapters in to adapt their own types.
Above is some thinking of mine. Any comments and advise is welcome. Thank
you.
PS: I am eager to start. How can I communicate the source code I will work
on with my mentor? A new branch or something else?
2009/3/30 Raymond Feng <[email protected]>
Hi,
Thank you for your interest. I suggest you go ahead to register yourself as
a student at http://socghop.appspot.com/ and submit an application.
Meanwhile, we can carry the technical discussions on this mailing list.
Please see some comments inline.
Raymond
From: 谢晓东
Sent: Monday, March 30, 2009 12:38 AM
To: [email protected]
Subject: I'd like to take part in the "tuscany-binding.ws.jaxws" and
"tuscany-binding.ws.jaxws" project of Google Summer Code of 2009
Hello, Everyone,
I am a Chinese master student from Royal Institute of Technology of Sweden.
I'd like to take part in the "tuscany-binding.ws.jaxws" and
"tuscany-binding.ws.jaxws" project of Google Summer Code of 2009. Here I
have some intuitive thinking for these two project.
For the first one, I think I should implement some middle layer between
JAX-WS Dispatch API and SCA reference, and some transformer between JAXB
friendly representations and other databindings. For the second task in the
description, I think I could use some structure like Xfire integrated with
Spring (Xfire could expose beans managed by Spring container as Web
Services), provided some delegator to delegate invocations from Web to the
beneath tuscany component.
<rfeng>
We can take a use-case driven approach. There are two scenarios we need to
support:
1. There is an external web services and an SCA component would like to
invoke it. The external service is modeled as a reference on the SCA
component with binding.ws. The Tuscany runtime will dispatch the request
(The reference binding invoker) on behalf of SCA to the JAX-WS stack.
2. There is an SCA component and we want to expose a service as a Web
Service so that other web service clients can access it. The Tuscany runtime
will be responsible to publish the service to a JAX-WS endpoint and route
the incoming request to the SCA component.
3. JAX-WS stack typically supports JAXB as the default databinding. SCA
components can use other databindings though. There is a databinding
framework in Tuscany which can transform data from one databinding to the
other. To use JAX-WS stack, we probably need to align the data to JAXB using
JavaXMLAdapter
(http://java.sun.com/javase/6/docs/api/javax/xml/bind/annotation/adapters/XmlAdapter.html).
4. The JAX-WS service supports both MESSAGE and PAYLOAD mode. For Tuscany
binding.ws, we probably need to go with the MESSAGE mode because it will
give us more control.
For the second one, I'd like to choose Hibernate as the JPA implementation
for this project, since it is open-source, has many documents and examples
support it and I am quite familiar and feel comfortable to work with it.
This project involves some Conventions (much like those of the famous
Rails), which need to be interpreted and translated into corresponding
method invocation, and I will use Java Reflection to solve them.
<rfeng>AFAIK, you can apply for multiple projects in GSoC. Please judge by
yourself.</rfeng>
Here is my biography and background:
I'm Xie Xiaodong, come from China. Now I'm in Sweden, pursuing my second
Master Degree on Software Engineering of Distributed Systems. Before I came
to Sweden, I worked for a famous online payment company in China for one and
a half years. I'm also familiar with many kinds of frameworks such as
Spring, Hibernate, Ibatis and so on. During the spare time of my previous
job, I have read some articles about SCA, and have implemented some very
simple tiny program using Tuscany.
Any comment to this mail is welcomed. And I also hope to have some more
information for me to get started.
Thank you very much for your concerning.
Sincerely yours and Best Wishes,
Xie Xiaodong
--
Sincerely yours and Best Regards,
Xie Xiaodong