Potential of Using Web Services Technologies in Distributed GIS Applications


Pouria Amirian
Faculty of Geodesy and Geomatics Engineering
K. N. Toosi University of Technology
Vali-e-asr St
Mirdamad Cross, Tehran, Iran
P.C. 1996715433
p_amirian@hotmail.com

Ali Mansurian
Faculty of Geodesy and Geomatics Engineering
K. N. Toosi University of Technology
Vali-e-asr St
Mirdamad Cross, Tehran, Iran
P.C. 1996715433
mansourian@kntu.ac.ir


Abstract
Internet and its applications, particularly the World Wide Web (WWW) are increasingly integrated into almost every aspects of GIS use. The ubiquitous access to Internet and dynamic content of WWW have changed the way of delivering spatial information and geoprocessing services to users.

In spite of these facts, there are some barriers in front of fully utilize the huge potential of Internet and Web. More accurately, most of GIS services which are available over the Web are tightly coupled with non open and vendor specific technologies. In other words, these services are not interoperable.

Interoperability and open technologies are core requirements for fully take advantage of Web as distributed computing environment. By enabling interoperability among various GIS services, the Web greatly increases access to spatial data and geoprocessing resources, and thus significantly increases the value of those resources (OGC 2004).

At the same time, non-interoperability prevents the sharing of spatial data from various resources and the direct use of heterogeneous geoprocessing services in chaining manner.

The non-interoperability problem can be solved with Web service technologies. Since Web services are based on open and non-proprietary standards they can provide high level of interoperability in network environments such as Web. In addition, to providing interoperability, they can be created using any software platform, operating system, programming language and object model. So, Web service technologies are the main candidate for implementation of truly distributed GIS services.

This paper intends to evaluate the main problem associated with current GIS services and deals with how Web services technologies can overcome the mentioned problem.

Introduction
Nowadays individuals, universities, organizations and companies use the Web as a main infrastructure to publish spatial information, offer or consume GIS services and in some rare cases to conduct a complicated GIS processing.

So, due to the high potential of Internet and Web, many different Web mapping software packages have been provided by different GIS vendors.

But each Web mapping software, utilize different technologies, which are not able to interact and interoperate with each other directly. For this reason, Service on the particular GIS server can only be accessed by its own clients and other clients (clients of other GIS servers) cannot access services of that server.

On the other hand, application-integration is not supported with current Web mapping software. Today, GIS developers can't combine specific services from different Web mapping software, and use them as building block of an integrated GIS application. These problems arise because of this fact that, Internet-based applications need to be able to interact with other Internet-based applications as easily as interactions between Web browsers and Web servers. But the essentially text-based Web dos not support software interaction very well.

A more efficient method is needed to allow applications, interact directly with other applications to automatically and without human intervention, executing instructions that would otherwise have to be entered manually through Web browser (Cerami 2002). But the main barrier in front of application to application interactions is the interoperability. The following section will describe spatial interoperability and different aspects and resources of this problem.

Spatial Interoperability
The most important problem associated with GIS systems is non-Interoperability of these systems. Based on OGC’s reference model (OGC 2003) interoperability refers to "capability to communicate, execute programs, or transfer data among various functional units in a manner that requires the user to have little or no knowledge of the unique characteristics of those units".

According to OGC 2004 and the mentioned definition, five sources for spatial non-interoperability could be identified:
  1. Different types of geoprocessing systems (Vector, Raster, CAD,… ) produce very different types of data.
  2. Different vendors’ geoprocessing systems use internal data formats and produce data in formats that are different and in most cases proprietary.
  3. Different vendors’ systems use proprietary software access methods with proprietary interfaces that restrict opportunities for network inter-process communication between systems.
  4. Different data producers, even if using the same type of system from the same vendor, do not, name spatial features in the same way.
  5. Different data producers, if they provide metadata, do not, structure their metadata in standard schemas that enable effective metadata searches.
In this list the items one, two and three are the causes of technical non-interoperability and items no four and five are the causes of semantic non-interoperability.

As GIS community believes, solution for semantic non-interoperability is consensus development of interoperable standards and specifications.

In this context, OGC plays a major role. Precisely The major standard body that set the Industry standards for GIS services is OGC. Generally the main goal of OGC is to promote the widespread use of interoperable GIS services throughout the information infrastructure.

In GIS community solutions to overcoming technical non-interoperability have changed with the development of new technologies in IT world. In IT world, the best solution for providing interoperability among heterogeneous systems in distributed, decentralized environments are Web services technologies (Volter et al 2005).

Following sections will briefly introduce the concepts of Web services and GIS Web service as well as how Web services can overcome the mentioned problem.

Service Oriented Architecture and Web services Technologies
The Web as it exists today is intended for human consumption. Consequently, data is presented in a form that is human-readable, but this form of representation is error prone and difficult for applications to examine, extract and use both, automatically and programmatically. So there is a need for application to application communication and this is the idea of application-centric Web rather than human-centric Web (The Web as it works today).

