Feature Post

Top

.NET: UDDI, VSDISCO and DISCO Dancers!

DISCO(read: Discovery) is a technology that Microsoft introduced in .NET, that facilitates the capability of Web service clients to discover Web services and their associated WSDL(read: wizdil) files.

.DISCO and .VSDISCO files are separate from UDDI. While UDDI, which is rapidly evolving as a standard, goes beyond DISCO by defining how to interact with a full-fledged Web Service information repository, DISCO files are still in use.


The .DISCO and .VSDISCO files provide alternative ways to discover Web services that preclude the use of UDDI. And if UDDI is in use then .DISCO and .VSDISCO files do not.

When a web service publishes a static discovery (.DISCO) file, it enables the programmatic discovery of that web service. A .DISCO file defines what files to search; whereas a dynamic discovery (.VSDISCO) file simply identifies which directories to skip.

This results in the discovery of the services that exists at that level and below the virtual directory that contains the document. A .VSDISCO file is intended to be requested by the browsers/clients over the web. If you do not want unintended-clients to be able to discover services that are not implemented for them, then do not place .VSDISCO files in the webservices directory.

Sample DISCO file implementation

Using .VSDISCO files benefits developers in several ways. These files contain only a small amount of data and provide up-to-date information about a server's available Web services. However, .VSDISCO files generate more overhead (i.e., require more processing) than .DISCO files do, because a search must be performed every time a .VSDISCO file is accessed.

A typical WSDL implementation

Well, eventually it seems like there is no purpose to DISCO/VSDISCO files since UDDI is not actually used. Probably initially it did sound like a good idea but is not "that" usable; because actually or usually a client learn that a web service exists is because someone tells the URL of the WSDL file.

It may probably help in future when everything is going to be service oriented. Every functionality over the web; when Grid Computing would be a smalltalk in IT industry.

An in-depth article by Aaron Skonnard is worth the time. And also, he tells about the reason why did .VSDISCO documents stop working with the final release of the Microsoft .NET Framework. This tutorial is an excerpt directly from Dietel.

Seldom we find a need to dig inside a technology and know it inside out. HttpHandlers is a similar interesting topic and I plan to write about in future; lets see when it comes out.

Stay tuned (0: