|
Web Services Infrastructure
In this section we will know the infrastructure that is needed to support Web Services.
The four primary infrastructure pieces needed are: Web service Directories,
Web service Discovery, Web service Description and Web service Wire Formats.
Web Service Directories
Web service Directories allow us to locate providers of Web services. They provide
a centralized,
Internet-accessible location where Web service users (consumers) can easily
locate services offered by other companies and organizations. They can be called as
"Yellow Pages" of Web services where we can find a list of Web services and their
locations. Using these directories we can search and find any Web service based on
the type of service we need.
The Universal Description, Discovery and Integration (UDDI ) currently is the de facto
standard for cataloging and finding Web services. The UDDI organization created a
directory of services, API's etc for participating companies and organizations providing
Web services. You can visit the UDDI website to search for Web services. Else, you
can use Visual Studio .NET 's web reference feature to search these directories.
Web Service Discovery
Web services Discovery provides the capability to locate Web services. It's a process
of locating documents that define a specific service. These capabilities are described
in a standard way using the Web Services Description Language (WSDL)
which is specifically designed for this. The discovery process allows a Web service
user to search and locate the WSDL document. The DISCO (discovery)
specification defines the existence of Web services and helps to locate the
Web service's WSDL document. DISCO documents are XML based and have a file extension
of .vsdisco. The discovery document is a container for two
elements, pointers to WSDL document and pointers to other discovery documents. These
pointers are in the form a URL.
You can use Visual Studio .NET 's web reference feature which locates the Web services
automatically using the discovery process. To do that you need to enter the URL of
the discovery document which will initialize the discovery process. Else, use the
.NET Framework's disco tool to search for Web service description files.
Web Service Description
Web service Description is an XML document that enables Web service capabilities to
be described. Using WSDL we can clearly define the Web-addressable entry points in
terms of request/response messages. Also this description includes information about
the supported protocols and data types processed by the Web service. ASP .NET and
the .NET platform provides the support for generation of this WSDL documents from
the Web Service assembly when requested.
The standard method of interacting with a Web Service is through the use of a proxy
class. Visual Studio .NET and ASP .NET provide tools to generate a Web Service proxy
class. The proxy class is similar to the actual Web service but does not contain
all the implementation part. With Visual Studio .NET we can generate the proxy class
from WSDL documents with it's Web reference feature to locate a Web service which
we want to call. After locating the WSDL document we can generate the proxy class
using the Add reference button.
Web Service Wire Formats
Web service Wire Format allow Web services to exchange data and messages. Wire formats
describe the method by which Web service request/response messages are encoded and
transported between the Web Service and any consumer. The three wire formats supported
are : HTTP-GET, HTTP-POST and HTTP-SOAP.
HTTP-GET
The HTTP-GET protocol encodes Web service operation requests and arguments in the
URL of the Web service. This is coded as part of the URL string and any arguments
are coded as query string parameters appended to the base URL. The URL specifies the
Web addressable entry point for the Web service which is a .asmx file.
HTTP-POST
The HTTP-POST protocol encodes Web Service operation requests and arguments within
the payload area of the HTTP-POST request as name/value pairs. HTTP-POST is similar
to HTTP-GET but the difference is HTTP-POST passes parameters within the actual HTTP
request header rather than as a query string appended to the URL.
HTTP-SOAP
HTTP-SOAP is the default wire format. Based on the SOAP specification it supports
the widest range of simple and complex data types. Web service request and response
messages are encoded into SOAP message that are included in the payload area of an
HTTP-POST message, SOAP messages are encoded in XML using the SOAP vocabulary defined
in the specification.
|