On Fri, May 24, 2013 at 8:47 AM, Paul McNett <[email protected]> wrote:

> \
> That's pretty funny. SOAP made something elegantly light and simple (http
> request and
> response) into something needlessly heavy and unwieldy. Maybe it was a
> great design
> for something, somewhere, but definitely not for web services.
>

SOAP is early binding between apps that communicate over the internet. The
WSDL defines a _fixed_ interface: what's submitted, in what format, with
basic validation of structures (think "strong" vs. loose typing). "Strong"
interfaces mean both sides can program with strong expectations of what is
submitted and all possible formats of what can be returned. They make solid
interfaces.

They also make unchanging interfaces, brittle ones that break if either
producer or consumer try to change anything.

XML-RPC and similiar APIS have a more relaxed attitude, that trades the
security of all possible interactions being pre-defined with the advantage
of being able to add new functions, features and return values without
breaking the older interfaces. The downside is when you add a new interface
you don't have a automated "discovery" mechanism for others to discover
your new function call or return parameter.

Think of adding a weather station to your network. You buy the cheap one to
start, and create an API that returns the temperature with a web request.
Later on, you decide to upgrade to the deluxe weather station, adding wind
information. If you had a loose API that returns a collection of
information in JSON or XML, consumers could continue to read the
'temperature' setting and ignore the new parameters they didn't recognize.
However, if you used a more rigid protocol (like SOAP with WSDLs), the new
data would need a new WSDL, and that means you either create a totally new
interface (Query2()) as well as maintain the old interface (Query()) or you
drop the old interface and require all the consumers to upgrade (sounds
like a MS plot, doesn't it :) ? ) There are business cases for doing it
both ways, depending on what you're doing, but the looser "send back a mess
of data" is probably a better model for public services where you don't
necessarily control, or are even aware of, the consumers of your service.

Putting up new SOAP web services today is a disservice. It's worse than
> laying out
> your web pages using tables.


It's a contract between producer and consumer. If both can live with the
limitations of the contract between them (especially fixed components in a
controlled environment), SOAP and EDI and other "legacy" formats have a
place.

-- 
Ted Roche
Ted Roche & Associates, LLC
http://www.tedroche.com


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/cacw6n4sfnx68ee4kghke6zr8crhdy-nsgt9l9uqg4vsqt9p...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Reply via email to