A WEB-BASED DISTRIBUTED ARCHITECTURE FOR COASTAL ZONE MANAGEMENT

Éamonn Ó Tuama, Clive Best, Torill Hamre

(1) Coastal & Marine Resources Centre (Ionad Acmhainní Cósta is Mara) - ERI, University College Cork (IE)
(2) Joint Research Centre (JRC) - Institute for the Protection and Security of the Citizen (IPSC), Ispra (IT)
(3) Nansen Environmental and Remote Sensing Center (NERSC), Bergen (NO)

Abstract
The implementation of a Coastal Zone Management strategy can benefit greatly from the application of web-based technologies. This paper describes DISPRO, a work-in-progress prototype for an advanced web-based information system to improve management of pollution crises in coastal and ocean regions of Europe. The pan-European, multi-institutional nature of DISPRO lends itself to a web-based distributed architecture, incorporating GIS and complementary Web services. This architecture, consistent with the INSPIRE general model for an SDI (Spatial Data Infrastructure) [4], is multi-tier (client, middleware, data layers) and includes four main groups of components: user applications, geo-processing and catalogue services, catalogues and content repositories. The principles guiding the design are to follow closely the INSPIRE [3], OpenGIS™ [5] and W3C [6] standards, and to use OpenSource software where available [7]. Following open standards and protocols provides a high degree of flexibility while the distributed nature of the system allows each institution to retain control of its own data. DISPRO is being developed as part of the EU IST funded project DISMAR [1].

Introduction
DISMAR (Data Integration System for Marine Pollution and Water Quality) [1], a project funded under the EU IST Programme, brings together 17 organisations from six countries: Norway, Germany, Italy, France, United Kingdom, and Ireland. The objective of the DISMAR consortium is to produce a state-of-the-art, web-enabled, marine management system built on open standards, and to achieve this by using, wherever possible, public domain tools. The project started in August 2002 and runs for three years.

The prototype of the system, known as DISPRO, will focus on providing decision support for the management of oil spill and algal bloom incidents, and is being developed in two phases. DISPRO-1 will be available in mid 2004, and will undergo extensive user trials to assess the quality of delivered products and the user friendliness of the prototype. The experiences and feedback gained will aid in the development of the final system (DISPRO-2) to be completed by early 2005. While the aim is to provide a scalable, pan-European system, the prototype will confine itself to six demonstration regions (North Sea/Skagerrak, German Bight/North Sea, Coast of France, Coast of Italy, Coast of U.K., South-West Ireland).

DISPRO development faces a number of challenges, ranging from organisational practices and policies to technical issues of software development. This paper addresses some of these challenges, specifically, unified handling of distributed and diverse resources (data, documents, tools, etc.), relieving the user of the complexity of the underlying systems, and implementation strategies for the DISPRO prototype.

The SDI Contex
To place the project within a broader context, the relationship and importance of two other major European level programmes (GMES and INSPIRE) to DISPRO are outlined. GMES (Global Monitoring of Environment and Security) [2] is a joint initiative of the European Commission and the European Space Agency. The aim of GMES is to support EU environmental and security policies with regard to sustainable development and global governance, by promoting the timely provision of quality data, information, and knowledge. The objectives of DISPRO, namely, to develop an integrated management system for the marine environment, thus fit well within the context of GMES. GMES intends to complement and develop synergies with other EU programmes. INSPIRE (INfrastructure for SPatial InfoRmation in Europe) [3], is one such programme with special relevance for DISMAR. INSPIRE is an EU initiative to develop a spatial information infrastructure for Europe which envisages "a distributed network of databases, linked by common standards and protocols to ensure compatibility and interoperability of data and services" [4]. To this end, it defines a set of common principles and an architectural framework for achieving them based on the deployment of interoperable spatial information services over the Internet. The role of these services is to facilitate i) the production and publication, ii) the discovery and delivery, and ultimately, iii) the use and understanding of geographic information.
INSPIRE proposes a stepwise approach to building a spatial data infrastructure (SDI). The devised steps are: i) harmonisation of metadata; ii) development of common ways to access the distributed spatial data sets and perform simple analyses such as visual inspection (e.g., overlay of map layers); iii) development of common models of objects (e.g., roads, nature reserves, oil slicks) and mapping of existing data sets to these new models so that complex analyses then become possible; iv) provision of services to integrate the data across Europe and provide coherent, integrated access to what is, in fact, a distributed network of databases.

