Web Services—A
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 roles—client, 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 protocols—eXtensible 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 products—ArcView, ArcEditor, and
ArcInfo—can 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. |