UDDI R.I.P.

, Mar 25, 2010

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).

Yeah, right.

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 ...?

No.

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.

On March 26, 2010 1:05 AM, mike lorengo said:

No surprises here. The link you are looking for regard Paul Prescod’s article can be found here http://www.xml.com/lpt/a/915

On March 26, 2010 11:32 AM, Steve Loughran said:

Behind the firewall, DNS works quite well, it is a directory and naming service after all. The whole Brokerage thing never made sense to anyone except the people who wanted to be the brokers. Sadly, it turned out that you couldn’t switch service provider that dynamically anyway.

On March 26, 2010 2:36 PM, Anonymous said:

So, is there a viable commercial alternative?

On March 26, 2010 8:10 PM, Stefan Tilkov said:

Did you mean DNS or UDDI?

On March 26, 2010 8:17 PM, Stefan Tilkov said:

@Anonymous: HP Systinet, IBM WSRR, Software AG CentraSite are commercial solutions. I believe Oracle has one via the Sun acquisition, but I’m not sure whether anybody uses it. Open source options include MuleSource Galaxy and WSO2 Registry.

On March 29, 2010 8:36 AM, Andrew said:

What I don’t get… is how so many organizations just blinding buy into stuff like this. My theory is that there’s a certain complexity level that people just turn a blind eye to how-you’d-go-about-actually-using-it and invest anyway.

I’m guessing the thought process is something like this: With SOA we need to understand who’s done what so I can reuse it… We need a Registry… how do we do that…. oh UDDI… how does UDDI work? what? what’s that word mean? uh never mind with the explanation, I’ll buy 3 of them.

Meanwhile REST + Linked Data is conceptually simple enough for the lay person to begin to understand the fundamentals, and yet I must constantly defend its use.

Their thought process: Oh so services are linked just like documents are linked… okay… but what if a page goes down… 403? that sounds bad….
My response: Uh… it’s no different than if your SOAP endpoint went down. Their thought process: What’s a SOAP endpoint? AH!

On April 9, 2010 9:43 PM, jt said:

I love it. Thanks. Couldn’t agree more. A solution looking for a problem. Especially like the this quote, “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.”

On July 13, 2010 11:12 AM, Pierre said:

Hey there,

Some might be interested to learn about the “SOA Repository Artifact Model & Protocol (S-RAMP)” http://s-ramp.org/

It’s designed in a much simpler way than UDDI…I still have to use it so I cannot say more unfortunately.

All the best, Pierre