|< Free Open Study >|| |
We've seen how we can use servlets to implement both web services and web service agents or clients. Web services are rapidly becoming the preferred means of web based data exchange between businesses. Web service and agent development is such a broad topic that it is difficult to provide too much detail in a book focused on servlet development. However, it is necessary for us to understand how web services will operate so that we can develop effective servlet agents.
CORBA, RMI, and Microsoft COM are all examples of distributed component technologies. Each one of these technologies provides an Interface Definition Language (IDL), used to automatically generate stubs needed to create client programs and skeletons needed to create servers. These stubs and skeletons handle exchange of parameters and return values across the network. Web Services Description Language (WSDL) provides this capability for web services.
A WSDL document provides all of the information needed to interact with a web service. A WSDL file is an XML file that can be read and interpreted manually by a developer who needed to implement a web service or an agent. It can also be used to automatically generate proxy classes or stubs to access a web service automatically.
Apache Axis already includes the capability to automatically create client proxies and server skeletons based on a WSDL file. Axis can also be used to automatically create a WSDL file for a service deployed in the Axis server. Since these tools are so readily available, we don't need to worry about manually creating WSDL files.
So we have a standard way of describing a web service. The next problem is how do we find the web services we want to use?
Universal Discovery Description Integration (UDDI) can be thought of as a phone book for web services (although UDDI can be used for more than just web services). With UDDI, we can have the massive telephone directories such as those that the telephone companies use, or local ones just for a company or organization.
A UDDI directory entry can contain things like personal contact names, addresses, and telephone numbers as well as information like URL's and service names. It also provides a mechanism for exposing WSDL files that describe web services.
UDDI provides three types of directory:
The first is similar to the white pages type of phonebook. It lists entries alphabetically according to the organization or entry name.
The next is like the yellow pages or business directory. It classifies entries according taxonomy of businesses and entry types.
Finally, we have green pages. It lists technology like URLs and WSDL files.
The following figure illustrates the web-services stack. It shows how the web-service technologies work together to support the distributed computing model:
UDDI is used first to find the WSDL of a web-service, which describes the service and provides the interface definition (a contract to which the client and server will adhere). The SOAP layer provides the common messaging system and supports the standardized marshaling or serialization of parameters and return values. XML is the common language that everyone uses to communicate. Finally, HTTP is the carrier that moves it all around. These five layers represent the current direction of distributed computing.
|< Free Open Study >|| |