Modern Technologies in Client-Server Architecture for
Geo-based Interactive Web Portals
Pawel Gocek
(Technical University of Lodz, Poland
gocek@toya.net.pl)
Michael Hartmann
(OTA Private University of Applied Sciences Berlin, Germany
michael.hartmann@otahochschule.de)
Heinz Schleusener
(Technische Universität Berlin, Germany
heinz.schleusener@tu-berlin.de)
Abstract: The internet is an unlimited growing and most
comfortable information and communication base. In this context, web
portals on the internet play an important role created for combining
communication facilities and information data bases. An increasing
number of portals involve web-based map applications to integrate
geographic information for the representation of economical and other
records. Web-based map applications are typically designed in a
client-server architecture. Different solutions exist using especially
HTML and JavaScript, Flash or Java applets. We discuss these
possibilities and point out an alternative solution. Particularly, we
show how to use Java Applet Technology and Asynchronous JavaScript and
XML (Ajax) in this field. Finally, we report about our results as a
complete, flexible map service solution which is available on the
internet. An adapted kind of solution will be used by a geo-based
marketing portal for offering information about the economic
situation, social and cultural aspects and natural facts of regions to
support joint-ventures inside the European Union.
Keywords: Web-based services, map services, geo-base, XML, Java,
Ajax, marketing, portal
Categories: H.3.3, H.3.5, H.4.3, H.5.2, H.5.4
1 Introduction
Portals on the WWW are widely used as an information and
communication base and specifically designed for applications e.g. in
e-business, e-commerce, e-government or science. Since very often
economically relevant data are related to space, in the last years web
portals have been extended by geographic information in order to
increase the information value and to find an appropriate
representation of relevant information. From the point of
geo-informatics, they represent Geographical Information Systems (GIS)
being indispensable for a business mapping application due to the
ability to visualize, integrate and analyze data, as well as to
investigate the interrelation between different data [Bernhardt,
02]. Geo-based web portals combine the features of common portals like
searching for keywords or navigating with geo information systems. For
a certain target group they provide a unique presentation of all
relevant information within a region or a market, and provide user
specific communication tools.
Apart from the other information, providing maps is one of the characteristics
of geo-based web portals. Creating a map is a complex and time-consuming
task since geo data like streets, objects, information of the landscape
etc. have to be known and incorporated into the GIS. Therefore, a geo-object
in the geo-based web portal has to contain both the geo-data and the content
related data. Geo-data describe the structure of an object in space whereas
the content related data provide additional attributes associated with
the properties of the object [Dickmann and Zehner 01].
From the point of the architecture, web-based map application consists
of two essential components &8212; the server and the client part.
The server component is responsible for providing geographical information
according to the client's request. Typically, the server listens on a HTTP
port and returns the data and images suitable for displaying back to the
client application. The second component &8212; the client, provides
the user with a graphical interface. Its main tasks are collecting the
user input data and communicating with the server in order to retrieve
the information as well as to provide interactive mechanisms for viewing
the results. The communication between the client and the sever component
is based on a defined request-response protocol. Typical solutions are
implemented using JavaScript, Java applets or Flash and are discussed in
more detail in the next section.
In this contribution we show an alternative approach using the Java
Applet Technology, Asynchronous JavaScript and XML (Ajax). In such a way
we have been implemented a first realization of our recently developed
concept of a geo-based web portal [Hartmann et al, 05].
2 Existing Solutions in client-server Architecture
Numerous commercial and non-commercial solutions for web based map applications
can be found on the Internet. They vary in implementation techniques, speed
of functioning and ease of viewing and processing the geographical information.
A design and architecture of the application depend on the kind of geographical
data which is to be published. In most of cases, the server component will
use a vector data (more seldom a raster data) in order to generate raster
images containing the response. An example of this solution is a GIS
MapServer, an application for rendering spatial data (maps, images,
and vector data) for the web [Mapserver, 05].
The response generated by the server is displayed by the client component
in the web browser. The most common technologies used for providing web
user-interface are:
- DHTML &8212; combination of HTML, JavaScript and Cascading Style
Sheets (CSS)
- Macromedia Flash
- Java Applet technology
The first technique &8212; DHTML may be supported by asynchronous
data (most common XML data) exchange through XMLHttpRequest object. This
combination is called Ajax.
Each of the techniques has certain advantages and disadvantages. The
Table 1 presents the comparison of the mentioned technologies.
|
HTML
JavaScript
|
Macromedia
Flash
|
Java Applet
|
Browser plug-in required |
No
|
Yes
|
Yes
|
Compatibility with different browsersP |
Problematic
|
100% if plug-in is present
|
100% if plug-in is present
|
Speed of loading the interface |
High
|
Medium
|
Low (executing) Downloading for the first time only
|
Downloading the content from other domains than where the client is
hosted |
Possible
|
Impossible
|
Impossible
|
Ease of debugging and maintaining the code |
Low
|
Medium
|
High
|
Possibilities for providing an interactive interface |
Low
|
High
|
High
|
Integration in standalone applications (without browser) |
Impossible
|
Impossible
|
Possible
|
Table 1: Comparison of the techniques for implementing web
client
Using dynamic HTML for providing interactive interface for map web application
is a difficult task and may result with browsers incompatibilities. This
technology supported by asynchronous XML-HTTP requests is used in a Google
product called Google Maps.
Macromedia Flash as well as Java Applets technology allow providing
interactive and reliable graphical user interfaces (GUI's). The requirement
is installing appropriate browser plugging. However, popularity of both
solutions is significantly growing.
The choice of the technology implies different way sharing of processing
tasks by the client and server component and is reflected in the system
architecture.
3 Architecture and Implementation
The main aim of the project was to design and implement the web based
application for publishing the maps and the geo-data, supplying an interactive
interface and enabling convenient customization and integration. The designed
system was supposed to work with raster map images.
The application consists of the client and server components which communicate
through the specially defined protocol.
The server component is implemented in Java Servlets technology,
and supplies two essential services:
- Map service &8212; providing map images to the client.
- GeoDB service &8212; providing locations data to the client.
The architecture of the server component is presented in Figure
1.

Figure 1: Application architecture
The map service is responsible for providing raster map images according
to the client's request. Each image stored in the database is a slice of
bigger raster map and is described by geographical coordinates. In order
to use the service the client must send a request to the MapServlet and
pass the query in the URL. Three types of requests are defined in the communication
protocol allowing to obtain the following data:
- Information about available maps.
- Information about map slices fulfilling the request.
- Images containing map slices.
The response for the two first requests is an XML data. The result of
the third response is an image containing a slice of the map. In case of
an error in the request an XML data is returned, containing the description
of the error.
An example of the request for the map service and the response XML message
are presented on the listing 1:
http://host/webmap/MapServlet?request=2&mapId=1&bBox=13.386,52.542,13.387,52.543
<?xml version="1.0" encoding="ISO-8859-1"?>
<wmresponse>
<slices>
<slice id="6">
<width>229</width>
<height>357</height>
<minx>13.38546951</minx>
<miny>52.52990689</miny>
<maxx>13.4023</maxx>
<maxy>52.5459</maxy>
<zoomLevel>0</zoomLevel>
</slice>
</slices>
</wmresponse>
Listing 1
The GeoDB service is used to access the information about various geographical
locations as: university institutes, private companies, etc. Two types
of request are defined allowing to obtain information about location categories,
and locations data. The server response in both cases is a XML data. The
example of request and the response is presented on the listing
2.
http://host:8084/webmap/GeoDBServlet?request=2&query=informatik&bBox=13.386,52.542,13.387,52.543&categoryId=1,2,5
<?xml version="1.0" encoding="ISO-8859-1"?>
<gdbresponse>
<locations>
<location id="16">
<categoryid>1</categoryid>
<name>FG Informatik</name>
<description></description>
<keywords>Institut LMTC, field computer science, FG Informatik
(HD Dr. sc. agr. Heinz Schleusener)</keywords>
<website>www.tu-berlin.de/fak3/cs/</website>
<email>heinz.schleusener@tu-berlin.de</email>
<lon>52.5424</lon>
<lat>13.3863</lat>
<street>Gustav-Meyer-Allee</street>
<streetno>25</streetno>
<zip>13355</zip>
<city>Berlin</city>
<country>DE</country>
<phone></phone>
<fax></fax>
</location>
</locations>
</gdbresponse>
Listing 2
The architecture of the server implies the design of the client. Significant
part of data processing is transferred to the client end. The client engine
must be able to make HTTP requests, parse the XML data and download images.
The technologies used to implement the client are Java Applet Technology
and Ajax technique. This approach allows flexible retrieving of the data.
Only the necessary information is downloaded by the client and image transfer
is optimised. Moreover, using Java Applet Technology allows creating an
interactive component for viewing the maps.
The client engine consists of two parts:
- MapViewer component &8212; implemented as a Java Applet.
- Interface for inputting search query and displaying search results
&8212; Ajax technique used for asynchronous communication with the
server.
The MapViewer component is a Java Swing application allowing
convenient and interactive viewing of the geographical data returned by
the server. It displays draggable maps and locations according to user
preferences. Each location can be clicked in order to display the details
or to link to the associated web site. The component implements intelligent
algorithm for downloading the slices of the map.
While dragging the map by the user, the tendency in the movement direction
is detected and only the necessary slices are requested from the server.
The applet performs data caching to reduce the transfer over the network.
The main tasks of the GUI supported by Ajax technique are collecting
the user search queries, requesting the information from GeoDB service
and displaying results on the web site. The process of obtaining the data
from the server runs asynchronously with the web server and ensures high
efficiency. After the required data is retrieved, the document content
is modified through the Document Object Model (DOM). As a result, the application
is more responsive as typical web applications, since the amount of data
exchanged between the web browser and web server is significantly reduced
and reloading of the page is not necessary.
Additionally, The JavaScript code interacts with the applet and allows
the configuration of the applet, finding and displaying the locations on
the map. Due to the client side processing and taking advantage of the
client's CPU, application provides convenient real-time user interface.
The client enables interactive using of maps like zooming, dragging,
map control, enables customisation and extensibility (icons, coordinates,
metadata) and integration in web-applications. In brief, this web based
map technology is supplying a highly interactive interface with a convenient
way of integration and customisation.
4 Conclusions and Future Work
In this contribution we have developed a client-server architecture
for web-based map applications. The approach involving the Java Applet
Technology, Asynchronous JavaScript and XML (Ajax) ensures high efficiency
of the system performance. Based on this technology, web-based portals
will provide a highly interactive and user-friendly tool. Additionally,
the designed communication protocol, which combines URL-based requests
and HTTP XML responses, implies system flexibility and extensibility. A
basic version of this solution is available on the web (http://www.tu-berlin.de/fak3/webmap/).
A first application of the portal is planned for a geo-based marketing
web portal. Interesting regions concern Bulgaria and Romania. Both countries
will enter the EU in near future and offer good opportunities for small
and medium enterprises to establish profitable collaborations. The portal
has to be specifically designed for these needs. Thus it will provide relevant
information about the market such as economic, political and social data,
legal norms and the educational system. Since most of the data are space-related,
the information is geo-referenced on maps. In this way, the portal guarantees
a high degree of utility and clarity.
References
[Bernhardt, 02] Bernhardt, U.: GIS-Technologien
in der New Economy &8212; Markttransparenz durch Geoinformationssysteme.
Heidelberg: Wichmann Verlag, 2002.
[Dieckmann and Zehner 01] Dickmann, F. & K.
Zehner: Computerkartographie und GIS. 2. aktualisierte Auflage. Braunschweig:
Westermann Schulbuchverlag GmbH, 2001.
[Hartmann et al, 05] Hartmann, M.; Lieberum, U.;
Plewka, T.; Sauer, P.; Schweikart, J.; Yossa Noubibou, J.J.; Schleusener,
H.: Development of Geo-Based interactive Web Portals for Joint Ventures
&8212; Problems and Challenges, Informatika a Felsöoktatásban,
Debrecen 2005.
[Mapserver, 05] MapServer Open Source development
environment, 2005; Link: http://mapserver.gis.umn.edu/.
[Tamino, 05] Tamino XML database; Link: http://www.softwareag.com/Corporate/products/tamino/default.asp.
[Tomcat, 05] Apache Tomcat 5.x, official reference
implementation for the Java Servlet and JavaServer Pages technologies,
2005; Link: http://tomcat.apache.org/
[W3C, 05] W3C &8212; World Wide Web Consortium;
2005; Link: http://www.w3.org/
[Xindice, 05] Xindice XML Database, 2005; Link:
http://xml.apache.org/xindice/
|