You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Ajith Ranabahu <aj...@gmail.com> on 2005/09/27 10:22:48 UTC

[Axis2] pumps for the WOM

Hi all,
Few of us got together and discussed a bit about what's left in WSDL
handling. Here's a summary of our discussion and all are welcome to express
their opinion :)
As a starter, here's how the WSDL handling takes place now. (take a look at
the picture that would be a replacement of the next 100 words :)) The WSDL
Object Model (WOM) is based on the WSDL 2.0 specification and it can be
built using any representation of WSDL (theoretically). However the
WSDL 1.1needs some translation (Unfortunately which is lossy) when
populating a WSDL
2.0 compliant model. The current translation happens through WSDL4J which
has excellent facilities to handle WSDL 1.1 documents.
The current implementation has only one pump from WSDL 1.1 to WOM (marked in
blue in the picture). Our intention is to write the wom to WSDL
1.1serializer but it seems that there are some issues regarding the
serialization.

* When converting the WSDL 1.1 document to the WOM, some information is lost
(information about messages etc). In other words when converting back from
WOM to WSDL 1.1 the original WSDL 1.1 document cannot be recreated! There
are several alternatives
i. Forget about preserving the original WSDL. The WSDL serializer cares only
about the WOM when writing the WSDL. This results in only a specific subset
of WSDL's (doc/lit)
ii. introduce a meta data store (mds) to the WOM. The extra information will
be stored in the mds and would be used as needed by the pumps.

We've opted for the first alternative (No mds. just convert the WOM). It's
partly due to the simplicity (second alternative needs the mds populated as
well, which means tweaking the builders). However WSDL 1.1 is established
very well and it's doubtful whether WSDL 2.0 will replace it soon enough,
which means that we need to support WSDL 1.1 for some time. Lossy
conversions may be a problem!

* WSDL 2.0 pumps can wait! But as Tom suggests WSDL 2.0 needs
implementations and WOM is half way there. We might as well go the other
half and finish it but for the time being, WSDL 1.1 seems to be of higher
priority.

thoughts any one ?


--
Ajith Ranabahu

Re: [Axis2] pumps for the WOM

Posted by Aleksander Slominski <as...@cs.indiana.edu>.
that is interesting - in other words you almost have WSDL 1.1 to WSDL2 
converter and in future when all arrows are implemented there will be 
generic WSDL1.1 (subset) <-> WSDL2 roundtrip mapping

i am not sure if it is needed though but it is nice feature :)

the other possibility would be to have WOM API consisting of interfaces 
and set of factory/builders specific for WSDL 1.1 and WSDL2 (they 
actually read and maintain XML infoset that is specific to WSDL2 and 
WSDL1.1) that both implement WOM API.

then you can do full roundtrip but only WSDL1.1->WSDL1.1 and 
WSDL2->WSDL2, editing limited to WOM API but no conversion and you 
actually do not need serializer if in-memory you have actual WSDL 1.1 or 
WSDL2 infoset (this is just XML infoset no need to bring scary names 
such as metadata store) ... of course generic serializers working on WOM 
API could still be still be written  so you could do the same lossy 
WSDL1.1->WOM->WSDL2 and WSDL2->WOM->WSDL1.1 conversion but *only* if you 
wanted to.

i think that is a viable architectural alternative that may be very 
attractive if you have services/API clients that need to peek under 
cover and process whole WSDL 1.1 with its extensions (thinking about 
WSIF ...)

best,

alek.

Ajith Ranabahu wrote:

> Hi all,
> Few of us got together and discussed a bit about what's left in WSDL 
> handling. Here's a summary of our discussion and all are welcome to 
> express their opinion :)
> As a starter, here's how the WSDL handling takes place now. (take a 
> look at the picture that would be a replacement of the next 100 words 
> :)) The WSDL Object Model (WOM) is based on the WSDL 2.0 specification 
> and it can be built using any representation of WSDL (theoretically). 
> However the WSDL 1.1 needs some translation (Unfortunately which is 
> lossy) when populating a WSDL 2.0 compliant model. The current 
> translation happens through WSDL4J which has excellent facilities to 
> handle WSDL 1.1 documents.
> The current implementation has only one pump from WSDL 1.1 to WOM 
> (marked in blue in the picture). Our intention is to write the wom to 
> WSDL 1.1 serializer but it seems that there are some issues regarding 
> the serialization.
>
> * When converting the WSDL 1.1 document to the WOM, some information 
> is lost (information about messages etc). In other words when 
> converting back from WOM to WSDL 1.1 the original WSDL 1.1 document 
> cannot be recreated! There are several alternatives
>    i. Forget about preserving the original WSDL. The WSDL serializer 
> cares only about the WOM when writing  the WSDL. This results in only 
> a specific subset of WSDL's (doc/lit)
>    ii. introduce a meta data store (mds) to the WOM. The extra 
> information will be stored in the mds and would be used as needed by 
> the pumps.
>
> We've opted for the first alternative (No mds. just convert the WOM). 
> It's partly due to the simplicity (second alternative needs the mds 
> populated as well, which means tweaking the builders). However WSDL 
> 1.1 is established very well and it's doubtful whether WSDL 2.0 will 
> replace it soon enough, which means that we need to support WSDL 1.1 
> for some time. Lossy conversions may be a problem!
>
> * WSDL 2.0 pumps can wait! But as Tom suggests WSDL 2.0 needs 
> implementations and WOM is half way there. We might as well go the 
> other half and finish it but for the time being, WSDL 1.1 seems to be 
> of higher priority.
>
> thoughts any one ?


>
>


-- 
The best way to predict the future is to invent it - Alan Kay