cosylab
Geographic Information Systems


slo
solutions | Geographic Information Systems | Giselle
references

Slovenian Ministry of Agriculture, Forestry and Food


The Ministry of the Environment and Spatial Planning


Slovenian Environmental Agency


The Surveying and Mapping Authority of the Republic of Slovenia





Giselle

Giselle Architecture
System Architecture

As the system should be distributed, the three-tier client server architecture was adopted as a starting point and combined with some aspects of the terminal-host architecture to yield better performance. Figure 1 presents the details. Platform independence is assured by the use of Java as the development paradigm, and the use of web browsers running standardized Java Virtual Machine enables developers to minimize the effort devoted to hacking browser inconsistencies.

Relational databases with standardized Open GIS Community (OGC) extension for spatial data, development of OGC compatible application server and use of CORBA or Web Services standards in combination with XML data exchange format for communication assures that the solution will be compatible with the existing standards and exchangeable with other solutions.

Using web browsers for communication also enables usage of standard secure connections to assure communication security.


Figure 1: Schematic view of Giselle’s architecture

After the overview of the technologies used, let us describe the architecture into a greater detail. In the following paragraphs we will see how the described technologies were innovatively combined into the final solution.

Database Layer

For the ground database layer one of the two popular relational database servers with OGC extension can be used: open source database PostgreSQL or proprietary Oracle.

Oracle spatial database is a standard open freely available format, therefore it is our preference for the system. Other business functions can access spatial data without any custom software, just as any other attribute data. There is no lock-in for the users.

Additional arguments to use Oracle spatial database are:

Application Layer

The application layer is a reminiscence of the terminal-host architecture in our system. Its main function is to serve as the data proxy to the database server and to pre-process this data for the client as to minimize the necessary  communication. It can also store remote spatial data layers when necessary.

Client (Presentation) Layer

Besides the user interface the client tier also contains all the application logic for data manipulation and validation.

There are two ways of implementing the presentation tier: Thin client (HTML) and thick client (JAVA).

The thin client solution can be completely internet / intranet based, meaning that all user functions are accessible from an internet browser. The thin client is used for general view of data accessed by any user. It is also used for producing geographical views for other modules like `show the picture of the parcel with ID on top of orthophoto image`, for example. There is no need for software installation and upgrades on client computers, which makes the system very easy to manage and available from anywhere, anytime and on all commonly used operating systems.

The thick client (feature rich client) is used for edits like digitalization of a new parcel, boundary change etc., which is usually coupled with some kind of wizard for the procedure (e.g. choose an applicant ID, show other data, finish). The GIS editor for land parcels can run either inside the browser or can be deployed as a client / server desktop application; the choice is left to the convenience of the user, thanks to the system's flexible configuration.
Both thin and thick client are launched as web modules in line with SSO principle of the main application.

A network launch protocol is used to automatically apply new versions or patches to all users, thus making maintenance an effortless process.
As Figure 1 presents, spatial data layers can be stored both locally on a client and on a remote server. The following combination is often used to minimize data transfer and maximize performance: the server stores a layer in vector form and the client reads it, shades it into a raster layer and adds it to the underlying image.

Although the performance issues were carefully addressed  during both the design and the development of Giselle, under some circumstances a bottleneck appears in the communication. This happens, for instance, when using extremely large raster datasets with extremely slow data connection. In such cases our client application can adapt to the situation: the user can choose to display the data in a smaller window or with less quality.

Application Architecture

Architecture of an application built using the Giselle library is shown in the figure below:



The building blocks composing the Giselle library are:
Widgets for the Graphical User Interface, such as the layer tree, dialogue boxes for setting properties of features and layers, tool bars... These widgets depend on the Application Programming Interfaces (APIs) exposed by Giselle core;

Giselle core is attainable to the application atop of it and the Giselle Widgets are accessible through a set of well-defined interfaces.

Giselle is not a monolithic framework, but a collection of tools, which makes it possible to use Giselle in applications built with other frameworks providing they are enriched with GIS functionality.

To allow easy integration of Giselle-based applications  into any kind of environment, the architecture is built around the concept of a plug-in. The plug-ins allow Giselle core and the application atop of it to transparently access GIS data from arbitrary data sources, such as:


Through prebuilt plug-ins, Giselle achieves interoperability with the many data formats that exist in GIS and agro-environment data management systems.

Apart from being adjustable towards data sources, Giselle-based applications are also customizable for the users. Giselle has facilities for managing the configuration of the application such as the display styles of features, the data sources and properties of layers, etc. The default configuration for a given user profile can be stored at a central location (e.g., the Giselle server), but can be overridden by individual users, depending on the user's permissions.

Giselle-based applications are easily localizable in any of the European languages. The messages that are displayed to the users are stored in special property files, allowing localization without affecting the code of applications. Also, the appearance of applications can be arbitrarily customized to fit the branding needs of the organisation deploying a Giselle service or application.

Front page | Technical Background | Deployment Requirements | Giselle Architecture | Interoperability

For more details, contact :



    home
    print
    sitemap
    contact us
      legal notes