Return-Path: Delivered-To: apmail-cxf-dev-archive@www.apache.org Received: (qmail 34038 invoked from network); 12 Apr 2011 15:17:54 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 12 Apr 2011 15:17:54 -0000 Received: (qmail 18205 invoked by uid 500); 12 Apr 2011 15:17:54 -0000 Delivered-To: apmail-cxf-dev-archive@cxf.apache.org Received: (qmail 18162 invoked by uid 500); 12 Apr 2011 15:17:54 -0000 Mailing-List: contact dev-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list dev@cxf.apache.org Received: (qmail 18154 invoked by uid 99); 12 Apr 2011 15:17:54 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Apr 2011 15:17:54 +0000 X-ASF-Spam-Status: No, hits=0.7 required=5.0 tests=SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [64.85.173.253] (HELO server.dankulp.com) (64.85.173.253) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Apr 2011 15:17:48 +0000 Received: by server.dankulp.com (Postfix, from userid 5000) id AE4F4188F12; Tue, 12 Apr 2011 11:17:27 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on server.dankulp.com X-Spam-Level: X-Msg-File: /tmp/mailfilter-dev@cxf.apache.org.7ig7OMYjnH Received: from dilbert.dankulp.com (port-87-193-254-34.static.qsc.de [87.193.254.34]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by server.dankulp.com (Postfix) with ESMTPSA id 83386188F06; Tue, 12 Apr 2011 11:17:25 -0400 (EDT) From: Daniel Kulp To: dev@cxf.apache.org Subject: Re: GSoC. CXF-48 / WSDL 2.0 Support Date: Tue, 12 Apr 2011 11:17:22 -0400 User-Agent: KMail/1.13.6 (Linux/2.6.38; KDE/4.6.2; x86_64; ; ) Cc: Yaroslav Porshnev References: In-Reply-To: MIME-Version: 1.0 Content-Type: Text/Plain; charset="windows-1252" Content-Transfer-Encoding: quoted-printable Message-Id: <201104121117.22787.dkulp@apache.org> X-Old-Spam-Status: No, score=-102.9 required=3.0 tests=ALL_TRUSTED,BAYES_00, SHORTCIRCUIT shortcircuit=ham autolearn=disabled version=3.3.1 Hi! I applied to be the mentor for this proposal. I also just turned on the= =20 "proposal modification enabled" flag so you may be able to modify the propo= sal=20 direcetly now to add more stuff. If now, we'll likely just need to pass=20 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. >=20 > My name is Yaroslav Porshnev and I applied for Google Summer of Code > with proposal of adding WSDL 2.0 support. >=20 > 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. >=20 > Unfortunately I=92ve 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. >=20 > I am currently exploring CXF and things that should be done for the > realization of the project and I have several questions. >=20 > 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=92t see some fundamental difficulty in its realization? Historically, WSDL 2.0 has never really "taken off". Most of the industry= is=20 very centered around WSDL 1.1. Part of that is that there are very few=20 toolkits that support it. Kind of a checken/egg issue.=20 However, there definitely is some value to being able to support WSDL 2.0. = =20 With WSDL 2.0, we could model both SOAP and REST services together which ca= n=20 be quite interesting. There are other QOS guarantees that are interoduced= =20 with the additional message patterns allowed in WSDL2.0. =20 =20 > 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? >=20 > 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= =20 models the service at runtime and for the tools. Most of the "work" aroun= d=20 what is needed involves: 1) Writing a class that would take the service model and produce a WSDL2=20 document. This would be used at runtime for things like ?wsdl2 as well a= s=20 for the java2ws tool. (ServiceWSDLBuilder.java) 2) Writing a class that would take a wsdl2 doc and build up the service mod= el. =20 This is used at runtime as well as for wsdl2java. =20 (WSDLServiceBuilder.java) One the two of them are written (you can use the above classes in=20 rt/core/src/main/java/org/apache/cxf/wsdl11 as a starting point), you would= =20 need to start findng the places that call the wsdl11 versions and have them= =20 optionally call the wsdl11 versions. Some places may require some refactor= y. =20 The WSDLManager, for example, only deals with wsdl4j object model which is= =20 WSDL1.1 only. That will require a little work. =20 Beyond that would be enable JAX-RS to generate WSDL2.0. We have a generato= r=20 that generates WADL. It would likely be easiest to look at that and creat= e a=20 new one for WSDL2.0. There are a lot of other complexities that would need investigating. I thi= nk=20 the only wsdl2.0 model in Java is Woden. Adding an additional dependeny s= uch=20 of that for a feature that isn't really needed or used by a lot of people=20 could be an issue. Thus, we'd likely want to find a way to dynamically lo= ad=20 the wsdl2 support only if needed or available. However, getting the abov= e=20 done would be a huge start. My SUGGESTION for your proposal would be to lay out a roadmap that starts w= ith=20 the Java->WSDL2 case. That's a bit easier to do and has a lower impact on = the=20 rest of CXF. It's really just used in two places: =20 1) the handling of ?wsdl (so you would add ?wsdl2 support) 2) the java2ws tool=20 That would be milestone 1. The second part would be the WSDL -> * parts= =20 that may require a bit more knowledge about CXF which you would hopefully=20 start learning while doing the first part. I hope that helps give you a little more information. Definitely dig into= =20 the above mentioned code and ask questions, =2D-=20 Daniel Kulp dkulp@apache.org http://dankulp.com/blog Talend - http://www.talend.com