Web ServicesA Standards-Based Framework for Integration
|Web services standards are the glue that allows computers and devices to interact. UDDI allows clients to discover Web services.|
Web services are software components that can be accessed over the Web through standards-based protocols such as HTTP or SMTP for use in other applications. They provide a fundamentally new framework and set of standards for a computing environment that can include servers, workstations, desktop clients, and lightweight "pervasive" clients such as phones and PDAs. Web services are not limited to the Internet; they supply a powerful architecture for all types of distributed computing.
Web services standards are the glue that allows computers and devices to interact, forming a greater computing whole that can be accessed from any device on the network.
In Web services, computing nodes have three rolesclient, service, and broker.
- A client is any computer that accesses functions from one or more other computing nodes on the network. Typical clients include desktop computers, Web browsers, Java applets, and mobile devices. A client process makes a request for a computing service and receives results for that request.
- A service is a computing process that receives and responds to requests and returns a set of results.
- A broker is essentially a service metadata portal for registering and discovering services. Any network client can search the portal for an appropriate service.
Because Web services can support the integration of information and services that are maintained on a distributed network, they are appealing to local governments and other organizations that have departments that independently collect and manage spatial data but must integrate these datasets.
The use of a connecting technology (Web services) coupled with an integrating technology (GIS) can efficiently support this requirement. Various layers of information can be dynamically queried and integrated but will still be maintained independently in a distributed computing environment. Esri's Web services technology, ArcWeb Services, is built on top of ArcIMS. ArcWeb Services leverage core business logic in ArcGIS and support Internet-based distributed computing.
A series of protocolseXtensible Markup Language (XML); Simple Object Access Protocol (SOAP); Web Service Description Language (WSDL); and Universal Description, Discovery, and Integration (UDDI)provides the key standards for Web services and supports sophisticated communications between various nodes on a network. These protocols enable smarter communication and collaborative processing among nodes built within any Web services-compliant architecture.
UDDI allows clients to discover Web services. In a GIS context, the UDDI node plays the role of a metadata server for registered Web services. A user can search the UDDI directory and locate the distributed service providers or services that exist on a network.
Web services interoperate (i.e., communicate) through an XML-based protocol known as SOAP. This is an XML API for the functions provided by a Web service. Each Web service advertises its SOAP API using WSDL that allows easy discovery of any service's capabilities.
Web services provide an open, interoperable, and highly efficient framework for implementing systems. Software components communicate with each other via standard SOAP and XML protocols. A developer need only wrap an application with a SOAP API and it can talk (either calling or serving) with other applications. Web services are efficient because they build on the stateless (i.e., loosely coupled) environment of the Internet. A number of nodes can be dynamically connected only when needed to carry out a specific task such as updating a database or providing a particular service.
Although the basic computer components of a Web services system are still clients and servers, network connections are dynamically created "just in time" and, therefore, do not require the overhead of state-full (tightly coupled) networks. These networks can be implemented in open as well as secure environments. Loosely coupled architecture provides a new and promising solution for implementing complex collaborative applications such as a distributed GIS.
The integration of GIS and Web services means that GIS can be more extensively implemented. Mapping, data, and geoprocessing services are available from many servers and can be integrated into a common environment. However, the ability to not only connect and interoperate but also to integrate and fuse data based on geographic location, a capability that is inherent to GIS, makes GIS-based Web services unique. Web services can realize some of the grand visions for GIS that include fusing GIS applications and building a spatial data infrastructure through interoperability based on standardized interfaces. Esri has built OGC-compliant connectors for ArcIMS that support access to Web Map Services (WMS) and Web Feature Services (WFS).
Web services can use a geographic framework to fuse GIS applications. For example, a local government will be able to continuously maintain and update its land records while serving them to other organizations, both internal and external. A utility company could directly use that local government's basemap instead of maintaining its own and could serve its facilities data back to the local government for use in permitting and land use planning. This type of interorganizational synergy will dynamically accelerate the use of geographic information everywhere.
A spatial data infrastructure lets many agencies and organizations share data stores and applications in a distributed environment. GIS fundamentally involves the integration of data from multiple sources. The Web services architecture establishes a specific type of relationship between service providers and information consumers that nicely supports the dynamic integration of data, which is the key to creating a spatial data infrastructure. With the introduction of Web services, distributed multivendor GIS services can be dynamically integrated into applications using the interoperable standards of XML and SOAP. This level of integration is already available on the desktop.
The ArcGIS Desktop productsArcView, ArcEditor, and ArcInfocan fuse multiple ArcIMS services (e.g., map/image overlay). In the near future, ArcIMS will support integration of these GIS services on a Web service tier. That means an applications developer can take several distributed GIS services, such as mapping, geoprocessing, or data streaming, and build a new application anyone can use. This Web tier environment, based on the XML/SOAP standards, will further enable Esri's products to dynamically integrate distributed GIS services from different GIS vendors that support Web services standards.