Page 2 of 3
Previous | Next

Potential of Using Web Services in Distributed GIS Applications

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 Common gate Interface (CGI) and CGI extension programs (such as Java servlets modules, Active Server Page (ASP), Jave Server Page (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



Fig. 1 Major components of Service Oriented Architecture

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.

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.


Fig. 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 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.


Fig. 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 two (Figure 4).


Fig. 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 Distributed Component Object Model (DCOM) and Common Object Request Broker Architecture (CORBA). Precisely Web services technologies provide two major advantages over previous distributed computing architectures (Newcomer and Lomow 2005)

  • 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).
  • 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.
Page 2 of 3
Previous | Next