Daily Archives: December 21, 2005

REST vs SOAP (again) and Public UDDI Goes Away

Every once in a while I search Google news for Web services stories.
Today a couple of interesting items came up.
The first was on this recurring motif of REST vs SOAP. Only this time the author decided to talk about it in terms of the “easy” vs the “hard” way to do it.
We went around on this a bit more than a year ago and I would have to say that the obvious conclusion seems to be that you use the simple technology when it’s appropriate, and the more complex technology when you need it.
Absolutes do not apply. It isn’t possible to characterize REST as easy without asking “easy for whom?” Or “easy for what purpose?”
These debates (mine included) always reference the Amazon.com experience, which shows that XML over HTTP (this is not really the same as REST by the way) is used by 80% of the developers while SOAP is used by 20%.
The first time I heard about this was back in June of 2003 and for me this still represents one of the best summaries of the phenomenon: SOAP is easier for developers used to Java or C# while XML over HTTP is easier for Web developers.
One technology is not inhernetly easier than another. It depends on the application – that is why we have different tools in the toolbox. What’s easy or hard depends on what you are doing.
If you are mapping XML to a Java or C++ class, using SOAP is easier. If you are simply searching for XML elements in an XML document to transform into HTML or something else, XML over HTTP is easier.
Another interesting news item concerns the demise of the public UDDI. I remember very well when this was launched in October of 2000 at Microsoft’s Redmond campus. It was a great vision, portrayed in living video color, of a Web of self-discovering services that would assemble themselves into any combination of interactions across the Internet to serve business and consumer alike.
One of the big problems was noted at the time: the lack of any oversight on the data posted to the public UDDI. Unlike the Yellow Pages, no one was ever in charge of verifying and validating the information being posted to any of the public sites. IONA developers used to store their browser bookmarks there, for example, for later retrieval after upgrading or changing computers.
Another problem was the data model. Granted, the world lacks a unified business or industrial categorization scheme, so this isn’t entirely the fault of UDDI.
I also clearly remember, late in the day, after all the video and PowerPoint, someone from the audience raising his hand to ask the question: “Can these technologies be used inside the firewall?”
It’s hard to remember now that back in 2000 now one was thinking about using Web services inside the firewall. We were all caught up in the magic of Web services over the Internet (“the browserless Web!”), and weren’t thinking much about using UDDI for an enterprise registry/repository. However today that’s very clearly what we are left with.