Development Strategies and Choices
The implementation of a European-wide SDI can take advantage of the recent rapid progress in "geo-enabling the web" and the adoption of the open protocols and standards promoted by the OpenGIS Consortium [5] and the W3C [6] (Table 1).

Technology Protocol/Standard
Communication HTTP; TCP/IP
Graphics PNG; JPEG; SVG [13]
Discovery metadata Dublin Core Metadata Element Set [14]
Metadata ISO 19115 [15]
Structured Data Markup XML [16]
Feature data Geography Markup Language (GML) [17]
Coverage data GeoTiff; HDF-EOS
Geo-reference European Coordinate Reference System ( ECRS89) [4]
Web Mapping Service OGC Web Map Service (ISO 19128) [18]
Web Feature Service OGC Web Feature Service [19]
Catalogue Services OGC Catalog Services [20]
Presentation XHTML [21]; CSS [22]
Web Services SOAP [8]; WSDL [10]

Table 1. Protocols and standards suitable for a European-wide SDI.

Web Technologies
Many new technologies are being developed in support of web services. These include SOAP [8], the Simple Object Access Protocol and XML-RPC [9], the XML remote procedure call. In essence, such techniques allow the sending of messages to invoke methods amongst distributed applications. Other related developments include WSDL (Web Services Description Language) [10], an XML format for describing web services and how to access them, and UDDI (Universal Discovery, Description and Integration) [11], a standard to allow businesses to dynamically discover services and interact with each other. Contrasted with the aforementioned technologies is a web services architectural style known as REST (Representational State Transfer) [12] which places the core web technologies of URIs, HTTP and XML centre stage, rather than as peripheral actors supporting remote procedure call APIs such as SOAP and XML-RPC. In the interests of simplicity and maximum flexibility, DISPRO will be modelled on the REST architecture as much as possible.

The SDI model for DISPRO
A generic model for a spatial data infrastructure which follows the INSPIRE design (Fig.1) constitutes a multi-tier system (client, middleware, data layer) and includes four main groups of components: user applications, geo-processing and catalogue services, catalogues and data/content repositories. User applications in the client tier provide the interface to the system. These will usually be web-based and provide a range of functions such as querying the catalogues and viewing results (e.g., metadata and maps), performing spatial analyses, or database administration (Fig.1:1). Direct access to data may also be provided (Fig.1:6). The middleware tier provides the various computational services. Fig.1. A generic model for a spatial data infrastructure (based on INSPIRE)
These services include metadata search and retrieval of both data and services, and serving up transformed data, maps and other content through linking to the data repositories (Fig.1:5). The services can be chained (Fig.1:2). The catalogues supply the data (catalogue entries) for the catalogue services (Fig.1:3), and in turn build their content from metadata provided by the content repositories (Fig.1:4). The data tier provides all the data both geospatial (vector, raster, tabular) and other (e.g. documents, multimedia files).

Catalogue services are singled out as a special type of geo-processing service: they provide the functionality to allow the organisation, discovery and access to geospatial data and services, and as such, form the core of any SDI. A catalogue consists of a collection of indexed, searchable catalogue entries each providing a description of some resource. Entries usually take the form of a subset of the complete metadata element set of the resource they describe. However, the Dublin Core metadata element set [14], developed by the Dublin Core Metadata Initiative (DCMI) provides a set of standard core elements specifically for discovery metadata, i.e., for cross-domain information resource description, and includes a 'coverage' element for defining spatial location and temporal period. All data sets in DISPRO must provide a discovery metadata companion file for catalogueing purposes, so Dublin Core is a suitable candidate. Indeed, INSPIRE [4] recommends that its catalogue services should provide a Dublin Core 'view'. As many datasets will already have an ISO 19115 [15] conformant description, the value of developing a translator or "crosswalk" from ISO 19115 to DCMI Dublin Core will be investigated.

The content repositories provide the data including geospatial (coverage and feature) and other (documents, images, multi-media files, etc.). Each data set / item must have an associated metadata file which contains amongst other fields, a georeference, to enable discovery through the catalogue service. The experience of the end user (as described in the general model) is that a single database is being accessed. However, the databases are actually distributed and database interoperability issues form an essential part of any implementation of the model.
INSPIRE identifies a broad range of functionalities to be provided by the SDI architecture which will vary depending on the type of use. Those relevant to DISPRO are listed in Table 2.

