Nov 21

What is DISCO?

Abbreviation of DISCO is Discovery.It is basically used to club or group common services together on a server and provide links to the schema documents of the services it describes may require.

DISCO is the discovery file which gives path to the Webservices. It contains WSDL(Web Service Description Language) When one searches for the Web Services, it will go to the DISCO which gives actual info. about the particular Webservices.

Discovery with DISCO

In the past, most consumers found out about new Web Services (and their endpoint addresses)

by browsing the Web, receiving an e-mail, or by word-of-mouth. Now, DISCO can define a document format along with an interrogation algorithm, making it possible to discover the Web Services exposed on a given server. DISCO also makes it possible to discover the capabilities of each Web Service (via documentation) and how to interact with it (via WSDL).

To publish a deployed Web Service using DISCO, you simply need to create a .disco file and place it in the vroot along with the other service-related configuration files, like so:

inetpub
   wwwroot
      math (vroot)
           math.asmx
           web.config
           math.disco
        bin
          simpleMath.dll
          complexMath.dll

The .disco document is an XML document that simply contains links to other resources that describe the Web Service, much like an HTML file that contains human-readable documentation or a WSDL file containing the interface contract. The following is a DISCO document skeleton that will serve as a starting point.

<disco:discovery
xmlns:disco=”http://schemas.xmlsoap.org/disco/”>
<!– references go here –>
</disco:discovery>

Notice that the root element has the name discovery from the http://schemas.xmlsoap.org/disco/ namespace. The references to other resources are placed within the discovery element:

<disco:discovery
xmlns:disco=”http://schemas.xmlsoap.org/disco/”
xmlns:scl=”http://schemas.xmlsoap.org/disco/scl/”>
<!– reference to other DISCO document –>
<disco:discoveryRef
ref=”related-services/default.disco”/>
<!– reference to WSDL and documentation –>
<scl:contractRef ref=”math.asmx?wsdl”
docRef=”math.asmx”/>
</disco:discovery>

The main element is contractRef, which belongs to a different namespace than the rest of the DISCO-related elements. contractRef has two attributes, ref and docRef, which point to the WSDL and documentation files for a given Web Service.
The discoveryRef element lets you link the given DISCO document to other DISCO documents.

This linking allows you to create a Web of related DISCO documents spanning multiple machines and even multiple organizations. This is especially useful if the DISCO client utility provides a mechanism to traverse the links. These
are the only elements that you have to be concerned about in the DISCO namespace.

DISCO Client Utilities

There are currently two tools available for discovering the DISCO document once it’s in place.

  • One is a command-line client called disco.exe;
  • the other is the Add Web Reference

Permanent link to this article: http://zappmania.in/2012/11/21/what-is-disco.htm

Leave a Reply

Your email address will not be published.