You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Yaroslav Porshnev <ya...@gmail.com> on 2011/04/11 22:57:22 UTC

GSoC. CXF-48 / WSDL 2.0 Support

Greetings to Apache CXF development community.

My name is Yaroslav Porshnev and I applied for Google Summer of Code
with proposal of adding WSDL 2.0 support.

I would like to work on this project as it corresponds to my Master
studies in Service Engineering where an important role is devoted to
Web Services. The project allows me to widen my knowledge and have
excellent practice in this area.

Unfortunately I’ve heard about GSOC  only at the beginning of previous
week, so I had only few days to find interesting project and create at
least draft version of the proposal. I understand that its current
version very raw an lacks some important information like timeline and
plan of realization, but I decided to give at least some outcome
instead of waiting for next summer.
Do you have some kind of wiki or other place where I can put my
proposal and revise it? I think with your advices I can make better
variant by the end of this week.

I am currently exploring CXF and things that should be done for the
realization of the project and I have several questions.

First of all, is this WSDL 2.0 support interesting to the development
community? As I can see from Jira, this issue was created almost 5
years ago, and since then there were not much activities. Or maybe I
as a newbie don’t see some fundamental difficulty in its realization?

As I understand one of the main goals here will be modification of
existing set of tools for WSDL->code and code->WSDL transformation.
Will it also involve any modifications of existing architecture?

I would highly appreciate any ideas and advices.

Best regards,
Yaroslav Porshnev.

Re: GSoC. CXF-48 / WSDL 2.0 Support

Posted by Sagara Gunathunga <sa...@gmail.com>.
+ 1 for Dan here. 

In fact sometime ago there was a discussion [1]  among Woden developers to
implement pluggable Schema system to support other type systems such as
RelaxNG. At the moment Woden's Component level API support for this concept
up to some extend.

Highly welcome any contribution for this :) 

[1] -  https://issues.apache.org/jira/browse/WODEN-114    

Thanks !   



-----
Sagara Gunathunga

Blog - http://ssagara.blogspot.com 
Web - http://people.apache.org/~sagara/ 
--
View this message in context: http://cxf.547215.n5.nabble.com/GSoC-CXF-48-WSDL-2-0-Support-tp4296871p4307412.html
Sent from the cxf-dev mailing list archive at Nabble.com.

Re: GSoC. CXF-48 / WSDL 2.0 Support

Posted by Daniel Kulp <dk...@apache.org>.
On Thursday 14 April 2011 9:01:46 PM Benson Margulies wrote:
> In my opinion, making the schema system pluggable would be pretty
> painful. I wonder if we could just push woden to 2.0? Or does that run
> afoul of the state of Axis?

Well, I'm thinking possily more along the lines of "removable" instead of 
plugable.   For example, wsdl4j just returns DOMs for the schema.   It might 
be "useful" to somehow allow Woden to do the same.  Thus, any type system 
could be used.   For example, in the woden-api schemas package, remove the 2 
methods that deal with XmlSchema directly and instead shift them to some sort 
of other interface that the Schema impl objects COULD implement as well.  We 
could add implementations taht just don't implement those.


Dan

> 
> If only we were using OSGi for all of this (....)
> 
> On Thu, Apr 14, 2011 at 8:57 PM, Daniel Kulp <dk...@apache.org> wrote:
> > On Thursday 14 April 2011 1:38:57 AM sagara wrote:
> >> Pointing out a different aspect, did you identify any utility to
> >> generate WSDL 2.0 model ? Apache Woden [1] can be a good candidate.
> > 
> > Honestly, Apache Woden is the only one I'm really familliar with at all.
> > There is EasyWSDL at OW2, but I've never really looked too in depth at
> > it.
> > 
> >> But better to aware with incompatibilities at the beginning , AFAIK
> >> Woden and CXF use incompatible versions of XMLSchema also Woden use
> >>  Commons logging  API while CXF use Java Util logging and SLF4J.
> > 
> > The logging thing is relatively irrelvant.  Spring uses commons-logging
> > as well so we do ship it.   That saif, shipping the SLF4J
> > commons-logging api jar thing might be a good idea instead.
> > 
> > The XmlSchema thing is the bigger concert.  We may need to submit patches
> > there to make the schema system more  pluggable.   I can definitely help
> > out there as well.
> > 
> > Dan
> > 
> >> [1] - http://ws.apache.org/woden/
> >> 
> >> --
> >> View this message in context:
> >> http://cxf.547215.n5.nabble.com/GSoC-CXF-48-WSDL-2-0-Support-tp4296871p4
> >> 30 2240.html Sent from the cxf-dev mailing list archive at Nabble.com.
> > 
> > --
> > Daniel Kulp
> > dkulp@apache.org
> > http://dankulp.com/blog
> > Talend - http://www.talend.com

