September 2005
« Aug   Oct »

September 26, 2005

Searching for WS-Middleground

Filed under: webarch,webservices — Mark Baker @ 12:25 am

As you might expect from the brilliant, intrepid (and largely neutral) technologist/writer, Jon Udell, when it comes to Web services and the “REST vs. SOA(P)” debate, he looks for the middleground;

Today’s most visible exemplars of WS-Lite — Amazon and eBay — use Web services in a point-to-point way. In that mode there’s not much difference between SOAP/WSDL APIs and REST APIs, so it’s not surprising that developers who work with these platforms overwhelmingly prefer the REST flavor. But when you do need to flow your XML traffic through intermediaries, SOAP and WSDL suddenly make a lot more sense.

When a rich intermediary model is what is required, I agree wholeheartedly that SOAP’s is superior to that of vanilla HTTP. But I have two concerns with that last sentence.

The first is to point out that SOAP’s intermediary and processing models are RESTful, as they respect REST’s self-descriptive and layered constraints. I fear that Jon’s readers might interpret his statement as implying a false dichotomy; that the use of SOAP excludes the use of REST. I don’t know whether this was Jon’s intention, of course.

My second concern, related to the first, is the mention of WSDL. WSDL was designed primarily for the purpose of describing service interfaces, therefore implicitly suggesting that services need different interfaces. But what’s not often recognized is that an intermediary model such as SOAP’s (i.e. an application layer one) only makes sense with an architectural style where interface constraints are used, as only by constraining interfaces does composition become tractable.

I applaud Jon on his efforts to find a middle ground, primarily because in doing so he his giving the Web-friendly RESTful approach much needed respect and visibility. But I think that middle ground is to be found further from the WS-* end of the spectrum than he seems to believe.

• • •
Powered by: WordPress • Template by: Priss