International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Vol XXXV, Part B2. Istanbul 2004
and the Web Server. As depicted in Figure 1, the WAP
Gateway consists of WML encoders and WMLScript decoders.
The WAP Gateway can optimize the communication process
and may offer mobile service enhancements, such as location,
privacy, and presence based services. The WAP Gateway
communicates with the client (WAP microbrowser) using the
WAP protocols, and it communicates with the Web Server
using the standard Internet protocols such as HTTP/HTTPS.
Once the WAP Gateway receives WAP requests from the client,
it translates the requests to HTTP requests, and then sends them
to the Web Server. Once the WAP Gateway receives HTTP
responses (web contents) from the Web Server, it translates the
web contents to compact encoded binary formats for reducing
the size and number of packets traveling over the wireless
network to the client for displaying and/or processing.
The Web Server includes a Web Container and Web protocols
support, security support, and so on. Web caching mechanism
for Geospatial Information The Web Container is responsible
for managing a Java Servlet Engine and Java Server Pagers
(JSP). An Internet GIS system based on Java often uses Java
Applets and/or Servlets to extend the dynamically displaying
functionality for the Web browser. This paper uses a Servlet
Engine instead of running Applets and/or Servlets inside the
Web Server, which has several advantages as follow:
| The Servlet Engine runs itself inside the Web Server. But
applets inside the Web Server must be dynamically downloaded
to the client for processing, which would increase the load of
wireless and mobile devices (Especially, a WAP phone has not
the capability of running applets. ).
2 The Servlet Engine can host Servlets and provide them
with standard Java Servlet APIs.
3 The Servlet Engine decouples Servlets processing from
specific implementation details of the Web Server. This
increases the flexibility of the system architecture, as it allows
the Web Server to change without impacting on the overall
system. The Servlet Engine can also provide various
management features that help to shift the load of Servlets
processing away from the Web Server.
The client devices of WAP-based Mobile GIS have several
types (e.g. PDA and WAP phone) whose displaying and
presenting capabilities are different. So there must has a
mechanism at the server side, that is, the Web Server may
determine the type of the client device and generate
corresponding presentation logic for the client. Fortunately, the
Servlet Engine can solve the problem effectively. The Servlet
Engine may provide two kinds of Servlets: the one is presenting
Servlet which is responsible for generating corresponding
presentation logic according to the type of the client device for
the client; the orther is identifying Servlet which is responsible
for determining the type of the client device (through the only
ID of the client device accessing mobile networks) and then
notify presenting Servlet.
The Servlet Engine is responsible for manage Servlets and
provide support for JSP. Since Servlets run inside the Web
Server, everyone does not need a GUI. Servlets in the same
servlet engine can share resources and chain together. So the
Web Server can generate dynamical Web contents by running
Servlets (i.e. presenting Servlets) to response for client requests
like CGI. And Servlets are more efficient than the CGI
approach and the Fast-CGl approach. Through Servlets and/or
JSP, the client side may indirectly perform EJB components
inside the Application Server to implement GIS business logic,
716
such as spatial analysis, spatial and attribute querying, route
planning, geocoding and gazetteer, and so on.
4.3 Application Tier
Application tier is the core of the architecture. It corresponds
GIS Application Servers that communicate with the Web Server
in WAP service tier through Remote Mcthod Invocation (RMI).
An EIB container at an Application Server is the runtime
environment of EJB components including GIS Session Beans
and GIS Entity Beans, and controls these components to be
performed and transferred. At the same time, the container also
provides these components with all required services for
distributed computing environments. Thus, these EJB
components could more efficiently execute in the Application
Server. The EJB components can use JDBC (Java Database
Connection) technology to access to database servers, and use
JMS (Java Message Service) technology to connect to back-end
legacy systems. The Application Server has a special Locating
Entity Bean to communicate the Mobile Position Centre (MPC),
a Server providing geographic location information, with
Mobile Location Protocol (MLP) (Location Interoperability
Forum, 2002). The mobile position technologies for real-time
capturing the location information of mobile users generally are
GPS, Cell Of Origin (COO), Time Of Arrival (TOA), Angle Of
Arrival (AOA), Enhanced Observed Time Difference (E-OTD)
and so on.
4.4 Data Service Tier
Data service tier corresponds Database Servers that are used to
manage and store geospatial and attribute data of the whole
system. Object oriented database management system
(OODBMS) is the most desired database server for a GIS
system, but OODBMS is immature and very costly currently, so
it is not popular and to be used commonly (Gong Jianya, 2001).
At present, the mainstream solution is that large object-relation
database systems such as DB2, Oracle, Sybase, SQL Server,
and so on are used to manage and store GIS data, at the same
time, spatial data engine (SDE) also can be developed to build
the communication between data service tier and application
tier. SDE is an open standards-based middleware such as
ArcSDE, Spatial Ware and Oracle Spatial.
S. JZ2EE-BASED PROTOTYPE SYSTEM
Using the 100% Pure Java J2EE solution, the above architecture
is open and cross-platform, and has the characteristics such as
extensibility, stability and reliability, which could satisfy
system requirements of WAP-based Mobile GIS. Based on the
architecture, a prototype system of WAP-based Mobile GIS has
been developed. In the prototype system, the server side uses
Apache Tomcat 5 as the web server, BEA WebLogic 8.1 as the
application server, Oracle 8i and ESRI ArcSDE as the database
server, and it provides a range of basic GIS functions (e.g.
spatial and attribute querying, route planning, geocoding,
mapping, etc.) to a Mobile GIS user using the Servlet Engine
and EJB components to gain and process spatial geometry
object in back-end spatial databases. The client side uses WAP
phone with a WAP microbrowser and may obtain maps in
WBMP format from the server side, and it has the basic map
browsing functions such as zooming out, zooming in, moving
(up, down, left and right). The running results are showed in
Figure 2.
Internatioi
Figure 2
WAP-base
Geoinform
is the key
based on J:
WAP-base
and develo
four logic t
WAP phon
At present,
mobile apr
2003). So
the fat se
informatior
Fortunately
3G. In 3G
speed as ve
mobile teri
outdoor, th
terminal is
The 3G b
geospatial
not hard to
better de
considerabl
REFEREN
Li Deren, I
Technique
Communic:
University,
Shi Wenzh
of Mobile
Mobile and