How do you compare UDDI to other methods of discovering networked resources
(may or may not be web services)
What’s the difference a global UDDI registry and…
– Google: controlled by a single organization
– dmoz.org: open, and replicated by other search engines
– DNS: governed by ICANN, but organizations can apply to be registrars
Do the above services have the same weakness you attribute to a UDDI global registry?
In some ways, we’re talking apples, oranges, cherries, and perhaps some peaches. They’re all fruit, but the similarity ends at that point.
UDDI is a centralized discovery service managed by a consortium of organizations, the content of which may or may not be striped across several different servers. Information is added to the repository by submission of those with services to provide.
Google is a discovery service that is also centralized under one authority but uses many different methods to discover information including automated agents (bots), subscription to other services (such as dmoz) and manual intervention.
Google, though, has an interesting twist to its discovery mechanism: it has a set of algorithms which are constantly evaluating and merging and massaging its raw data in order to provide additional measurements, ensuring higher degrees of accuracy and recency. The discovery of data is never the same two times running within a collection period.
The dmoz directory is a great open source effort to categorize information intelligently. In other words, the data is manually added and categorized to the directory. This makes the directory extremely efficient when it comes to human interpretation of data. You might say that with dmoz, the “bots” are human. You get the world involved then you have a high level of intelligent categorization of data. The only problem, though, is that human interpretation of data is just as unreliable as a mechanical interpretation at times.
However, dmoz is probably the closest to UDDI of the network discovery services you’ve listed primarily because of this human intervention.
Finally, DNS. DNS does one thing and as pissy as people are about it, it does the one thing reasonably well. The web has grown to huge proportions with something like DNS to handle naming and location of resources.
In some ways, DNS is closest to what I consider an iron-free cloud if you look at it from an interpretation point of view (not necessarily implementation). You have all these records distributed across all these authoritative servers providing a definitive location of a resource. Then you have these other servers that basically do nothing more than query and cache these locations to make access to these resources more quickly and the whole framework more scalable.
In some ways, I think UDDI is like DNS, also. You can have UDDI records distributed across different servers to make service lookup more efficient and to make the whole process more scalable.
This same approach also happens with Circle, Chord, and Freenet if you think about it (the whole store and forward, query and cache at closer servers or peers so that the strain of the queries aren’t channeled to a few machines).
UDDI is like DNS for another reason: controlling organization and potential political problems. ICANN hasn’t had the best rep managing the whole DNS/registrar situation. In particular, you should ask some of the Aussie ISP’s what they think of the whole thing. They’ve had trouble with ICANN in the past.
All of the services share one common limitation: they all have hardcoded entry points, and all have some organization as a controller. I don’t care how altruistic the motives, there is a controlling body. There’s iron in all the approaches. All of them.