Component Functionality
User Applications publishing metadata and data
finding geographic information
viewing geographic information
delivering geographic information
analysing geographic information
Geo-Processing Services administration services
map service (OpenGIS WMS)
coverage service (OpenGIS WCS)
coverage service (OpenGIS WCS)
feature service (OpenGIS WFS)
analysis / geospatial data fusion service
Catalogue Services find data
find service
Content Repositories provide geo-data (vector, raster, tabular)
provide other data (documents, multimedia)

Table 2. Some functions to be provided by an SDI as identified by INSPIRE

Implementing DISPRO
DISPRO will use an architecture consistent with the INSPIRE general model of an SDI. It will constitute a multi-tier system (Fig.2) featuring diverse end user applications communicating with various application servers which are in turn linked to the data repositories. There are several components in each tier of the system. These are further described in the following sections along with the enabling tools and technologies identified for their implementation (Table 3).

Function Technology

Web Server (HTTP server)
Apache HTTP Server [24]
Web Map Server The WMS can be implemented using a simple script (e.g. in Python or Perl) or a more sophisticated application such as University of Minnesota MapServer [25], or any other OpenGIS WMS compliant software.
Web Feature Server University of Minnesota MapServer, GeoServer [26], or any other OpenGIS WFS compliant software.
Database Relational PostgreSQL [27]; MySQL [36]
Native XML Exist [28]; Xindice [29]
Spatially enabled database PostgreSQL-PostGIS [30]
News Feed
RSS [23]
XML publishing/processing framework Apache Cocoon [31]

Table 3. Potential enabling technologies for implementing DISPRO.

DISPRO Portal
The portal is the front-end to the prototype providing access to all features of the system through a web browser. The server hosting the portal will be based at CMRC in Cork (CMRC DISPRO). Several types of client applications are available within the portal.

Fig.2. DISPRO architecture

WMS / WFS Clients
WMS (web map server) and WFS (web feature server) clients provide the basic functionality of the GIS interface, communicating with remote WMS and WFS servers to retrieve map layers or features, performing queries, and actions such as panning and zooming. These clients will reside on the CMRC DISPRO server.

CMRC Web Map Server / Web Feature Server
In response to requests from the WMS/WFS clients, Web Map Servers generate and serve up maps in image (raster) format while Web Feature Servers deliver features encoded in GML. It is envisaged that there will be several map and feature servers in operation across the demonstration areas, communicating via OpenGIS protocols. Each demonstration area will ideally provide local map and feature servers in addition to those provided on the CMRC DISPRO server.

Geo-processing Service
Each geo-processing service application (e.g., oil drift model, algal bloom model) publishes its availability through the catalogue and provides a schema in XML defining the required inputs to the service. When a user selects a service from the catalogue, an interface with the appropriate input form is generated dynamically from the schema. Most services will require some time to run (e.g., about 30 minutes for the oil drift model). The user will therefore need to be alerted when a model run is completed. This alert can be in the form of an RSS [23] update (viewable through the RSS client), an e-mail or an SMS message. The products provided by each service have yet to be categorised. Possible outputs are provider specific XML, web features encoded as GML, ESRI shapefiles, georeferenced raster images, binary files (GRIB), etc. Some products may be viewable/usable directly in the web mapping client, others will require a browser plugin (e.g. a Java applet for GRIB data).

Local Web Server
Each data provider will set up a web server to make files available via HTTP. They will implement an agreed directory structure on the server and upload data there ( Table 4).

Directory structure Contents
dismar/   top level directory
docs documents in PDF
data for data sets (shapefiles, GML, XML, PostgreSQL export files, GeoTIFF)
metadata for metadata describing the resources in dismar/docs and dismar/data directories
mapserver a description of the OGC compliant WMS server at this site
featureserver a description of the OGC compliant WFS server at this site
services a description of each geo-processing services available from this site
news one RSS file (XML) describing any new events, data sets, or documents which have become available in one of the directories above

Table 4. Proposed directory structure for DISPRO web servers.

Aggregator
The aggregator will poll the local web servers and perform three functions: i) feed the metadata files to the catalogue database, ii) feed the RSS files to the RSS client, iii) upload georeferenced data to the CMRC WMS/WFS.

The DISPRO Catalogue
The catalogue is an inventory of all the geodata, services and other resources available in DISPRO. It can be implemented using a relational database or a native XML database. It will contain entries on:

