Return-Path: Delivered-To: apmail-beehive-dev-archive@www.apache.org Received: (qmail 52678 invoked from network); 3 Jan 2006 17:12:23 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 3 Jan 2006 17:12:23 -0000 Received: (qmail 62547 invoked by uid 500); 3 Jan 2006 17:12:22 -0000 Delivered-To: apmail-beehive-dev-archive@beehive.apache.org Received: (qmail 62524 invoked by uid 500); 3 Jan 2006 17:12:21 -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 62513 invoked by uid 99); 3 Jan 2006 17:12:21 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 03 Jan 2006 09:12:21 -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 ekoneil@gmail.com designates 66.249.82.207 as permitted sender) Received: from [66.249.82.207] (HELO xproxy.gmail.com) (66.249.82.207) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 03 Jan 2006 09:12:20 -0800 Received: by xproxy.gmail.com with SMTP id h28so2259326wxd for ; Tue, 03 Jan 2006 09:12:00 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=tRtisxr32iIiPm1lUIxb+7nclqOKO+xmzkGmADKv92kkmZxvezZmifEjL//ucf7/kPkKmt/cgArFD0KJhv/SGSD644IIEgnn4wNDvgQkIX9+uY2MG7NB0asV+436NH6+86OhxjIIPn0QmnTHrjGPC86UZDMveB51xeMyQbskeaI= Received: by 10.70.131.11 with SMTP id e11mr13011445wxd; Tue, 03 Jan 2006 09:11:59 -0800 (PST) Received: by 10.70.38.5 with HTTP; Tue, 3 Jan 2006 09:11:59 -0800 (PST) Message-ID: Date: Tue, 3 Jan 2006 10:11:59 -0700 From: Eddie O'Neil To: Beehive Developers Subject: [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 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.=20 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 mappi= ng - 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