GeoNetwork Opensource GEONODE-MASDAP ARCHITECTURE

PostGIS, rather than storing them in filesystem, both in terms of performances in data selection and management. On the raster data side instead, even if the last PostGIS version allows raster storage, they are simply stored in filesystem. 4.2 GeoServer GeoServer is an open source software server written in Java that allows users to publish geospatial data. It is designed for interoperability and publishes data from any major spatial data source using open standards. Being a community-driven project, GeoServer is developed, tested, and supported by a diverse group of individuals and organizations from around the world. Furthermore it is the reference implementation of the Open Geospatial Consortium Web Feature Service WFS and Web Coverage Service WCS standards, as well as a high performance certified compliant Web Map Service WMS GeoServer, 2013. GeoServer is the map engine in support of the GeoNode, it works on the server side of the system and performs three main activities: 1. it renders all the geospatial content showed by the GeoNode in a graphic format, in particular in the data page, in the map page and in the map composer; 2. it performs all the data format transformations when it comes to data downloading in formats that are different from the original source; 3. it enables the GeoNode as a WFS and WMS server, therefore data can be served with standard Web services by the platform.

4.3 GeoNetwork Opensource

GeoNetwork Opensource is a standard based and decentralised spatial information management system, designed to enable access to geo-referenced databases and cartographic products from a variety of data providers through descriptive metadata, enhancing the spatial information exchange and sharing between organisations and their audience, using the capacities and the power of the Internet. Its main features are:  instant search on local and distributed geospatial catalogues;  online metadata editing with a powerful template system;  scheduled metadata harvesting and synchronisation between distributed catalogues;  groups and users management;  fine grained access control. It is compliant with the metadata standard ISO19115:2003, using the ISO19139:2007 implementation specification schema published in May 2007. The release also serves as the open source reference implementation of the OGC Catalogue Service for the Web CSW 2.0.2 GeoNetwork, 2013. In particular the GeoNode takes advantage of two main functionalities that are implemented in GeoNetwork: the two search engines. The first is a typical Web search engine and works on the basis of some keywords that are assigned to each dataset and then retrieved when submitted in the search string. The second is a spatial search engine by means of which it is possible to search for data covering a certain area of interest, on the basis of its geographic extent. 4.4 Django It has been said that GeoNode combines together many software products which are already existing and sufficiently stable to be used by a wide community of users. Being a Web platform, the main GeoNode component is the code that describes the website logic. This code is written in Python programming language and takes advantage of a framework for Web development called Django. Django encourages rapid development and clean, pragmatic design and applies the DRY principle. Duplication, both inadvertent and purposeful, can lead to maintenance difficulties, poor factoring and logical contradictions. It can arise in architecture, requirements, code or documentation, with effects that can range from mis-implemented code and developer confusion to complete system failure. The DRY principle, that is an acronym of Dont Repeat Yourself states that “every piece of knowledge must have a single, unambiguous, authoritative r epresentation within a system” c2 wiki, 2011. Moreover Django adheres to the Model-View-Controller software architecture, an architectural pattern used in software engineering that isolates the application logic for the user from the user interface, permitting independent development, testing and maintenance of each part Django, 2013. 4.5 GeoExt and OpenLayers GeoExt is an open source JavaScript toolkit aimed at building rich Web mapping applications. It brings together the geospatial know how of OpenLayers with the user interface savvy of ExtJS to help build powerful desktop style GIS applications on the Web with JavaScript GeoExt, 2013. On the one hand GeoExt extends Ext JS, a rich library of web UI widgets and helper classes: in details it is a JavaScript framework for building rich application in Web browsers, that enables developers to use a Model-View-Controller architecture when building their application, and offers a wide range of user interface widgets such as scalable grids, trees and menus Sencha, 2013. On the other hand the OpenLayers mapping library is the key component of GeoExt, performing the core map-related functions of every GeoExt-based application. OpenLayers is a pure JavaScript library for displaying map data in most modern We b browsers; it hasn’t any server-side dependencies, and is developed and supported by a number of organizations around the world OpenLayers, 2013. OpenLayers and GeoExt are used in GeoNode on the client side, in particular in the Web pages that show cartographic representation of data and maps; therefore they are used in the GeoNode data and map page and in the map composer application. Examples of OpenLayers functions are the zoom and map options in the map visualization.

5. CONCLUSIONS