FYP Final Report v1.0.0
Copyright and All Rights Reserved To: Pee-Lo Team @2003/04
26
3.4.1 Components of XML Web Services Layer
The XML Web Services Layer consists of a few very important files.
DISCO
WSDL
UDDI
In the context of our prototype, we are only making use of the DISCO and WSDL. We do not use
UDDI since we do not list/register our project in the UDDI yellow page directory to publicize our
work for the public to use.
Below is a code snippet of how DISCO file looks like:
Line
Codes
1
<?xml version="1.0" encoding="utf-8"?>
2
3
4
5
</discovery>
Snippet 1: DISCO File Codes
XML is also used to help prospective users find a given Web service. DISCO files, short for
discovery files, are created and exposed to the Internet as the primary way of advertising a service.
Disco files contain links that point to the service and the services WSDL files.
The content of the whole DISCO file is depicted in Snippet 1. Line 1 of the snippet tells us that the
file is actually an XML file using UTF-8 standard encoding. Line 2 lists down the standards for the
web service to follow and use. It is actually the URLs to a few World Wide Web Consortium (WC3)
sites which host the XML Schemas. Line 2 is an open tag and its close tag is at Line 5. Line 3 is
the WSDL contract location. This is the URL where the WSDL file is located. Line 4 is the SOAP
address complete with a unique (usually custom defined) namespace for the XML web service and
the schema used to validate it. The usage of the namespace is unique and usually follows the
URL of the site where the service is provided. Reason: no single URL is duplicated in the Internet
thus it is unique.
WSDL or Web Services Description Language documents list the exposed methods of a service
and any parameters and return types that those methods expose. The contract is a promise that
the listed methods will exist in the format described by the WSDL document.
The WSDL can be used to create consumers (client applications) for the service and guarantee
that requested services both exist and function in the manner that the client developer expects
them to.