Return-Path: Delivered-To: apmail-beehive-dev-archive@www.apache.org Received: (qmail 82503 invoked from network); 2 Feb 2006 00:25:09 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 2 Feb 2006 00:25:09 -0000 Received: (qmail 87870 invoked by uid 500); 2 Feb 2006 00:25:04 -0000 Delivered-To: apmail-beehive-dev-archive@beehive.apache.org Received: (qmail 87727 invoked by uid 500); 2 Feb 2006 00:25:03 -0000 Mailing-List: contact dev-help@beehive.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Beehive Developers" Delivered-To: mailing list dev@beehive.apache.org Received: (qmail 87701 invoked by uid 99); 2 Feb 2006 00:25:02 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Feb 2006 16:25:02 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: domain of davanum@gmail.com designates 66.249.82.195 as permitted sender) Received: from [66.249.82.195] (HELO xproxy.gmail.com) (66.249.82.195) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Feb 2006 16:25:02 -0800 Received: by xproxy.gmail.com with SMTP id h28so278129wxd for ; Wed, 01 Feb 2006 16:24:41 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=myhm6XHAVvb7jTKAR3kYv8R8OJIHKwYTXS0loC+ck/UGplmeOUKsV2+T/YlkNha04gdVMM4QsAutFuqDbTYJ05A4JFDvrOLxzrPATNUAyKz27Zk/5qViFiiI0NXPmHbyxxOpZIGbwlWb8SsPPkrDHWoOLkOu9fVB1LE+sE0MTS8= Received: by 10.11.88.16 with SMTP id l16mr2633cwb; Wed, 01 Feb 2006 16:24:41 -0800 (PST) Received: by 10.11.120.58 with HTTP; Wed, 1 Feb 2006 16:24:41 -0800 (PST) Message-ID: <19e0530f0602011624k6d4ccc02x69151d7a9f86ad38@mail.gmail.com> Date: Wed, 1 Feb 2006 19:24:41 -0500 From: Davanum Srinivas Reply-To: dims@apache.org To: Beehive Developers , Axis developer list Subject: Annotation parsing framework for Axis2 (Re: [wsm] a plan) MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Eddie, i was looking at the current codebase and spotted the MirrorWsmBuilder. Is this what we can use in Axis2 to inspect a given java class? and one the WsmService object is built, then translate that to Axis2 thingies? Can we split out the processing framework into a separate jar (w/o things like Axis1 stuff)? Am i on the right track with this thinking? thanks, dims On 1/3/06, Eddie O'Neil wrote: > All-- > > Happy New Year! And, as a way to start the year off on a good foot, > let's get WSM to 1.0. Below is a proposal for how we get from here to > there with some details about where we are and what needs to happen. > > Today, there are two core WSM parts, both of which are tailored to > the Axis web service stack: > > build-time: This is a generic annotation processing layer that has > the ability to work against Mirror, reflection, and WSDL to produce a > WSM JavaBean model that represents a web service. The build-time > layer has a plug-point for generating source artifacts to support > various web service runtimes. For example, the Axis implementation > produces a serialized version of the WSM JavaBean model. This could > also produce JAX-RPC source / deployment descriptor artifacts, etc. > > runtime: The runtime side of WSM is specifically built to support > the Axis 1.x runtime. It loads the serialized JavaBean model > generated at build time and uses an Axis Handler to configure a > SOAPService given this information. > > There is another large bunch of code in WSM related to tools: > > wsdl2ajava -- this tool supports the top-down web service development > model and starts with a WSDL to produce an annotated Java source file. > This tool requires significant knowledge of WSDL and type mapping for > a specific web service stack. For example, the mapping for an XSD > year is mapped to org.apache.axis.types.Year and something different > on other web service stacks. wsdl2java is a non-trivial bunch of code > to write, but is also a very useful tool. > > In order to finish WSM, one more re-architecting step needs to be > completed; I'd like to remove the use of a serialized Java object as > the way to communicate from the build-time to runtime parts of the > implementation. This would be replaced with a WSDD like, but WSM > specific, XML descriptor of the service. AFAICT, WSDD can't be used > for this because too closely matches the shape of a Java class (Dims > and others, feel free to correct me if I'm wrong). So, we need a > simple XML file that describes the information captured in a > WsmService. > > Once this is done, we can start work on passing the JSR-181 TCK. > This will be done atop Apache Axis 1.x. > > In order to expedite the process of getting from here to TCK > compliance, I'd like to suggest that we stop stop work on the > wsdl2ajava tool in order to focus on finishing 1.0 and restart this > tool immediately post-1.0. > > Post 1.0, there are lots of other things that we could do including: > > - JDK 1.4 support > - drop-in support for WSM in Axis to support iteratively developing an > annotated web service > - JAX-RPC support (Ias, still have any interest in working on this?) > - custom annotations to support container-specific features like type map= ping > - and so on... > > Personally, I'm chomping at the bit to get WSM's 1.0 done and would > like to narrow scope in order to do that. I think we're almost ready > for the TCK; I'll start on the XML file to describe an annotated Axis > web service shortly. > > Thoughts, comments, and flames welcome. > > Eddie > -- Davanum Srinivas : http://wso2.com/blogs/