Growth Of Web Services Technologies Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

As defined by Dyson, generally the Internet is a massive networking infrastructure that globally links millions of computers together. This facilitates the communication between any 2 or more computer as long as they are all connected to the Internet using the Transmission Control Protocol/Internet Protocol (TCP/IP).

The World Wide Web is a way of sharing and accessing information through the internet. The Web uses the Hyper Text Transfer Protocol (HTTP) to transmit data over the internet. The HTTP essentially provides a mechanism whereby a client requests a document and a server sends that document. Services using HTTP to allow applications to communicate to exchange business logic use the Web to share information (Weinberger 2002).

Web GIS refers to developing GIS functionality in the Internet, Worldwide Web, and private intranets. Web GIS is capable of distributing geographic information to a very large worldwide audience which means that users of the internet access GIS applications from their browsers without having to buy commercial GIS software (Kenneth and Kirvan 1997). As mentioned previously, the OGC protocols like Web Map Services (WMS) and Web Feature Services (WFS) have made it possible to distribute geographical information via the web. The main challenge of Web GIS is the development of software systems that are platform independent and can run on any computer connected to the Internet (or any TCP/IP-based network) supporting a Web browser. This is a revolution to the traditional way of operating commercial GIS software over local-area networks (LANs) or intranets on just a few types of computer hardware. There are 3 approaches used to add GIS functionality to the Web. The Server-side allows users (clients) to submit requests for data and analysis to a Web server.  The Web server then processes the requests and responds by returning data to the client. Client-side allows the users to perform some data manipulation and analysis locally on their own machines. Hybrid strategies or the Client-Server approach is where the Client and Server processes can be combined to maximize performance and meet special user needs (Tereshenkov 2009). Developers of Web GIS can program their applications from scratch or they can now, as in most cases, purchase the necessary GIS modules from commercial vendors. Some of the advantages of Web Based GIS to government authorities include: sharing of data by the departments, centralized data storage and management, services are joined-up and the holistic view of data to ensure holistic decision making.

Web GIS Architecture

Generally there are two main types of Web GIS Architecture: the two tier client server architecture and the three tier client server architecture. The two tier architecture is made up of the client side software and the server side software. When there is a communication protocol between the client and server, this on-set the transfer of spatial data from server to client where the client software facilitates visualization of spatial data while the server software only offers database service (Luqun et al., 2002). The three tier client server architecture comprises three different logical levels. The first level is the user interface (client). The second level is the business logic level which does the GIS transaction processing. The third level is the GIS data storage service which is responsible for the continuous storage of functional data. The Client side comprises the web browser e.g. Firefox or Internet Explorer. The business logic usually is made up of the HTTP Server or Web Server e.g. Apache and the Application Server or Map Server e.g. ArcGIS Server or Geoserver. The data tier can be made up of Database Management System (DBMS) Server e.g. PostgreSQL or SQL Server. According to Peng 2001, the three tier architecture has 3 main advantages: better performance, scalability and security.

A Web server is designed to handle the HTTP protocol whereby when it receives an HTTP request, it sends an HTTP response back as an HTML page. In response to a request, a Web server may return a static HTML page or image, send a redirect, or assigns the dynamic response generation to some other program such as CGI scripts, JSPs (Java Server Pages), servlets, ASPs (Active Server Pages) and server-side JavaScript (Martin 1996). A Map Server, as the name implies, is a server that provides web maps. A Database Management System (DBMS) provides a means of storing and managing data in a way that allows user to share data in a database. Core functions of a DBMS include: (i) managing CPUs, network and disk drives that store and process the data (ii) offering transactional ACID (Atomicity, Consistency, Isolation, and Durability) properties to ensure users have proper view of data (iii) provide high performance algorithms that can perform both simple and complex tasks, and (iv) augment performance by choosing the correct algorithms to execute queries (McWherter 2008). Most GIS databases are embedded inside Object-Relational Database Management System (ORDBMS) which extends the Relational DBMS to handle GIS objects.

Client Side Applications

The overall design of the Web GIS user interface must be carefully designed in such a way that users can understand and make use of the information and functions provided by the system. A desktop application provides a richer user interface experience where the GIS user can retrieve data and perform spatial analysis or other processing. In this case, the desktop client can either connect directly to the geodatabase on the database server through direct-connect drivers or make a request via the http protocol (Dean 1997). For example, in ArcGIS, it means that the ArcSDE libraries and drivers are installed to facilitate this connection. An alternative for accessing hosted information is through Web browser which is usually limited however there are possibilities to offer dynamic maps via the web through what is called an Application Programming Interface (API). An API is a group of programming instructions and standards for accessing a web based application or tool. For example, ArcGIS JavaScript API, ArcGIS FLEX API, Microsoft Silverlight or OpenLayers API can allow developers to create dynamic applications with the functions of combining data from different sources and content (Tereshenkov 2009).

Web GIS Application Development Cycle

The application development cycle can be said to be organization and project specific however in terms of a Web GIS, the following diagram shows a well detailed model according to Allesheikh et al., 2002 that can be easily adopted.

Source: Allesheikh et al., 2002

Figure 4 Web GIS Development Cycle

The requirement analysis can be done through surveys with the users to determine user desired functionality, data layers, data attributes, user skills and spatial literacy. Based on the results of the requirement analysis, the conceptual design is drawn up which is basically the data model that identifies the entities and their relationships. Identification of suitable software to use is vital in the successful implementation of any web development process. Software can be evaluated for functionality, performance and cost. Web GIS involves the transfer of huge volumes of data hence issues of bandwidth and internet connection speed is important. The database design and construction phase is when the actual logical and physical design of the database is drawn up. Upon completion of the database design and construction, the necessary software and hardware identified will be purchased or sourced. The next step is to integrate the different components of the hardware and software and to test them to ensure they work as expected. Upon successful hardware/software system integration, the Web GIS application is then developed. The complexity of this phase is dependent upon the user desired functionality as specified in the requirement analysis phase. The final stage is to test the application to make sure it works as envisaged before releasing to the users.