It does no longer come as a surprise to anyone when I criticize the SOAP/WSDL/WS-* variant of Web services, but in the last couple of weeks I've been in a few discussions where one particular piece of technology came up for discussion: UDDI, Universal Description, Dicovery and Integration, an official OASIS standard, at version 3.0.2 since February 2005. In the course of these discussions, I still saw a few eyebrows raised when I explained what I consider to be the obvious:
UDDI is dead. As in, you know, not pinin', passed on, is no more, ceased to be, expired and gone to meet 'is maker.
It started out as a global directory; visions of global e-commerce driven by dynamically emerging business relations, where a small producer of some fancy local specialty becomes listed on a large retailers Web site simply by publishing its services to the global yellow pages, which are operated for the greater good of the world by some of the most important e-commerce companies (IBM, Microsoft, SAP and Ariba, IIRC).
In what can only be termed an absolutely stunning example of 'spin', the operators of this global directory, which only ever contained hello world examples and other crap left there by people playing around with it before quickly finding better ways to spend their time, shut it down after it had failed too hard to ignore this fact, and then declared it a success! It was only an experiment to prove how well UDDI works, which was of course always intended for company-internal use only.
So maybe this is the role for UDDI -- support SOA governance within an organization, offering a standardized way to catalog one's metadata, including ways categorize it in multiple dimensions, using a simply, yet extensible data model that is universally accepted, leading to excellent interoperability between vendors ...?
Never mind that UDDI is the most horrible spec ever written - 420 pages stuffed with entirely useless new terminology, describing what should be a very, very simple CRUD API in as complex a way as possible. Never mind that one could have done the same thing using a simple REST API, and Paul Prescod showed how to do that in 2002 (sadly I'm unable to dig up a link). Ignore the fact that as soon as you use UDDI for something useful, you have to customize it in a non-interoperable way, making the standards argument mute.
More importantly, there is no vendor left who cares about it. The standard isn't being extended, there is no working group, there are no new initiatives, and even if you are a strong believer in SOA governance and associated tools, you'll find out that most of them no longer use UDDI (except as a checkbox feature).
The very simple fact is: You don't have to be a RESTafarian to come to the conclusion that UDDI is, indeed, dead.