The place for UDDI

2 minutes read

A place for UDDI after all?. [...] I can understand the desire to see WSDL die--Lord knows, after having experienced firsthand the complications of building a truly interoperable web service using WSDL, I share his desire entirely--but I still don't see the relevance of UDDI in the service-oriented architecture. In many ways, it feels like Don and Clemens want UDDI to turn into some kind of centralized "workflow" (although I hate using that word in this context, since it clashes with what I consider workflow to be) repository, acting as a router from service to service, a layer of indirection to keep processing nodes in the chain from having to know the next and previous nodes in the chain. And it just feels to me like UDDI, having not really been designed for that, won't be the best choice for doing that--perhaps we'd be better off with a new implementation with less baggage? Or am I just missing something somewhere? [The Mountain of Worthless Information]

The answer is: It's the yellow pages. No, it's actually the yellow pages plus custom, extensible, and queryable metadata. You walk up to your enterprise UDDI registry and say (the formal equivalent of) "I have a bunch of packages here, all between 5kg and 20kg and I would like to have a truck in front of my building at 4pm this afternoon which will pick them up and I want them to be sent overnight to several places in Europe". UDDI answers: "Here are the service references for FedEx, UPS and Deutsche Post".

Then you say to UDDI: "Please give me the WSDLs for those services and a reference to the XSLT mappings that I have stored in the registry to map my internal XML Schema for shipping requests and shipping cost inquiries to the XML Schema for the respective messages in those WSDLs". UDDI says: "Here you go".

Then you make "give me today's shipping prices for those packages" calls to a local endpoint which takes a request using a Schema you defined, the local endpoint maps your internal schema to one of the remote service's schema, and then routes the call to the remote services. One to FedEx, one to UPS, one to Deutsche Post. You get back three prices, pick the lowest one and make a similar "come pick up the packages" call to the winner. At 4pm there'll be a truck.

The shorter answer: UDDI powers business logic driven "class factories".

Updated:

Leave a Comment