Navita Relan, Pushpalata B. Shah, I.C. Matieda
Space Applications Center, ISRO
The Natural resources Information System (NRIS) is a countrywide network of spatial information systems, inter linked with each other. Under this NRIS umbrella, it is planned to use the Internet technology over an Intranet for spatial information dissemination. This will empower all the technocrats, decision-makers, managers and administrators, who do not have the means or need to have their own GIS departments, software and/or staff. As the emphasis is on natural resources, a major component of the information will be thematic map data that has to be served dynamically. Again, the spatial representation of the demographic data in the context of infrastructure, will be a better tool for planning purposes. Currently most GIS vendors provide this technology through their priced proprietary products called Internet Map Servers or Web Servers. However, other techniques such as CGI, Java-Servlets and CORBA can also be used for dynamic map serving as well as application customization. Using these techniques applications have been developed and tested. This paper deals with the comparative study and analysis of all these techniques.
Architectures for dynamic map serving over a Web
Any web based GIS application has a 3 – tier architecture for the complete chain of events, right from querying to getting back the results in a browser. The three tiers are described below.
First tier – HTML/Applets
User friendly HTML pages / Applets provide the Graphical User Interface (GUI) which presents form/s to the user for specifying his queries.
Second tier – Server Side Programs
The items of interest selected in the HTML forms are collected and passed by the browser to WEB server which in turn invokes the server side program specified in the action tag of the HTML form. The server side program parses the query string/s and then performs the required processing.
Third tier – GIS / DATA Server
The server program passes the user inputs to the GIS server, which performs the required processing. After execution of the query, the result is generated on the fly and sent back to the browser in the form of HTML pages. The result mainly is a map (vector data). For presenting this map/s to the client in the browser, it has to be converted as raster data. In case of non-spatial queries the outputs are raster images as well as tables.
Any application developed using a proprietary “WEB SERVER” or “INTERNET MAP SERVER” has the limitation of being tied up with the specific GIS package in the background. However the use of CGI or Java-Servlets or CORBA does not restrict the choice of the GIS package. That is, these three approaches are GIS independent. They are OS independent also. The figure below gives a pictorial representation of the three-tier architecture for dynamic web map serving.
The Three Tier Architecture for Dynamic Web Map Serving
The In-house development
The web implementation of the SDSS shell was attempted using all the three techniques viz. CGI, JAVA-Servlets and CORBA. The GIS package used is ARC/INFO version 7.2.1 on IRIX 6.3. The same has also been developed and tested on WINDOWS/NT with ARC/INFO version 7.1.1. Each of these is described in the subsequent sections.
CGI-c is an ANSI C-language library for the creation of CGI based World Wide Web applications. Here, whenever client requests a document, the server fetches it and sends it to client. But if requested URL is a CGI program then server acts as a middleman between client and CGI program. Server in this case just passes the client input parameters to CGI program. On the basis of inputs received from the HTML form, the CGI program, performs the GIS access task, and the environment for executing ARC amls is ensured through ‘rlogin’ command. The map results are saved as bitmap (.bmp) files. This raster information along with tabular information is posted to the client browser as an HTML page, which is generated on the fly. Currently Arc macrocode scripts are used for extracting GIS data. The effective response time will improve, if GIS objects replace these scripts.
CGI is easy to program; can be written in programming as well as scripting language. Also, it has an open standard i.e. CGI is not bound to any particular web server.
Servlets are web server extensions that are an alternative to traditional Common Gateway Interface (CGI) programs written in languages such as C, Perl or proprietary web server plugins that is Internet Server Application Programming Interface (ISAPI) or Netscape Server Application Programming Interface (NSAPI) extensions. Servlets are written in the Java programming language and conform to Sun Microsystems’ Java servlet API (Application Programming Interface). In this implementation, the CGI programs have been replaced by JAVA-Servlets. Processing at the GIS server end is identical to the CGI approach.
Servlets are cross platform programs and are supported by all major web servers on all major operating systems. Servlets can be hosted on any web server on all major Operating Systems using a third party ‘servlet’ engine such as ‘ServletExec’. Servlets once developed can be deployed anywhere over the network. Servlets have all the benefits of “write once, run anywhere” paradigm.
Common Object Request Broker Architecture (CORBA) is a middle ware architecture specification for distributed computing applications. It is a product of a consortium called Object Management Group (OMG). CORBA allows intelligent components to discover each other and inter-operate on an object bus. However CORBA goes beyond just interoperability. It also specifies an extensive set of bus-related services for creating and deleting objects, accessing them by name, storing them in persistent stores and defining ad-hoc relationship between them. CORBA lets you create an ordinary object and then make it transactional, secure, lockable and persistent by making the object multiply-inherit from the appropriate services. Processing at the GIS server end is identical to the CGI approach.
In NRIS decision to choose platform as well as GIS package is left to state’s discretion. The CORBA approach has been explored for the NRIS project because of its numerous advantages in heterogeneous platform environment. The Object Request Broker allows objects written in different languages and residing in different platforms to communicate with each other. Thus a client written in one language can talk with a C/C++/JAVA/Ada/COBOL server. CORBA servers can run on different machines, which results in server scalability and load distribution hence better performance.
Comparative Study of Different Technologies
Different WEB implementation methodologies have been tested to decide the best approach for NRIS project. A specific application shell “SDSS (Spatial Decision Support Shell)” has been implemented using the three techniques viz. CGI, Java-Servlets & CORBA. The same shell SDSS has been provided to respective GIS vendors for development in their GIS environment. The shells developed by ESRI-India Ltd. using ARC/INFO & AVIMS and PCI Software Private Ltd. using SPANS and SPANS WEB SERVER have been evaluated.
CGI, Java-Servlets and CORBA techniques are OS independent. SPANS WEB SERVER is available only on WINDOWS/NT. AVIMS is available on both UNIX and WINDOWS/NT platforms. It is a single threaded process, thereby putting queries in queue, and deteriorating the response time. However the UNIX version is not tested. Both AVIMS and SPANS WEB SERVER require proprietary GIS. The other three techniques are not tied up to any specific GIS. Only, the GIS scripts will have to be in the language of the selected GIS. In the standard “MAP SERVER” approaches the response time was poor, the presentation of results was not impressive. In particular, the legends were truncated and screen utilization was not to the maximum possible. Also, multiple clients access was not consistent. Often results were posted to wrong clients. In a situation where two servers have related data in different GIS packages, the proprietary map server packages cannot communicate to each other.
Following table gives comparison between different technologies based on various parameters:
|Approach||CGI||Java Servlet||CORBA||ARC/INFO AVIMS||Spans Web Server|
|Platform||Win-NT & unix||Win-NT & unix||Win-NT & unix||Win-NT & unix||Win-NT only|
|Response Time||Good||Good||Good||Poor||Not Known|
|Integrated Planning and Querying||Yes||Yes||Yes||No||No|
|Ease of use||Yes||Yes||Yes||Yes||No|
|Procedures at server end||No||Servlet runner required||Corba setup required||Invoke ARC/INFo & ARCVIEW||Not Known|
|Setup at client end||No||No||No||Required on unix||Not Known|
Efforts are being put by the technocrats of GIS products for providing standard mechanisms for display and manipulation of vector and graphics data in a Browser. Studies in this direction are on for providing more efficient live GIS access over a web. Object oriented GIS packages are also being analyzed for better throughput.
Recently web based GIS and virtual GIS based on 3D graphic technology are emerging issues in the field of GIS. Building a GIS with virtual reality capability and running on WWW is challenging, because the web based application should overcome the 3D graphical overhead with a pure software approach. A combination of Java and VRML has been tried out to build virtual GIS. The 3D primitive i.e. height, has been expanded from 2D primitives by adding the z-coordinates to points. Using this, display and viewing of 3D scene has been implemented with VRML. This work is being improvised and extended for additional functionality.
In phase II of NRIS a good number of state nodes will be operational. All the districts and line departments will access the state node over VSAT or dial-up connections for management and development activities. As of now, the in-house developed web applications seem to be the only solution. The technology developed in-house, will be transferred to industry, who will later be the focal points for the maintenance of these packages. The maintenance of such packages will be easier and more efficient, when standard products are used for application development. Under the GRAMSAT project, the CGI version is planned to be installed at ORRISSA.
The standard “WEB SERVER” approach can serve a user community where the users are limited and clients are not remotely located. The NRIS scenario is different. Here the clients are spread countrywide. The number of users at each node server is large (greater than 20). The mode of access could be via, VSAT or a dial-up (ISDN/PSTN) and in rare cases over a LAN. The node server being a state center, each state may opt for a different GIS package. Across states accessibility is also required. In this context the CGI or JAVA-Servlets or CORBA approach will turn out to be a more flexible and cost effective solution.
The authors express their thanks to Mr. A.K.S. Gopalan, Program Director NRIS and Mr. A.R. Dasgupta, Project Director, NRIS-SIP, for their constant encouragement and valuable suggestions throughout the course of this work. The authors are also thankful to the cooperation extended by team members of the NRIS Linkages and Networking Program and all members of the NRIS Systems and Integration Program, especially Mr. R.K. Goel, Head, Informatics Applications Division and Mr. P.M. Udani of Space Applications Center who were involved in the Test & Evaluation of the vendor developed web shell. Our special thanks to Mr. P.D. Yadav & Mr. B.G. Vaishnav of Space Applications Center, for providing valuable help in the VRML activity.