Abstract:
The opportunities created by Web based Spatial applications are immense. The value and lower cost of ownership achieved by web based spatial technologies are universally accepted. However, apart from bandwidth constraints, stateless nature of web applications against stateful representations of traditional GIS applications offers some unique challenges for application developers.
Over the past few years, RMSI along with its strategic partners have aided several clients in web based Spatial solutions. With these experiences, RMSI has implemented various approaches using alternate technologies in achieving scalable web based designs.
The Onpoint suite of applications is a set of web based applications targeted at medium to large enterprises who need to share data in the intranet/ internet scenario. Using the Onpoint suite of applications as an example, the present paper highlights the functionality, design issues and the benefits that accrued from the development of these solutions.
The Internet
The Internet has truly revolutionized the way most organizations access information. A standardized set of protocols like TCP-IP, (Transmission Control Protocol - Internet Protocol), HTTP (HyperText Transfer Protocol), XML (eXtensible Markup Language) and a request-response architecture has allowed many organizations to share information among millions of users. E-Commerce and wider paradigms like E-business have ensured the transition of this universe of information from a research and a hacker's haven to an entity which is a key to survival for most businesses globally.
Internet and GIS
Over the past few years, key GIS software vendors like ESRI, MapInfo Corp., Smallworld and Intergraph have released their software for making spatial data available over the net. The initial set of products from vendors has focussed on the process of publishing maps on the World wide web. However, true value is achieved when like its non-spatial counterpart, spatial data can become parts of an internet based solution architecture rather than a map publishing service.
A Stateless World
Unlike the underlying transmission protocol - TCP-IP, the Web networking protocol - HTTP is a stateless protocol. This means a webserver maintains no information about a request once the request has been processed. In a realistic scenario, two subsequent requests may come from different sources. In the case of a traditional GIS, all operations are performed on the already loaded spatial data. However, in a web based GIS scenario, this would imply that one user could ask for a map for India and the next one could ask the map for Japan. Extending this to a case of an enterprise or a large number of users on the internet, this can be a potential performance nightmare.
Case Study 1 - The ONPoint application
The ONPoint application is a thin-client, component-based, extensible web GIS application providing geo-processing capabilities that rival those of desktop GIS applications. In-spite of being a browser-based GIS application, it provides powerful spatial query, display, analysis and map printing functionality. The ONPoint application was developed jointly by RMSI and its strategic partner, Orion Technology Inc. of Canada for the various clients of Orion Technology Inc.
Functionality Requirements
The ONPoint application was developed to serve the needs of a large number of enterprise users, who apart from sharing spatial data in a scalable yet cost-effective way, wanted the following features.
- Ability to see spatial data from multiple formats on the web.
- Ability to search and features based on the attribute database and locate them on the map.
- Ability to navigate through attribute data items and view them spatially on the map.
- Ability to Identify features on the client side map
- Ability to add geo-coded data.
- Ability to publish maps in Microsoft Word/ Adobe Acrobat PDF or HTML format
- Ability to customize the way a layer is rendered, etc.
Design Issues
The major design issues that had to be resolved to achieve optimum functionality were.
- Architecture to handle multiple simultaneous requests.
- Have adequate response times for each request.
- Minimize amount of information that is transferred over the web.
- Reduce the number of server trips.
- Maintain persistent information concerned with the user and a session.
- Eliminate data redundancy.
- Develop an intuitive user interface.
- Reduce dependence on single threaded components in the solutions without the danger of the data getting corrupted
- Allow individual users to customize the rendering of maps.
The Solution
- To solve the above problems the following approach was developed.
- To reduce the development time, the team used Industry standard GIS components from ESRI including map Objects Internet Map Server 2.0 (MO-IMS) and MapObjects 2.0.
- Internet Map server and multiple map server instances allowed multiple requests to be handled.
- To maintain the persistent data about a user and a session, the application development team developed a configuration database.
- Each user had his own copy of the data so that any user defined customization was stored.
- The entire server side architecture was split into web server components and application server components for better scalability
- The Client side mapping interactivity was achieved using a Java Applet that would maintain some session information on the client side, whereas the bulk of information was stored in the configuration database on the server end. This allowed small amount of information to be sent and faster response.
- The Client side querying and attribute search information was developed using Microsoft's Active Server Pages (ASP) along with Server side ActiveX DLLs for free threaded operation.