XML infrastructure (1)
To succeed in Network Diversity, XML Web Services must not care about the selected operating system, object model, or programming language. Furthermore, XML Web Services must:
Loose coupling: If only the commands used in the two systems can understand the self-describing text-based messages mentioned above, the two systems are considered loose coupling. On the other hand, tightly coupled systems use a large number of customized software to enhance inter-system communication, and need to know more between systems.
Ubiquitous communication: Currently, individuals are unlikely to be able to construct an operating system, or will not integrate Internet access capabilities in the near future. Therefore, this requires a ubiquitous communication channel. Similarly, the ability to connect almost any system or device to the Internet will ensure that such systems and devices can be used by other systems or devices connected to the Internet.
Common Data Format: By adopting existing open standards rather than dedicated Closed-Loop communication methods, any system can support the same open standards that can understand XML Web Services. Using self-described text-based messages, XML Web Services and their customers can share these messages without having to know the composition of each underlying system, this will allow communication between completely different independent systems. XML Web Services use XML to implement this function.
XML Web Services use a basic structure that provides the following functions: a discovery mechanism for locating XML Web Services; a service description for defining how to use these services; and the standard connection format used for communication. The following illustration shows an instance of this infrastructure.
Infrastructure Block |
Functions |
XML Web Service Directory |
The XML Web Service Directory provides a central address for locating XML Web Services provided by other organizations. The XML Web Service Directory such as UDDI registration implements this function. The XML Web Service client can reference the XML Web Service directory or not. |
XML Web Service Discovery |
XML Web Service Discovery uses the Web Service Description Language (WSDL) to locate or discover one or more documents describing special XML Web Services. The DISCO Specification defines the rules for locating the service description. If the XML Web Service Customer understands the location of the service description, they can bypass the discovery step. |
XML Web Service Description |
To understand how to interact with a specific XML Web Service, you need to provide a description to define the interaction operations supported by the XML Web Service. The XML Web Service client must understand how to interact with an XML Web Service. |
XML Web Service connection format |
To facilitate general communication, XML Web Services use open connection formats for communication. These are protocols that can be understood by any system that supports the most common Web standards. SOAP is a key protocol used for XML Web Service communication. |
XML Web Service Directory
Like any other resource on the Internet, the XML Web Service Directory cannot find a specific XML Web Service without some search methods. The XML Web Service Catalog provides a central address for XML Web Service Providers to publish information about their XML Web Services. Such a directory can even be the XML Web Service itself, which can be programmed to access and provide search results to respond to queries on the XML Web Service client. It is necessary to use an XML Web Service Directory to locate an organization that provides XML Web Services for a specific purpose, or to determine what XML Web Services a specific organization provides.
The UDDI (unified description discovery and integration specification) Specification defines a standard method to publish and discover XML Web Service information. The XML Schema associated with UDDI defines four types of information, allowing developers to use a published XML Web Service. These are: business information, service information, binding information and other standardized information for the service.
As the core component of the UDDI project, the UDDI Business Registry allows Business programming to locate the XML Web Service Information published by other organizations. Developers can use the UDDI Business Registry to locate and discover files and service descriptions. For more information, see UDDI Web site (http://uddi.microsoft.com ).
XML Web Service Discovery
XML Web Service Discovery uses the Web Service Description Language WSDL to locate or discover one or more operations that describe a specific XML Web Service file. It allows the XML Web Service client to know whether an XML Web Service exists and where to find the description file of the XML Web Service.
A published. disco file is an XML file that contains resources connected to other XML Web Services. It can be programmed to discover an XML Web Service. The following code provides an example of discovering the structure of a file:
<? Xml version = "1.0" encoding = "UTF-8"?> <Discovery xmlns: xsd = "http://www.w3.org/2001/XMLSchema" xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns = "http://schemas.xmlsoap.org/disco/"> <ContractRef ref = "http://www.contoso.com/Counter.asmx? The wsdl "docRef =" http://www.contoso.com/Counter.asmx" Xmlns = "http://schemas.xmlsoap.org/disco/scl/"/> <Soap address = "http://www.contoso.com/Counter.asmx" xmlns: q1 = "http://tempuri.org/" binding = "q1: CounterSoap" Xmlns = "http://schemas.xmlsoap.org/disco/soap/"/> </Discovery> |
Note: A discovery document is an element container that generally contains links to resources that provide discovery information for XML Web Services. If they are associated with URLs, they are assumed to be associated with the location of the document found.
However, a Web site implementing XML Web Services does not have to support discovery. Another site can describe this service, such as an XML Web Service Directory. There is no public method to discover a service, for example, when you create a private service.