beehive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eddie O'Neil" <ekon...@gmail.com>
Subject Re: Annotation parsing framework for Axis2 (Re: [wsm] a plan)
Date Wed, 14 Jun 2006 00:01:18 GMT
Rajith--

  Hey; I'm certainly around to answer questions / help.  I was just
mostly on vacation last week and am still clearing a mountainous
backlog of e-mail.  :)

  Not to worry...

Eddie



On 6/13/06, Rajith Attapattu <rajith77@gmail.com> wrote:
> Hi Dims,
>
> Thanks for the pointers.
> Let me look at how to get the ReflectionWsmServiceFactory impl going.
> after that I can start with WSMToAxisServiceBuilder to build an AxisService
> out of an anotated POJO.
> Once I have something I will create a JIRA and attach a patch. U can take a
> look at the code and then we can take it from there.
> If I have questions I will bug u again :-)
>
> Btw, the Beehive mailing list seems to be a bit quiet, so I am wondering how
> to get WSM specific questions answered :-)
>
> Regards,
>
> Rajith
>
> On 6/13/06, Davanum Srinivas <davanum@gmail.com> wrote:
> >
> > Rajith,
> >
> > I think you need to implement ReflectionWsmServiceFactory first. The
> > angle of attack i am looking at is deploying a POJO with annotations.
> > (See AxisService.createService in Axis2 where one can deploy a pojo).
> > You will have to write a WSMToAxisServiceBuilder (see
> > WSDL11ToAxisServiceBuilder) to populate the AxisService info from WSM.
> > WDYT? Once we have this, we can get fancy with codegen etc.
> >
> > thanks,
> > dims
> >
> > On 6/5/06, Rajith Attapattu <rajith77@gmail.com> wrote:
> > > Hi Dims & Eddie,
> > >
> > > So code wise I should be looking at MirrorWsmBuilder and WsmService?
> > > Any pointers will be helpful.
> > >
> > > I am going through the wiki and JSR documentation and will get back with
> > > questions.
> > > Meanwhile do we have that seperate jar that bundles all the relevent
> > classes
> > > for the annotations support?
> > >
> > > Regards,
> > >
> > > Rajith
> > >
> > > On 2/5/06, Eddie O'Neil <ekoneil@gmail.com> wrote:
> > > >
> > > > Dims--
> > > >
> > > >   Hey; apologies for the delay.  That's basically right -- there is
> > > > actually one other step in the annotation processing pipeline which is
> > > > verifying the validity of any annotations on the class.  So, it would
> > > > be:
> > > >
> > > >   annotation checking (Jsr181AnnotationChecker) --> model building
> > > > (MirrorWsmBuilder)
> > > >
> > > > which returns a WsmService object that can be wired up into axis2
> > stuff.
> > > >
> > > >   I can certainly break the Axis 1.x stuff into a separate JAR; my
> > > > original plan was to just put the Axis 1.x and 2 bits in the same JAR
> > > > file, but if this is a problem, let me know and I can make three JARs
> > > > -- generic web service processing code, axis 1, axis 2, etc.
> > > >
> > > >   There is one important part of this that isn't done yet, and that's
> > > > to provide something that can be used inside of a server runtime that
> > > > abstracts from Sun's Mirror types which are used inside of APT.  Not
> > > > exactly sure what this looks like yet -- could be reflection or
> > > > something else that abstracts from Sun's Mirror APIs (used inside of
> > > > APT).
> > > >
> > > >   Do you want to run this from inside of the Axis2 runtime or at
> > > > build-time on the command line?  I'm assuming the former.
> > > >
> > > > Eddie
> > > >
> > > >
> > > > On 2/1/06, Davanum Srinivas <davanum@gmail.com> wrote:
> > > > > 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 <ekoneil@gmail.com> 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
> > > > mapping
> > > > > > - 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/
> > > > >
> > > >
> > >
> > >
> >
> >
> > --
> > Davanum Srinivas : http://wso2.com/blogs/
> >
>
>

Mime
View raw message