Hi Raymond, thanks, I'd not noticed those classes.

So it sounds like everyone agrees about using the Axis2 data binding
support. Will still need those utilities you mentioned in the original note:

> Stax: Implement StAX XMLStreamReader for a given DataObject and load
DataObject from XMLStreamReader (potentially can support lazy-loading of
DataObject?)

I like the sound of being able to do lazy-loading of the DataObject, or
potentially avoid loading it all together if its never used and an
externalService with a WS binding just asks for the XML stream again.

   ...ant

On 1/13/06, Raymond Feng <[EMAIL PROTECTED]> wrote:
>
> Hi, Ant.
>
> SOAP DataBinding is one of the areas we would like to explore to see if it
> fits into the dynamic nature of Tuscany WebService invocations. I'm not
> sure
> if you have noticed that we do have some early prototypes for Axis 1.x
> Serializer/Deserializer. They are in the
> "org.apache.tuscany.binding.axis.encoding.impl" package.
>
> Thanks,
> Raymond
>
> ----- Original Message -----
> From: "ant elder" <[EMAIL PROTECTED]>
> To: <[email protected]>
> Sent: Friday, January 13, 2006 2:49 AM
> Subject: Re: AXIS2 integration (SDO<-->AXIOM and more...)
>
>
> Would an alternative be to have closer integration btw Tuscany and Axis2?
>
> From the brief look I've had at the Tuscany code it seems like it really
> has
> its own completely separate SOAP engine. It builds the SOAP envelope on
> its
> own and passes that to Axis just for QOS and transport things.
>
> So could an alternative be to create an Axis2 data binding for SDO's and
> let
> Axis2 handle the constructing of the SOAP envelope? That way Tuscany
> wouldn't have to worry about all usual issues like rpc/enc, SOAP 1.1/1.2,
> attachments, MTOM etc.
>
>    ...ant
>
> On 1/12/06, Raymond Feng <[EMAIL PROTECTED]> wrote:
> >
> > I would like to start the disucssion on AXIS2 integration for Tuscany.
> >
> > I started to prototype the AXIS2 support for Tuscany web service
> binding.
> > Following the similar approach as we do for Axis 1.x, the key enabling
> > factor is the serialization/deserialization from SDO to AXIOM and vice
> > versa. Generally speaking, it's all about the transformations between
> > different XML bindings for the same data. Please see the attached the
> > diagram for some examples.
> >
> > As the default data model for Tuscany, SDO DataObject is used to
> represent
> > the input/output/fault message for web services. (Later on, it could be
> > pluggable.)
> >
> > In Axis 1.x, the SOAP envelope is a DOM-based model.
> >
> > Serialization: SDO --> DOM (SOAP)
> > Deserialization: DOM --> SDO
> >
> > Due to some issues of the DOM support in the SDO 1.0 implementation, we
> > made some workarounds in the current code base. So the real path may
> look
> > like this:
> >
> > Serialization: SDO --> String --> SOAP
> > Deserialization: SOAP --> String --> SAX --> SDO
> >
> > In Axis 2, SOAP messages are modeled using AXIOM (AXis Object Model)
> which
> > is an XML object model working on StAX (Streaming API for XML) parsing
> > optimized for SOAP 1.1/1.2 Messages. The ideal path should be:
> >
> > Serialization: SDO --> StAX --> SOAP (AXIOM)
> > Deserialization: SOAP (AXIOM) --> StAX --> SDO
> >
> > The StAX support is not there yet in the current SDO implementation. So
> I
> > took a hacky way and managed to make this path work with the Axis2
> 0.93driver for the outbound Web Service call.
> >
> > Serialization: SDO --> AXIOM (by the special XMLSaveImpl which creates
> > AXIOM attributes/elements/text in a similar way as DOM)
> > Deserialization: AXIOM --> StAX --> StAX2SAXAdapter --> SAX --> SDO
> >
> > Now it becomes desirable to have a set of flexible SDO2
> > serializer/deserializers (or XMLResource in the SDO/EMF term) as
> follows:
> >
> > SAX: Generate SAX events from DataObject and load DataObject from SAX
> > events
> > Stax: Implement StAX XMLStreamReader for a given DataObject and load
> > DataObject from XMLStreamReader (potentially can support lazy-loading of
> > DataObject?)
> > DOM: Create DOM tree from DataObject and load DataObject from DOM
> >
> > IMHO, these utilities will not only benifit the SDO/Axis integration,
> but
> > also the transformation between SDO and other models like JAXB and
> XMLBeans.
> >
> > Ideas? Opinions?
> >
> > Thanks,
> > Raymond
> >
> >
>
>

Reply via email to