Tampilkan postingan dengan label Spatial Data Infrastructure. Tampilkan semua postingan
Tampilkan postingan dengan label Spatial Data Infrastructure. Tampilkan semua postingan

Selasa, 21 Februari 2012

GeoSolutions Enterprise Services: Open Source ed Enterprise si incontrano



  • Sei alla ricerca di supporto professionale high-end per affiancarti e guidarti nella creazione di una SDI basata su framework Open Source?
  • Stai disegnando una infrastruttura per OpenData e ti stai chiedendo se legarti al software proprietario sia la strada migliore?
  • Sei stufo di spendere tutto il budget in licenze senza riuscire a creare la infrastruttura di cui avresti bisogno?
  • Vorresti integrare una SDI  proprietaria con software Open Source?
GeoSolutions è la soluzione!

I piani di supporto offerti da  GeoSolutions  offrono l’opportunità di creare una SDI di classe Enterprise basata su framework Open Source geospaziali di comprovata affidabilità, fra i quali GeoServer, GeoNetwork e MapStore.

Con GeoSolutions  è semplice avvicinarsi al mondo Open Source dimenticando le licenze e decidendo autonomamente il budget da investire per il prodotto che si sta cercando! I nostri piani di supporto sono disponibili in diversi tagli, perché abbiamo pensato  a chi ha esigenze e budget contenuti ma anche a chi  deve gestire infrastrutture complesse e necessita di un supporto costante altamente specializzato.

Fatti supportare da chi ha creato il software che ti serve!

Visita il nostro sito per saperne di più e chiedici di contattarti, insieme discuteremo di quanti utenti possiamo supportare con le risorse di calcolo a disposizione piuttosto che del numero di licenze che dovresti comprare!

The GeoSolutions team,

Senin, 30 Januari 2012

Developer's Corner: Introducing Database Level Security in GeoServer

During our work we support manu GeoServer Enterprise installations which pull data from a spatial database of some sort, normally via a connection pool, a tool that keeps database connections around so that we don't have to open and close them at every request (something that could be very expensive).
The pool accesses the database via a shared user, that all GeoServer requests end up using. Some requests only require data reading (WMS GetMap), others modify data (WFS Transaction), some even create new tables (RESTConfig data uploading for example).
The pool user must be able to perform all and any of the operations that GeoServer needs, meaning that more often than not it has very wide powers of what it can do on the database.

GeoServer built in security, as well as extensions such as GeoRepository, allow to control what specific users can do and shield the database from security issues.
However in some enviroment the preferred security management policy is to have security restrictions operate at the database level instead, with the pool user being given minimal rights (normally, to list and describe the tables, but without any actual access to them). This has some advantages:
  • the security is setup just once for the variety of applications that might access the database
  • each user can actually perform only the operations that he/she was allowed to, regardless of eventual bugs/security holes in the application level software
  • leverages the DBA expertise
GeoSolutions recently implemented the ability to use DBMS session startup and teardown scripts that can be used to alter the user accessing the database for the duration of the current request, turning back to the pool user when the request is complete.
These commands can be specified in the configuration User Interface while setting up the data store. For example, if we wanted to have each and every PostgreSQL session use the credentials of the current GeoServer user we'd use the following setup:

Different databases will of course use different commands, or custom, in house package calls, to setup the current session user. See the GeoServer documentation for more details on how this new functionality can be used.

We'd like to thank Astrium GEO-Information Services for sponsoring this improvement and sharing it with the GeoServer and GeoTools communities.

Application security is certainly one of the topics we like to deal with. There is of course a lot more to explore and improve, this topic is both rich and interesting. Want for example CAS or Shibboleth security in your GeoServer intallation? Maybe integration with Active Directory? Talk to us first!

The GeoSolutions team,

Senin, 28 November 2011

Serving Meteo data with GeoServer, GeoBatch and GeoNetwork: the LaMMA use case