-- 
Daniel Kulp
dkulp@apache.org
http://dankulp.com/blog
Talend - http://www.talend.com

Re: GSoC. CXF-48 / WSDL 2.0 Support

Posted by Benson Margulies <bi...@gmail.com>.
In my opinion, making the schema system pluggable would be pretty
painful. I wonder if we could just push woden to 2.0? Or does that run
afoul of the state of Axis?

If only we were using OSGi for all of this (....)

On Thu, Apr 14, 2011 at 8:57 PM, Daniel Kulp <dk...@apache.org> wrote:
> On Thursday 14 April 2011 1:38:57 AM sagara wrote:
>> Pointing out a different aspect, did you identify any utility to generate
>> WSDL 2.0 model ? Apache Woden [1] can be a good candidate.
>
> Honestly, Apache Woden is the only one I'm really familliar with at all.
> There is EasyWSDL at OW2, but I've never really looked too in depth at it.
>
>
>> But better to aware with incompatibilities at the beginning , AFAIK Woden
>> and CXF use incompatible versions of XMLSchema also Woden use  Commons
>> logging  API while CXF use Java Util logging and SLF4J.
>
> The logging thing is relatively irrelvant.  Spring uses commons-logging as
> well so we do ship it.   That saif, shipping the SLF4J commons-logging api jar
> thing might be a good idea instead.
>
> The XmlSchema thing is the bigger concert.  We may need to submit patches
> there to make the schema system more  pluggable.   I can definitely help out
> there as well.
>
> Dan
>
>
>>
>> [1] - http://ws.apache.org/woden/
>>
>> --
>> View this message in context:
>> http://cxf.547215.n5.nabble.com/GSoC-CXF-48-WSDL-2-0-Support-tp4296871p430
>> 2240.html Sent from the cxf-dev mailing list archive at Nabble.com.
>
> --
> Daniel Kulp
> dkulp@apache.org
> http://dankulp.com/blog
> Talend - http://www.talend.com
>

Re: GSoC. CXF-48 / WSDL 2.0 Support

Posted by Daniel Kulp <dk...@apache.org>.
On Thursday 14 April 2011 1:38:57 AM sagara wrote:
> Pointing out a different aspect, did you identify any utility to generate
> WSDL 2.0 model ? Apache Woden [1] can be a good candidate.

Honestly, Apache Woden is the only one I'm really familliar with at all.   
There is EasyWSDL at OW2, but I've never really looked too in depth at it.


> But better to aware with incompatibilities at the beginning , AFAIK Woden
> and CXF use incompatible versions of XMLSchema also Woden use  Commons
> logging  API while CXF use Java Util logging and SLF4J.

The logging thing is relatively irrelvant.  Spring uses commons-logging as 
well so we do ship it.   That saif, shipping the SLF4J commons-logging api jar 
thing might be a good idea instead.

The XmlSchema thing is the bigger concert.  We may need to submit patches 
there to make the schema system more  pluggable.   I can definitely help out 
there as well.

Dan


> 
> [1] - http://ws.apache.org/woden/
> 
> --
> View this message in context:
> http://cxf.547215.n5.nabble.com/GSoC-CXF-48-WSDL-2-0-Support-tp4296871p430
> 2240.html Sent from the cxf-dev mailing list archive at Nabble.com.

-- 
Daniel Kulp
dkulp@apache.org
http://dankulp.com/blog
Talend - http://www.talend.com

Re: GSoC. CXF-48 / WSDL 2.0 Support

Posted by sagara <sa...@gmail.com>.
Pointing out a different aspect, did you identify any utility to generate
WSDL 2.0 model ? Apache Woden [1] can be a good candidate. 

But better to aware with incompatibilities at the beginning , AFAIK Woden
and CXF use incompatible versions of XMLSchema also Woden use  Commons
logging  API while CXF use Java Util logging and SLF4J.

[1] - http://ws.apache.org/woden/

--
View this message in context: http://cxf.547215.n5.nabble.com/GSoC-CXF-48-WSDL-2-0-Support-tp4296871p4302240.html
Sent from the cxf-dev mailing list archive at Nabble.com.

