beehive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rajith Attapattu" <rajit...@gmail.com>
Subject Re: Annotation parsing framework for Axis2 (Re: [wsm] a plan)
Date Tue, 13 Jun 2006 22:05:58 GMT
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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message