Logo GISdevelopment.net

GISdevelopment > Proceedings > GITA > 2000


GITA 2002 | GITA 2001 | GITA 2000 | GITA 1999 | GITA 1998 | GITA 1997 |  
Sessions

Data development and evolution

Engineering and design applications

Exploiting field and mobile technologies

Invited presentations

It's a brave new world

Leveraging web-based technologies

Mobilizing the enterprise

Operations support

People issues

System architecture

The best of the rest

Uniting the enterprise

User perspectives

Work management solutions



GITA 2000


Leveraging Web-Based Technologies


Development of a GIS Service Model in Support of online Geoprocessing


Distributed Geoprocessing model design
Most information systems use the three-tier architecture in which a system is composed of three layers:
  1. Presentation Layer: the front-end of the system that contains the interface for the client.
  2. Application Logic Layer: the middle tier of the system that contains the domain processing objects. In a GIS it is the geoprocessing components.
  3. Storage Layer: the back-end of the system that stores the data set in the database.
The application logic is the key part of the system that models the data, links the data with the interface, and most importantly provides system functions to the client. In the client/server model, the presentation layer is on the client site. The application logic layer and the storage layer are kept in the server.

Since the data and functions can be distributed in different places, the location of application logic layer and storage layer should be flexible in a distributed model. The following gives the possible distributions(P) of the geodata and geoprocessing tools in one location, no matter it is on a client site or on a server site. Let D represent geodata, F geoprocessing tools (Functions). Using the following notions, Da : all of the necessary geodata, Dp : part of the necessary geodata, Fa :all of the necessary geoprocessing tools,  Fp : part of the necessary geoprocessing tools, and null: none of the necessary geodata or geoprocessing tools, we have



The ( null , null ) only exists in client situation. A distributed geoprocessing model should be able to deal with the above 9 possibilities. The presentation layer as well as the application logic layer are kept on the client site. This is conformable to the Java RMI requirement. As in case (null, Fa ), (null, Fp ), ( Da , null), and ( Dp , null), the geodata (storage layer) and the geoprocessing tools (application logic layer) are not always located in the same location.

Distributed GIS Data Model


Figure 2: Conceptual data model of a distributed GIS

The application logic layer is the most important part of a GIS. It is responsible for administrating and offering geoprocessing tools. To enable the object communication between client and server, a common data model must be established first. This model provides the client and server with the basic understanding of the geodata during the communication, as the geo-objects are passed as parameters. This model defines object geometry (Point, Polyline, Polygon, etc.), geodetic reference system object (Datum, Ellipsoid, Projection, etc.), Metadata entity (Accuracy, etc.), and so on. Figure 2 illustrates a conceptual data model.

Unlike a desktop GIS data model, the remote objects are included in the data model in order to support remote communications. Remote objects that link to the internal objects (such as Map or Layer) provide remote methods to clients. The dotted lines that link to the remote object in Figure 2 are only examples of the relationships between remote objects and internal objects. In fact, any internal object may connect to the remote objects if the remote methods are required.

Distributed Geoprocessing Using Java Applet and Java RMI
The primary objective of the distributed geoprocessing model is to make use of the network resources, including data resources and geoprocessing resources. Java applet is a good choice for providing clients with the presentation layer as well as some domain classes. Since the applet must be embedded in a web page, a web server is involved in the model. Other servers may contain different geoprocessing tools that are offered to the client via Java Remote Method Invocation (RMI) or the Java Applet. These tools shall be registered in a registration server of geoprocessing components. The geoprocessing server may also make a remote call to other geoprocessing servers. In this way, even a single function can be distributed over the network. Figure 3 describes a structure of the distributed geoprocessing model.



Geoprocessing Component Registration Server
In Figure 3, the triangular relationship among the clients, the geoprocessing servers and the component registration servers form the framework of the model. In this triangle, the geoprocessing tools are registered into the registration server through Java servlet, the registration server provides the registration information to applet client through RMI, and the applet client makes remote call to the geoprocessing servers. The component registration is a key part of the model that allows the client to have flexible choices of the available geoprocessing functions. Without this registration, the remote method invocation will be static and fixed by the programming in advance. This flexibility of the model is supported by the geoprocessing meta-component (component registration). Some possible candidate meta-component elements may contain information about functionality description, version, location (IP, URL), port number, remote geodata connection (database URL), provider’s information, component credit, etc. Java servlet is the solution to fulfill this function. It deals with the registration process and adds the information into the registration database.

Page 2 of 3
| Previous | Next |

Applications | Technology | Policy | History | News | Tenders | Events | Interviews | Career | Companies | Country Pages | Books | Publications | Education | Glossary | Tutorials | Downloads | Site Map | Subscribe | GIS@development Magazine | Updates | Guest Book