Re: GSoC. CXF-48 / WSDL 2.0 Support

Posted by Daniel Kulp <dk...@apache.org>.

Hi!

I applied to be the mentor for this proposal.    I also just turned on the 
"proposal modification enabled" flag so you may be able to modify the proposal 
direcetly now to add more stuff.   If now, we'll likely just need to pass 
things back and forth on this list.

more inline.....

On Monday 11 April 2011 4:57:22 PM Yaroslav Porshnev wrote:
> Greetings to Apache CXF development community.
> 
> My name is Yaroslav Porshnev and I applied for Google Summer of Code
> with proposal of adding WSDL 2.0 support.
> 
> I would like to work on this project as it corresponds to my Master
> studies in Service Engineering where an important role is devoted to
> Web Services. The project allows me to widen my knowledge and have
> excellent practice in this area.
> 
> Unfortunately I’ve heard about GSOC  only at the beginning of previous
> week, so I had only few days to find interesting project and create at
> least draft version of the proposal. I understand that its current
> version very raw an lacks some important information like timeline and
> plan of realization, but I decided to give at least some outcome
> instead of waiting for next summer.
> Do you have some kind of wiki or other place where I can put my
> proposal and revise it? I think with your advices I can make better
> variant by the end of this week.
> 
> I am currently exploring CXF and things that should be done for the
> realization of the project and I have several questions.
> 
> First of all, is this WSDL 2.0 support interesting to the development
> community? As I can see from Jira, this issue was created almost 5
> years ago, and since then there were not much activities. Or maybe I
> as a newbie don’t see some fundamental difficulty in its realization?

Historically, WSDL 2.0 has never really "taken off".   Most of the industry is 
very centered around WSDL 1.1.  Part of that is that there are very few 
toolkits that support it.  Kind of a checken/egg issue. 

However, there definitely is some value to being able to support WSDL 2.0.   
With WSDL 2.0, we could model both SOAP and REST services together which can 
be quite interesting.   There are other QOS guarantees that are interoduced 
with the additional message patterns allowed in WSDL2.0.   

 
> As I understand one of the main goals here will be modification of
> existing set of tools for WSDL->code and code->WSDL transformation.
> Will it also involve any modifications of existing architecture?
> 
> I would highly appreciate any ideas and advices.

In CXF, for the SOAP/JAX-WS side, we have a service model in cxf/api  that 
models the service at runtime and for the tools.   Most of the "work" around 
what is needed involves:

1) Writing a class that would take the service model and produce a WSDL2 
document.    This would be used at runtime for things like ?wsdl2 as well as 
for the java2ws tool.  (ServiceWSDLBuilder.java)

2) Writing a class that would take a wsdl2 doc and build up the service model.   
This is used at runtime as well as for wsdl2java.     
(WSDLServiceBuilder.java)

One the two of them are written (you can use the above classes in 
rt/core/src/main/java/org/apache/cxf/wsdl11 as a starting point), you would 
need to start findng the places that call the wsdl11 versions and have them 
optionally call the wsdl11 versions.  Some places may require some refactory.  
The WSDLManager, for example, only deals with wsdl4j object model which is 
WSDL1.1 only.   That will require a little work.   

Beyond that would be enable JAX-RS to generate WSDL2.0.  We have a generator 
that generates WADL.   It would likely be easiest to look at that and create a 
new one for WSDL2.0.


There are a lot of other complexities that would need investigating.  I think 
the only wsdl2.0 model in Java is Woden.   Adding an additional dependeny such 
of that for a feature that isn't really needed or used by a lot of people 
could be an issue.   Thus, we'd likely want to find a way to dynamically load 
the wsdl2 support  only if needed or available.   However, getting the above 
done would be a huge start.


My SUGGESTION for your proposal would be to lay out a roadmap that starts with 
the Java->WSDL2 case.  That's a bit easier to do and has a lower impact on the 
rest of CXF.    It's really just used in two places:   
1) the handling of  ?wsdl  (so you would add ?wsdl2 support)
2) the java2ws tool 

That would be milestone 1.    The second part would be the WSDL -> * parts 
that may require a bit more knowledge about CXF which you would hopefully 
start learning while doing the first part.

I hope that helps give you a little more information.   Definitely dig into 
the above mentioned code and ask questions,

-- 
Daniel Kulp
dkulp@apache.org
http://dankulp.com/blog
Talend - http://www.talend.com