Go home now Header Background Image
Search
Submission Procedure
share: |
 
Follow us
 
 
 
 
Volume 12 / Issue 9 / Abstract

available in:   PDF (51 kB) PS (32 kB)
 
get:  
Similar Docs BibTeX   Write a comment
  
get:  
Links into Future
 
DOI:   10.3217/jucs-012-09-1208

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.

Page 1208

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.

Page 1209

 

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.

Page 1210

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

Page 1211

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.

Page 1212

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.

Page 1213

[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/

Page 1214