An application-centric Web is not new concept (Newcomer 2002). For many years, developers and programmers have created and used CGI and CGI extension programs (such as Java servlets modules, ASP , JSP and Cold Fusion Web applications and so on) for communicating between different applications. But most of these systems were used as a part of tightly coupled platform and as a result they can't offer service to other business solutions.

Promising technology for providing cross platform application to application communication is Web services technologies.

In fact, Web services are implementation of a conceptual architecture, which is called Service Oriented Architecture (SOA). SOA is a conceptual architecture for implementing
  • Loosely Coupled
  • Self-Describing
  • Standard-based
  • Dynamic discoverable
Services (Newcomer and Lomow, 2005).
Also some IT experts state that SOA is the next generation of Software implementation which is emerged after distributed technologies paradigm (Marks and Werrell, 2003).

In SOA, the central elements are services. Service is a location on the network that has a machine-readable description of the messages it receives and returns.

As illustrated in Figure 1, a SOA consists of three primary roles and three primary tasks. Service provider, service requester and service broker are distributed computational Nodes on the network. Service provider publishes its own service with service broker. Service requester uses the service broker to find desirable services and then binds to a service provider to invoke the service.


Figure 1: major components of Service Oriented Architecture


The actual implementation of SOA using open, standard and widely used protocols and technologies is called Web services (Newcomer and Lomow 2005).
Web services are about delivering distributed applications via programmable URLs (Amirian and Mansurian 2006). Web services are eXtensibe Markup Language (XML) applications mapped to programs, objects, or databases or to comprehensive business functions (Newcomer 2002). Using an XML document in the form of a message, a program sends a request to a Web service across the network, and optionally receives a reply also in the form of an XML document.

Web services are based on open standards, so they can provide technical interoperability in network environments such as Web. These brand new technologies can be created by using any software platform, operating system, programming language and object model. More precisely, Web Services are loosely coupled, self-describing services that are accessed programmatically across a distributed network, and exchange data using vendor, platform, and language neutral protocols (Marks and Werrell, 2003).

Web services are implemented by using a collection of standards. These standards, when considered together, form what is widely referred to as the “Web services stack.
According to Marks and Werrell (2003), Figure 2 illustrates the seven distinct layers of the Web services stack, which should be read from bottom to top.


Figure 2: Web service Stack


As illustrated, these 7 layers are grouped into three distinct levels — each level indicates a level of maturity for the layers it contains.
The enabling standards level contains two layers: the network transport protocols and meta-language. The layers within the enabling standards level contain well-defined and accepted standards and protocols that are widely used in Internet and Web such as HTTP and XML.

The evolving standards level contains layers for SOAP , WSDL , and UDDI . Collectively, these layers form the core standards for implementation of Web services.

SOAP is a lightweight, XML-based protocol for exchanging information in decentralized, distributed environments. SOAP is used for messaging among various SOA’s components in a Web services platform. SOAP is platform independent and also it can be used with various Network Transport protocols such as FTP , HTTP , HTTPS , HTTP-R , and BEEP . WSDL is xml-based specification for describe the capabilities of a service in a standard and extensible manner. UDDI is a set of specifications and APIs for registering, finding and discovering services.

As illustrated in Figure 3, these layers establish an explicit mapping between elements of SOA as a conceptual and Technology independent architecture and Web services as specific collection of standards, protocols and technologies.


Figure 3: Mapping between SOA and Web services technologies


In this case, service provider publish its own service description using WSDL, then Requester take advantage of search API’s of UDDI to find appropriate services and finally, service requester bind to the service provider using SOAP.

The last level of standards or emerging standards level has the least well-defined capabilities. This level represents proposed standards for QOS and business process flow which are promoted by individual vendors such as Microsoft, IBM.

In the context of Web services each service has three main parts: Service description, Executable agent, and the mapping layer between the two (Figure 4).


Figure 4: major parts of a Service in Web services context


The machine-readable description- that is a WSDL document- contains network address for the service, the operation it supports and other needed information for consume the service.

The executable agent is responsible for implementing the functionality of services.
The description is separated from the execution environment using a mapping layer.
The mapping layer is often implemented using proxies and skeleton (Newcomer and Lomow, 2005). This layer is responsible for accepting the message, transforming the XML data to and from the native format of executable agent and finally dispatching the data to the executable agent.

On account of separation between executable environment and description of service or separation between semantic and functionality of services in the Web service world, Web services can be created by using any software platform, operating system, programming language and object model. So it is not a difficult task for a developer to bridge heterogeneous computing platforms such as J2EE, CORBA and .NET.

Following section will describe how WS can resolve the problem of non-interoperability in GIS world.

