[XML-SIG] WSDL library ?

Uche Ogbuji uche.ogbuji@fourthought.com
Wed, 13 Feb 2002 17:05:17 -0700


OK.  Quick answers because, like Paul, I don't have a lot of time to repeat 
what I've written before in this and other forums, as well as in articles.

> > Pretty scary when I'd be more comfortable pointing people to a hack like 
> > XML-RPC than I would be pointing people to SOAP.
> 
> 
> What's wrong with SOAP?  I like it because:
> 	- Supports more than just sender-receiver; e.g., intermediates.

So can HTTP and SMTP, using extension headers.  BEEP doesn't even need 
extensions, I think.

> 	- SOAP with Attachments

I thought you were listing reasons for liking SOAP.  I'm unable to interpret 
this as such.

> 	- Ability to send XML

Anything can send XML.  And SOAP/RPC is very lexically brittle for sending XML
 has serious problems sending XML.  For instance, if the embedded XML has an 
XML decl, you have to escape things.

And anyway, why can't anything else send XML?

> 	- Richer data types

This is not an absolute statement.  A CORBA person would tell you that given 
structs, ANYs, object-by-value, etc., CORBA is every bit as rich in data types 
as SOAP/RPC.

Can you give a concrete example of a task that SOAP's data typs made more 
possible than if you'd used other RPC mechanisms?

> 	- href/id handles pointer aliasing

Only if you're delivering the entire object being pointed to anyway.  I hardly 
see what this buys you over CORBA OBV.

> 	- href allows (transparent!) refs to network data

And why can't you send hrefs using any other mechanism?

> 	- extensible architecture (header elements)

HTTP and SMTP are also extensible.  SOAP does have the advantage that 
extensions can have hierarchical structure.  This is one of the few true 
advantages I've been able to admit for SOAP.  But guess what?  BEEP has the 
same advantage.

> 	- reasonable size to implement

Having looked really closely at ZSI, SOAP.py, SOAPy, and our own coupel of 
attempts to implement, I am astounded at this claim.


> > Good riddance.
> 
> 
> Why?  What do you not like about it?

* Most importantly, it has nothing whatsoever to contribute to RPC except for 
hierarchically extensible headers
* SOAP interoperability is a myth, as I can painfully attest
* It conflates transport and payload details
* SOAP data types consist of hack after hack, with the biggest hack being the 
multi-reference values you seem to like so much
* It is wicked inefficient (5-6x the network traffic, several times the 
latency and about 100 times the marshalling/unmarshalling expense when 
compared to OmniORB/Python, in my low-fidelity observation)


Funny thing is that Clay Shirky makes a completely different set of points from my own, and still manages to roast WS quite handily

http://www.xml.com/pub/a/2001/10/03/webservices.html


-- 
Uche Ogbuji                               Principal Consultant
uche.ogbuji@fourthought.com               +1 303 583 9900 x 101
Fourthought, Inc.                         http://Fourthought.com 
4735 East Walnut St, Boulder, CO 80301-2537, USA
XML strategy, XML tools (http://4Suite.org), knowledge management