Dear All,
in this post I'd like to talk about the work we have done for the LaMMA consortium.

The Problem
The purpose of this project is to build a complete Spatial Data Infrastructure (SDI) to provide a spatio-temporal raster data processing, publishing, and interactive visualisation facility. This platform is candidate to substitute the current one which was already built leveraging on Open Source software but which was rather static and contained no OGC services.

The data that will be ingested into the system is generated by an existing processing infrastructure which produces a set of different MetOc models. Our goal is to manage the geophysical parameter (or variables) produced by the following models:
  • ARW ECM
    • 3 Km resolution
    • 9 Km resolution
  • GFS
    • 50 Km resolution
The ingestion is started every day at noon and midnight, hence there are 2 run-times a day for each model at a certain resolution and the produced data contains different forecast times.
- ARW ECM (3 days with interval of 1h)
- GFS (8 days with interval of 6h)
 The data is produced in GriB format (version 1).

Our Solution
Leveraging on the OpenSDI suite and specifically on the following components:
as well as some other well known Open Source project such as (Apache Tomcat, Apache Http server, Postgres) we provided an extensible and standard based platform to automatically ingest and publish data.

The infrastructure we have put together is depicted in the deployment diagram below.
Deploy diagram
This infrastructure has been designed from the beginning with the goal of being scalable in terms of supporting large number of external users since it is based on a GeoServer Master/Slave infrastructure where multiple slaves can be installed for higher throughput. Caching will be tackled in a successive phase.

As you can see we provided three access level for different type of users:
  • Admin can locally access to the entire infrastructure and add instances of GeoServer to the cluster to improve performances
  • Poweruser can remotely add files to ingestion and administer GeoBatch via Basic Autentication
  • User can look at ingested data accessing one of the GeoServer slave machines via Apache httpd proxy server. The load of these accesses is distributed between all available slaves.
As mentioned above, the main building blocks are as follows:
  • GeoServer for providing WMS, WCS and WFS services with support for the TIME and Elevation dimensions
  • GeoNetwork, for publishing metadata for all data with specific customizations for managing the TIME dimensions in the dataset 
  • GeoBatch, to perform preprocessing and ingestion in near real time of data and related metadata with minimal human intervention

Using GeoBatch for ingestion and data preprocessing
In the LaMMA project the GeoBatch framework is used to preprocess and ingest the incoming GriB files as well as to handle data removal based on a sliding temporal window (currently set to 7 days) since it was a design decision to keep around for live serving on the last 7 days of forecasts.

Below you can find a diagram depicting one of the automatic ingestion flow we created for the LaMMA project using the GeoBatch framework.

GeoBatch ingestion flow example

The various building blocks comprising this flow are explained here below:
  1. NetCDF2GeotiffAction reads the incoming GRIB file and produces a proper set of Geotiff perfoming on-the- fly tiling, pyramiding and unit conversions.Each GeoTiff represent a 2D slice out of one of the original 4D cubes contained in the source GriB file
  2. ImageMosaicAction uses the GeoServer Manager library to create the ImageMosaic store and layer  in the GeoServer Master. The created ImageMosaic contains proper configuration to parse Time and Elevation dimensions' values from the GeoTiff in order to create 4D layers in GeoServer.
  3. XstreamAction takes an XML file and deserializes it to a Java object this is passed to the next action.
  4. FreeMarkerAction produces a proper xml metadata file for publishing in GeoNetwork, using a pre-cooked template and the passed data model.
  5. GeoNetworkAction published the metadata on the target GeoNetwork 
  6. ReloadAction forces a reload on all the GeoServer slaves in order to pick up the changes done by the master instance
This type of flow, (with a slight different set up) is used to convert and publish the 3 different incoming models.

The other type of flow is the remove flow which is a composed by the following building blocks:
  1. ScriptingAction executes a remove.groovy script which will:
    • calculate the oldest time to retain
    • select older files to be removes
    • search and remove matching metadata from the GeoNetwork
    • remove collected layers and stores  from the GeoServer Master catalog
    • delete permanently succesfully removed files
  2. ReloadAction forces a reload on all the GeoServer Slave.