Potential of Using Web Service Technologies in Distributed GIS Applications
Web services are fundamentally new platform. This platform provides loosely coupled, standard based, self describable and dynamic discoverable services. Web services considered as the best long range solution for non-interoperability problem. They provide unprecedented flexibility and extensibility when compared with other distributed architectures such as DCOM and CORBA . Precisely Web services technologies provide two major advantages over previous distributed computing architectures (Newcomer and Lomow 2005)
  1. Most existing distributed computing architectures include the communication protocol as part of their scope. In the other words, they provide vendor specific access methods. With Web services the communication protocol is an open protocol which is widely used over the Web (HTTP).
  2. In existing distributed computing architectures, data types were specific to platforms, programming languages, middleware systems and DBMSs. Web services nicely resolve this problem by using universal data type which is provided by XML platform.
Consequently this loosely coupled architecture provides a new and promising solution for implementation of complex collaborative applications such as a distributed GIS services. In some ways, the integration of GIS and Web services simply means that GIS can be more extensively implemented, and people will be able to take mapping, data, and geoprocessing services from many servers and integrate them into a common environment (ESRI 2003).

GIS Web services can be categorized as processing service and geodata service. The GIS processing services provide different GIS functions and operators. The GIS geodata services provide access to GIS data. On account of Peng and Tsou (2003), to increase data interoperability, a common format of geospatial data could be provided. The GML (Geography Markup Language) could be such a common format.

GIS community can use SOAP as synchronous and asynchronous messaging protocol for utilize processing services as well as geodata services.

In GIS world for fully take advantage of Web service architecture, different GIS service providers must publish their services on the Internet and advertise it through public UDDI or a dedicated GIS service registry (which might be provided by collaboration of members of GIS community). At the other hand, GIS developers can find and use one or more available GIS Web Services to use as building blocks for creating integrated GIS applications based on user requirements. By integrating various GIS Web services from different GIS servers and using them as building blocks, GIS applications would be capable of access to user resources as well as different GIS server resources.

In all paces of these interactions, XML plays a major role. It can be used efficiently to exchange spatial data and invoking various GIS methods remotely through SOAP. In addition according to Amirian and Mansurian (2006), other XML technologies can be used to improve the quality of GIS Web services:
  • Using different namespaces and XML schemas to support diverse object models,
  • Applying XSL and related technologies for mapping different object models and also graphical rendering of spatial data,
  • Utilizing different technologies such as VML , SVG and X3D for 2D or 3D visualization of spatial data
As described in the previous section, Web services technologies provide the ability to separate semantic and functionality of a service. As a result GIS Web services would be implemented by using any software platform, middleware system, programming language, thus heterogeneous GIS Web services can be integrated seamlessly and dynamically.

All in all, Web services Technologies are the main candidate for GIS application integration and resolve the technical non-interoperability problem associated with current GIS software and finally implementation of truly distributed GIS services over the Web.

Conclusion
Since Web services are the foundation of new type of interaction- interoperable and open application to application communication- they provide an unprecedented opportunity to overcome the technical non-interoperability problem in GIS world.

Meanwhile, there are lots of issues due to immature nature of Web services to be resolved. In addition, considering the nature of spatial data and GIS, some more specific issues are faced by GIS Web services such as authentication and authorization of GIS Web service users, high volume of spatial data, methods of compression and supporting the complicated GIS workflows that should be dealt with.

Finally design and development of a distributed GIS service based on service oriented architecture and Web services platform is ongoing.

References
  • Amirian, P, Mansourian, A (2006). Developing a GIS Web-Service using .NET Technologies, Mapindia 2006, New Delhi, India.
  • Cerami, E (2002). Web Services Essentials, California, USA, O'Reilly & Associates, Inc.
  • ESRI (2003). Spatial Data Standards and GIS Interoperability, an ESRI white paper. http://www.esri.com – visited on May 2004
  • Harold, E, R (2001). XML Bible, Second Edition, New York, USA, Hungry Minds, Inc.
  • Marks, E and Werrell, M (2003). Executive's Guide to Web Services, New Jersey, USA, John Wiley & Sons, Inc.
  • Newcomer, E (2002). Understanding Web Services, Wokingham, England, Addison Wesley, Inc.
  • Newcomer, E and Lomow, G (2005). Understanding SOA with Web Services, Maryland, USA, Addison Wesley, Inc.
  • OGC 2004, The spatial Web, An Open GIS Consortium White Paper. http://www.opengeospatial.org/press -visited on October 2005.
  • OGC 2003, The OpenGIS® Reference Model. http://www.opengeospatial.org/press/ visited on October 2005.
  • Peng, Z, R, Tsou, M, H (2003). Internet GIS: Distributed geographic information services for the Internet and wireless networks, New Jersey, USA, John Wiley & Sons, Inc.
  • Volter, M , Kricher, M, Zdun, U (2005). Remoting Patterns: Fundamental of Enterprise, Internet and Realtime Distributed Object Middleware, New Jersey, USA, John Wiley & Sons, Inc.
  • Wyke, R, A, Rehman, S, Leupen, B (2002). XML Programming, Washington, USA, Microsoft Press.