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