Metadata
The metadata standards to be used in DISPRO are still under investigation. For discovery metadata, DISPRO will adopt Dublin Core. Some profile of ISO 19115 will be required for full data/service metadata. DISMAR data producers will be responsible for providing metadata for each resource they provide. This is a core task as the catalogue system at the heart of DISPRO relies on the metadata.

Web Mapping Components
DISPRO will feature several OpenGIS web mapping components (Fig.3):

The Catalogueing Components
Each data provider must include a 'discovery' metadata file for each resource they provide whether geo-data, geo-processing service, or other (document, image, multimedia file). These discovery metadata files provide the content of the catalogue - the catalogue entries. The catalogue entries will be stored in a database, which can be either relational or native XML. DISPRO will test the efficacy of an open source native XML database (either eXist or Xindice) to avoid the overhead of conversion from XML to relational database tables and vice versa.

Fig.3. Implementation of an OpenGIS WMS / WFS framework.

Implementing the catalogue
The catalogue implementation (Fig.4) will provide the following components:

Fig.4. Implementation of the DISPRO catalogue system.

The News System
The DISPRO news system is based on a similar model to that of the catalogue. A polling daemon will check the data providers' web servers for updated RSS files. New files will be uploaded to the CMRC server and processed using XSL to generate the news feed for the news client. The news system can be easily extended to ingest other non-DISMAR generated RSS sources that may be of relevance to operational end users.

A Web Publishing Framework
DISPRO can be viewed as a web publishing system, generating presentations on demand from diverse data sources. It thus requires a framework to manage this complex enterprise. Apache Cocoon [31], an open source framework for building web publications and applications, will be tested for DISPRO. Amongst the features provided by Cocoon are on-the-fly XML transformations to various formats (XHTML, PDF, SVG, PNG), database access, and user and session management. The presentation layer in DISPRO will conform to the relevant W3C standards for XHTML, CSS, and the ECMAScript standard [35]. The guiding principle will be to separate content from presentation by encouraging the widespread uptake of XML amongst information providers. Using XSL transformation tools, data encoded in XML is transformable from one schema to another, and to various presentation formats (SVG, PDF, PNG). XML thus offers great flexibility and is particularly useful in a European context where multi-lingual publishing is required.

DISPRO Demonstrator
The DISPRO portal provides the entry point to the system. The first essential feature required here is a facility for selecting a region. This will be implemented as a static image map: the user simply clicks on one of the six outlined demonstration areas to select it. In a fully functional, European-wide system, the map would be presented by a GIS client where the user can drag-select the mouse over the map to define a bounding-box of the region of interest. Once the user selects a demonstration region, the web page for that region is loaded (Fig. 5). The essential features displayed here are:
"an OpenGIS WMS/WFS client, initially set to display a base map of the region (Fig.5:1) with dynamically generated legend (Fig.5:3) and reference map (Fig.5:5); the client will provide basic GIS functions (Fig.5:4) such as selecting and overlaying layers (vector and raster) of interest, panning and zooming, and simple querying; raw feature data (in GML) will also be available.
"a dynamically generated list of layers available in the GIS (Fig.5:2); this will be continuously updated as new geodata is submitted by data providers; these will include observations (in situ, aircraft, satellite), derived parameters (e.g., potential oil spill location and probability), or forecasted parameters (e.g., oil drift model predictions); the full metadata information for a layer is most conveniently made available as a hyperlink from the layer title.
"the catalogues list (Fig.5:6); each title in the catalogue list will link to a separate catalogue interface, e.g., "geo-processing services".
"the news feeder (Fig.5:7); this will display news items; an SMS and e-mail alerting system can also be implemented for time-critical operations.

Fig.5. A DISPRO demonstration region (South West Ireland) providing access to the GIS, the catalogues and the news client.

The Catalogues
The catalogues provide access to all resources in the system (geodata, geo-processing services, documents, etc.). The geodata is presented through the GIS client (Fig.5:2) while the services and documents are presented through separate catalogue interfaces. The prototype of the geo-processing services catalogue (Fig.6) initially displays a list of the geo-processing services available for the region (Fig.6:1). Each geo-processing service will describe its required input parameters in a schema defined in XML. When the user selects a service, a form is automatically generated from the schema and displayed (Fig.6:2). The Met.no Oil Spill Model, OD3D, used here as an example, calculates the drift and evolution of oil "superparticles" at both surface and sub-surface. It accepts a request in the form of an XML file and returns a forecast (a time series of the characteristics of each superparticle) in the form of two products, i) an XML file describing the characteristics (position, depth, mass, chemical properties, etc.) of each superparticle as an hourly time series, and ii) a GRIB-in-XML file providing currents, water temperature, salinity, water level, winds, atmospheric pressure as 2D fields (hourly) at standard depths.

