Implementing web technology for an enterprise: A case study from Japan


How it works
Before the web client can perform a mapping or an information retrieval operation, the server identifies a user by logging into the system through a simple HTML form. The server validates and lists all GIS projects, which he is currently working on. The user can select a project and start working on the spatial and tabular data associated with a project. He can perform a mapping operation such as zoom, identify or search a feature. These requests could either be for a new map or an HTML page giving information about the map or both. They can originate either from the map frame or the information frame of the web client. The following table lists the mechanism followed in each case for each type of request.

Requests

Originated in Map Frame

Originated in Information Frame

For Map

The Java applet makes a CGI call to the Map Server passing the relevant parameters. The Map server receives the parameters and builds a new map using ESRI MapObjects; it then converts the map to an image in GIF Format and sends it back to the Java applet.

E.g.: Zoom, Pan etc.

The Client side script in the HTML calls the method of the applet with the relevant parameters to refresh the map. The Java applet makes a CGI call to the Map Server passing those parameters to build a map.

E.g.: Navigate and highlight a particular feature of a specific Layer on the map.

For HTML

The Java Applet calls the ASP, retrieves a HTML with the tabular information and displays it in the Information frame

E.g.: Display the feature name and layers for a particular poin t on the map.

The HTML form calls the ASP and retrieves a HTML using a standard CGI call

E.g.: Display Rendering attributes of a particular Layer from Layer Management module.

For both Map and HTML The Java Applet requests the image as above and then request for the HTML as above, one after the other.

E.g. Highlight and measure the length of a line. The line is highlighted on the map in the map frame and the calculated length of the line is displayed on the information frame.

The Client side script in the HTML calls the method of the applet with the relevant parameters to refresh the map. The Applet then requests an HTML to be shown in the information frame.

E.g. Create a thematic map in the map frame and display its legend in the information frame.


The Unconventional
  • Unlike traditional CGI applications, the state of client browsers were not stored in the browser forms, but were stored in the server for each browser.
  • Though it was planned to use ESRI MapObjects Internet Map Server at the server side, the applet, which acts as the map control at the client side, was completely written using Java Core API 1.1.4.
  • The Map Server application, which was capable of doing database activity was not used for tabular data retrieval, instead ActiveX components invoked by ASPs performed data retrieval.
  • The text displayed in all the user-interfaces are extracted from a language table by the ActiveX components and scripts, instead of hard coding in the HTML.
The following figure is a screen capture of a browser interface accessing the Enterprise GIS.

A Simpler access to large databases
The following figure is a screen capture of a browser interface accessing the Enterprise GIS.



Why did we do this way
Maintaining the state of client involved storing the tool currently used, user-preferences like layer settings, rendering properties for each layer on the map... etc. Storing these at the browser resulted in passing hundreds of parameters between the browser and the server, leading to network traffic. To overcome this problem separate data stores were maintained for each open session at the server.

One of the key requirements was to serve the external customers of our client, whose type of browser could not be predicted. The complete applet had to written using the basic JDK 1.1.4, just to ensure browser independence and zero-installation at the client.

The load at the server need to be balanced between different processes, so the map server which was always busy preparing the maps to serve map requests was relieved from the database activity by the ActiveX components invoked by the Active Server Pages.

Keeping the need for a bilingual version in mind, the system was designed to scale it to a multilingual version. The user’s language preference, which is entered while logging in, is used to prepare messages in the HTMLs. These messages are stored in both Japanese and English in the language tables. Addition of a new language would require only adding those messages in the language table.

Advantages and Disadvantages
The Enterprise GIS implemented for our client has its own advantages and disadvantages. Some of the major advantages are:
  • Low cost per client installation: It takes only an ordinary web browser to perform all the GIS operations from the engineers desk
  • Ease of use: The simplicity of the user interface and design helps the non-GIS users and clients to explore the geographic data at our client.
  • Data sharing: The data for all GIS projects handled by each office is stored in one common database for each office, which users from other offices can access over the Intranet.
  • Interactivity: The applets provide the same level of interactivity as in desktop systems to navigate and query maps.
  • Private User Information: Though the system allows users to share data on the projects they are working on, users can store their private information (both maps and tabular data) which is hidden to other users.
  • Intelligent Clients: The Java applets at the browser do the co-ordinate conversion for displaying X, Y points from Geographic latitude, longitude to UTM meter projections.

The disadvantages are:
  • Response time: In spite of the efforts to balance the load at the server between various processes, the map display is still slower than that of a desktop system. This is due to the traffic in the network, which is shared by various other systems and users.
  • GIF Images: The maps displayed in the form GIF images in the applets cannot store geometric or attribute data at the client side. This retards processing, as they have to be requested from the server every time.


Enhancement efforts are underway to overcome the above disadvantages by cloning more map servers to prepare the maps and storing the immediate data required at the clients.

Conclusion
The Enterprise GIS which is currently generic to all GIS projects can be customized to specific applications like routing, soil-engineering, weather forecasting…etc. Numerous tools exist currently and are expected to increase as the prototype gains acceptance among the users in our client organization.


Page 2 of 2
| Previous |