Using GeoNetwork for metadata management
We have customized the metadata indexing (thanks Lucene!) in GeoNetwork in order to be able to index meteorological model execution in terms of their run time as well as in term of their forecast times.
Generally speaking the data we are dealing with is driven by a meterological model which produces daily a certain number of geophysical parameters with temporal validity that spans for certain number of time instants (forecast times) in the future. In GeoNetwork we are currently creating a new metadata object for each geophysical parameter (e.g. Temperature) of a new model run; this metadata object contains multiple links to WMS requests for each forecast time, leveraging the TIME dimension in GeoServer (see picture below). Moreover the forecast times themselves are indexed so that advanced searches can be done on them.



If you have questions about the work described in this post or if you want to know more about our services could help your organization to reach its goals, do not hesitate to contact us.


The GeoSolutions team,

Kamis, 25 Februari 2010

Sharing thoughts about FOSS4G-IT 2010 part 1


Ciao a tutti,
as announced in a previous post today we start to share the materials produced for the Foss4g-IT conference. Thanks to SUPSI, that in Lugano was host of this nice event, we had a very good time.
In this first part we are sharing the slides of the presentation that Ing Simone Giannecchini, founder of GeoSolutions, illustrated at SUPSI’s Aula Magna.

In this presentation you’ll find the state of art as far as Geoserver and its latest features are concerned: integrated security, dynamic symbolizers and ImageIO-Ext GDAL support. Also, quite interesting, it’s the use case describing an integrated system for scientific purpose that uses open source software to manage environmental and geographic data. This bring us to the definition of OpenSDI, a Spatial Data Infrastructure stack based on open source software that GeoSolutions is creating.

OpenSDI will not be simply an aggregation of different open source geospatial frameworks, it will be an integrated infrastructure based on best-of-breed components to provide, out-of-the-box, a complete, tested, integrated and supported solution for managing an enterprise spatial data infrastructure … and not only!

Soon, in the second part of this post, we will share the live-DVD produced for the foss4g-IT workshop. With this anyone we’ll be able to try and test, in a vary easy way (no installation required), Geoserver and others Geosolutions’s products!
... To be continued ......

Kamis, 11 Februari 2010

Notizie dal FOSS4G-IT 2010 Lugano

Scriviamo dall’aula magna della Scuola Università Professionale della Svizzera Italiana (SUPSI) che gentilmente ospita presso le sue strutture l’edizione 2010 del FOSS4G-IT.
Di seguito pubblichiamo uno scatto della giornata di ieri, la giornata dedicata ai workshop, tipicamente il momento nel quale gli ‘esperti’ del campo condividono le loro conoscenze per la formazione.

WorkShop di GeoSolutions al FOSS4G-IT 2010

GeoSolutions, tramite Alessio Fabiani e Simone Giannecchini, core developers di Geoserver, GeoTools, GeoBatch e ImageIO-Ext, hanno messo a disposizione dei partecipanti le loro conoscenze di sviluppatori del Geoserver in tre intense ore di formazione di base e non solo.
E’ stata un’ottima occasione sia per noi di testare le nostre capacità formative, attività mai semplice e che richiede elevata professionalità ed un continuo rinnovamento delle tematiche trattate e del materiale formativo; sia per i partecipanti che hanno potuto sfruttare una corsia preferenziale per entrare nel mondo del Geoserver e della disseminazione dei dati geografici con standard OGC.
Il live-DVD prodotto per il workshop verrà presto messo a disposizione di tutte le persone che desiderano provare in maniera semplice, nessuna installazione richiesta, Geoserver ed altri software GIS.
Un ringraziamento particolare a Massimiliano Cannata ed all’Istituto di Scienze della Terra di Lugano (D.A.C.D).