Fig.6. The integrated interface to the OD3D service. The user first selects a service (1); an input form for the service is generated on demand (2); products of the service are listed in a hierarchical menu (3) and are viewable, possibly with the use of a plug-in, in the right hand panel (2).

Once the model run is completed (it takes about 30 minutes), the products (files) are delivered to the DISPRO server and the user is alerted (via their pre-selected choice - RSS, E-mail, SMS) as to their availability. The products are accessible via a hierarchical menu system (Fig.6,3).
Each product will have a unique URL (following the REST guidelines), e.g., http://dispro.ucc.ie/OD3D/output_2003_07_22_11_22.xml, and is thus bookmarkable for future access. When a product is selected (by clicking on its title in the hierarchical menu), an appropriate viewer will be launched, e.g., OD3D XML output could be presented as an SVG animation, whereas, the GRIB product would require a Java plugin for visualisation.
The documents catalogue interface is similar to that for the geo-processing services. It displays a hierarchical list of all documents available for the region. These can be arranged logically into appropriate categories, e.g., 'Fire Fighting', 'Oil Spills', 'Nature Reserves'. Clicking on a document title, e.g., 'Bantry Bay Contingency Plan', launches the PDF viewer in the right hand part of the window.

Conclusion
Implementation of the prototype is now underway, the Skagerrak/North Sea providing the first test case, with other cases following in an iterative cycle of development. By contributing to the harmonisation and standardisation of observing systems, data, models and management systems, DISPRO will demonstrate the benefits of an SDI for Europe as envisaged by INSPIRE.


References

[1] DISMAR; http://www.nersc.no/Projects/dismar/
[2] GMES; http://www.gmes.info
[3] INSPIRE; http://inspire.jrc.it/
[4] INSPIRE Architecture and Standards Position Paper; http://inspire.jrc.it/reports/position_papers/inspire_ast_pp_v4_3_en.pdf
[5] OpenGIS Consortium; www.opengis.org
[6] W3C; http://www.W3C.org
[7] Free/Libre and Open Source Software: Survey and Study; http://www.infonomics.nl/FLOSS/report/
[8] SOAP; http://www.w3.org/TR/SOAP/
[9] XML-RPC; http://www.xmlrpc.com/
[10] WDSL; http://www.w3.org/TR/2002/WD-wsdl12-20020709/
[11] UDDI; www.uddi.org/
[12] REST; http://conveyor.com/RESTwiki/moin.cgi
[13] SVG; http://www.w3.org/Graphics/SVG/Overview.htm8
[14] Dublin Core Metadata Element Set; http://dublincore.org/documents/dces/
[15] ISO 19115; http://www.isotc211.org/scope.htm#19115
[16] XML; http://www.w3.org/XML/
[17] GML; http://opengis.net/gml/
[18] OpenGIS WMS; http://www.opengis.org/techno/specs/01-068r3.pdf
[19] OpenGIS WFS; http://www.opengis.org/techno/specs/02-058.pdf
[20] OpenGIS Catalog Services; http://www.opengis.org/techno/specs/02-087r3.pdf
[21] XHTML; http://www.w3.org/MarkUp/
[22] CSS; http://www.w3.org/Style/CSS/
[23] What is RSS?; http://www.xml.com/pub/a/2002/12/18/dive-into-xml.html
[24] Apache HTTP Server; http://httpd.apache.org/
[25] University of Minnesota MapServer; http://mapserver.gis.umn.edu/
[26] GeoServer; http://geoserver.sourceforge.net
[27] PostgreSQL; http://www.postgresql.org/
[28] eXist; http://exist.sourceforge.net/
[29] Xindice; http://xml.apache.org/xindice/
[30] PostGIS; http://postgis.refractions.net/
[31] Apache Cocoon; http://cocoon.apache.org/
[32] JSP; http://java.sun.com/products/jsp/
[33] XSL; http://www.w3.org/Style/XSL/
[34] Tomcat; http://jakarta.apache.org/tomcat/index.html
[35] EcmaScript ; http://www.ecma-international.org/publications/standards/ECMA-262.HTM
[36] MySQL; http://www.mysql.com