Wien, 18-19 January 2010 1

Infrastructure for Spatial Information in the European Community

The INSPIRE Community Geoportal

EC INSPIRE GEOPORTAL TEAM

European Commission Joint Research Centre Institute for Environment and Sustainability Spatial Data Infrastructures Unit INSPIRE Geoportal

Wien, 18-19 January 2010 2

http://www.inspire-geoportal.eu INSPIRE Geoportal - Tools

Wien, 18-19 January 2010 3

ƒ INSPIRE service • Discovery – Discovery Client – Discovery Proxy • View Service Client – View Client –View Proxy ƒ Geoportal auxiliary service • Metadata Editor • Metadata Validator – Metadata Validator Service – Metadata Validator Client INSPIRE Geoportal - Architecture

Wien, 18-19 January 2010 4 Discovery Client - Overview

Wien, 18-19 January 2010 5

“The discovery client application allows searching of spatial data sets and spatial data services published by the EU Member States and is based on the search criteria defined in the INSPIRE regulation on Network Services. ” Discovery - standards used

Wien, 18-19 January 2010 6

XML (POST) Discovery - Architecture

Wien, 18-19 January 2010 7

ƒ N-tier (J2EE) ƒ Reusability ƒ Scalability ƒ Performance Discovery - Presentation Tier (1)

Wien, 18-19 January 2010 8 ui Search

Search

«nav igate» «nav igate» «nav igate» «nav igate»

Simple Search Advanced Search Browse About

«nav igate» «nav igate» «nav igate» «nav igate»

Map Discovery - Presentation Tier (2)

Wien, 18-19 January 2010 9

ui Search Result

Search Result Advanced Search

(from Search) «nav igate» «nav igate» «nav igate» «nav igate» Result Bounding Boxes Result List Result Statistics «nav igate»

«nav igate»

Metadata Details

«nav igate»

Complete Metadata Record Discovery - Presentation Tier (3)

Wien, 18-19 January 2010 10

ƒ Implementation (1) Input suggestion • Presentation formats (Json, Extjs API) Html Css GeoRss Json

Browsing Tree (Json, Extjs API) Discovery Client - geoRSS

Wien, 18-19 January 2010 11

ƒ GeoRss issue

• Multi bounding boxes per record is not supported European Topsoil Organic Carbon content ƒ Solution (OCTOP) http://139.191.16.45:8080/GeoportalCatalog • Attach bounding boxes in the Client/searchResultDetails.do?idMd=14267&b link box=[[35.0,-15.0,75.0,40.0],[30.0,10.0,50.0,- 10.0],[70.0,10.0,80.0,30.0]] Topsoil Organic Carbon content for Europe ; data result from calculations taking into account soil, climate, landcover and topography....

http://139.191.16.45:8080/GeoportalCatalog Client/searchResultDetails.do?idMd=14267&b box=[[35.0,-15.0,75.0,40.0],[30.0,10.0,50.0,- 10.0],[70.0,10.0,80.0,30.0]] 70.0 10.0 80.0 30.0 Discovery - Presentation Tier (4) Wien, 18-19 January 2010 12

ƒ Implementation (2) • Input manipulation, map, layout Result in bounding boxes and in text and result rendering (GeoRss, OpenLayers, Extjs) Javascript AJAX request Javascript frameworks Mapfish Extjs OpenLayers •Browsers Internet Explorer 7, Firefox 3, Safari 4 Discovery Client – web layer

Wien, 18-19 January 2010 13

ƒ Web layer • Model-View-Controller design pattern • Separate presentation from business layer • Supporting messages in multiple languages • Implementation –Java – Struts Web application framework Discovery - Application Tier (1)

Wien, 18-19 January 2010 14

ƒ Discovery Core • Generic component to be shared • Core business logic processing – Query metadata – Rank result – Create statistics – Create GeoRss result file • Implementation –Java – GeoRSS module for the java library 'rome‘ –JSON for Java ƒ Discovery Proxy Discovery - Application Tier (3)

Wien, 18-19 January 2010 15

ƒ Data Access Layer • Persistent objects of database tables • Performing basic Create, Read, Update and Delete operations on objects • Shared between the Client and the Proxy • Implementation –Hibernate Discovery Client – Service Tier

Wien, 18-19 January 2010 16

ƒ Discovery services • Image 2000 • EC JRC Community Image Data • Metadata from MS Discovery (testing in progress) ƒ Auxiliary Services • Metadata Cache – Implementation: Oracle • View services (Discovery Map) – World Generic Map Service with EuroGlobalMap data for Europe Discovery – Implementation

Wien, 18-19 January 2010 17

Presentation tier Application Tier Service Tier

ƒExt JS JavaScript Web layer Discovery Service: library 2.0.1 ƒStruts 1.3.8 OGC 19139 ISO AP. ƒOpenLayers 2.5 ƒJ2EE Servlets View Services: ƒMapFish 1.0 ƒRome-0.9, jdom 1.0 ISO 19128 (WMS 1.3.0), WMS 1.1.1 Data access layer Persistence Service ƒHibernate 3.2.5 ƒOracle RDBMS Discovery– Tier Interaction

Wien, 18-19 January 2010 18 sd Displa y M e ta da ta De ta ils

Presentation Tier Application Tier Service Tier

INSPIRE Discover y GUI SearchA ction Discover yCor e Metadata DiscoveryService Geoportal User Cache displayMetadataDetails( )

r eqMetadataDetails( )

pr ocessMdDetailsReq( )

getMdDetails( )

extractMetadataRecord( )

getRecor dById( )

(from Actors ) Discovery Proxy – Federation Strategies

Wien, 18-19 January 2010 19

ƒ Real time • metadata up to date • Questions on performance ƒ Full cache • Performance depends only on geoportal • Need regular updates to ensure metadata are up to date ƒ Partial cache • Only information necessary for searching is cached (INSPIRE elements) • Full Metadata record retrieved from MS discovery service Discovery Proxy - workflow

Wien, 18-19 January 2010 20

ƒ Federation actions: 1. update 2. create response 3. create metadata file 4. validation 5. populate the cache. Discovery Proxy – Up to Date

Wien, 18-19 January 2010 21

ƒ Full Updating ƒ Incremental Updating • Pre-condition – An initial cache of the datasets and services from this Member State Discovery Service has been processed. – The Member State Catalogue service supports XML encoding per ISO/TS19139 and HTTP protocol binding. – The Member States have accurately maintained the Creation and Revision dates of each metadata entry. – The Creation and Revision date formats must be valid ISO 8601 dates. – Database server is running. Discovery and View – Testing Rules Wien, 18-19 January 2010 22 ƒ “Registration” of the service, is used by the INSPIRE geoportal team to acquire the information necessary for federating the MS Service. This step is currently performed manually. ƒ The “Access” step has the role to establish the connection, validate the service and if required to cache metadata or capabilities of the MS services to the INSPIRE geoportal. • The sub-steps in Access for Discovery and View Service are: connection, validation and caching but they are slightly different ƒ Reference: “INSPIRE GEOPORTALTesting.pdf” (IOC 04/11/09) interoperability MD open issues (1)

Wien, 18-19 January 2010 23

ƒ Language • Codes: apha-3 codes of ISO 639-2 (three-letter codes) • Implementation: “most interoperable”, “most compliant” • Embedded Translation: “locale” (language, country, encoding) ƒ Character encoding • Characher Encoding of data [1] {free text} or MD_Metadata.locale[0,1] • Format: UTF-8. ƒ Date creation, publication, revision • ISO 8601 - “yyyy-mm-dd” ƒ Temporal Extent (TimePeriod) • ISO 19108/ISO19136 - “yyyy-mm-ddThh:mm:ss” - by value; by reference combination. interoperability MD open issues (2)

Wien, 18-19 January 2010 24

ƒ Spatial Resolution • Equivalent scale (denominator(integer)) – Distance (distance (uom + number)) ƒ Spatial Data Service • language neutral name (discovery, view, download, transformation, invoke, other) ƒ ISO schema location •GML • Service INSPIRE Discovery mapping OGC (1)

Wien, 18-19 January 2010 25

ƒ (*) At least one of the transactional operations ƒ OGC CSW specified that the servers shall implement the HTTP GET, servers may optionally implement the HTTP POST. The binding protocol in INSPIRE isn’t mentioned. INSPIRE Discovery mapping OGC (2)

Wien, 18-19 January 2010 26

ƒ INSPIRE GetDiscoveryService • Language ƒ INSPIRE DiscoverMetadata • Language Parameter • Query granularity • elementSetName=full ƒ OGC GetRecordById ƒ PUSH • Language ƒ LinkDiscoveryService • Not implemented in OGC View - Overview

Wien, 18-19 January 2010 27

ƒ The View Service Client lists and displays layers offered by View Services.

ƒ Features a free-text search functionality for layers (multi-language search is enabled for INSPIRE themes). View Client - Functionalities

Wien, 18-19 January 2010 28

ƒ Support of ISO 19128 (OGC WMS 1.3.0) as described in the Technical Guidance to implement INSPIRE View services

ƒ Selection of a View Service from a predefined list.

ƒ Support of multiple coordinate reference systems (WGS84, ETRS89, ETRS-LAEA, ETRS-LCC). View Client - Architecture

Wien, 18-19 January 2010 29

ƒ The presentation layer is designed to execute inside the user’s web browser ƒ The web layer deals with the communication with: • the user’s web browser • all services except the persistence service ƒ The data access layer deals with the communication with the persistence service View Service Client – Presentation layer

Wien, 18-19 January 2010 30

ƒ The presentation layer runs inside the user’s web browser ƒ Map layers are displayed using OpenLayers ƒ Map layers images are obtained through a direct connection between the browser and the View Service View Service Client – Application Tier

Wien, 18-19 January 2010 31

ƒ View Service capabilities is collected by the Application tier ƒ ISO 19128 (OGC WMS 1.3.0) documents are expected but the system also works with versions 1.1.0 and 1.1.1 ƒ capabilities documents are parsed by the Application tier to extract information which is sent to the Presentation tier. View Client –Application tier

Wien, 18-19 January 2010 32

ƒ The web layer requests capabilities documents to view services if not present in the cache or cache expired ƒ Cache is used also by the search layers functionality View Service Client – Tiers interaction

Wien, 18-19 January 2010 33

ƒ The presentation layer receives the capabilities elements relevant to INSPIRE as described in the Technical Guidance to implement INSPIRE View services View Client – capabilities

Wien, 18-19 January 2010 34

ƒ capabilities documents are cached so that View Services are not requested repeatedly the same document. ƒ capabilities documents are parsed and persisted in a format that optimizes free text search. INSPIRE View mapping OGC (1)

Wien, 18-19 January 2010 35

View Service Client – Service Metadata language

ƒ The View Service Client does not make any assumption on the language used in textual elements of the metadata as this information is currently not available. ƒ An INSPIRE extension/profile to ISO 19128:2005(E) is described in the “Technical Guidance to implement INSPIRE View services” but has not yet been implemented. View – Implementation

Wien, 18-19 January 2010 36

Presentation tier Application Tier Service Tier

ƒExt JS JavaScript Web layer Thesaurus: library ƒJ2EE Servlets GEMET RPC API ƒOpenLayers ƒGeoTools library View Services: ƒMapFish ƒGEMET Java library ISO 19128 (WMS 1.3.0), WMS 1.1.1 Data access layer Persistence Service ƒJava Persistence API ƒOracle RDBMS ƒEclipseLink as persistence engine implementation Registry for Services

Wien, 18-19 January 2010 37

ƒ Currently the list of services considered by the Discovery and the View is fixed. ƒ The creation of a registry for services would enable Member States to register Discovery Services. ƒ The View could then derive the list of view services from the Discovery Cache ƒ Open issue: the resource locators found in the service metadata are not necessarily valid service endpoints INSPIRE Metadata Validator - steps

Wien, 18-19 January 2010 38

1. well-formed 2. namespace correctness 3. ISO 19139 validation 4. ISO 19115 validation 5. INSPIRE compliancy (schematron) Metadata Validator – Web Service

Wien, 18-19 January 2010 39

ƒ Web Service ƒ End point http://www.inspire- geoportal.eu/INSPIREValidatorServ ice/resources/validation/inspire ƒ Supported method: POST ƒ Supported response formats: XML, HTML ƒ Request parameter: dataFile ƒ Implementation •Java •Jersey Metadata Validator – Web Client

Wien, 18-19 January 2010 40

ƒ Graphical User Interface • Upload Xml metadata file (1 record per file) • Start validating process • Result reporting Invalid elements and valid elements ƒ Implementation •Extjs •Java •Struts • Apache Commons FileUpload • Apache http client Validator – Implementation

Wien, 18-19 January 2010 41

Client Server

ƒJava 1.6 ƒJava 1.6 ƒExtjs 2.3.0 ƒJersey 1.0 ƒJava 1.6 ƒStruts 1.3.8 ƒApache Commons FileUpload 1.2.1 ƒApache http client 4.0.1 INSPIRE Geoportal technologies overview

Wien, 18-19 January 2010 42 deployment INSPIRE Geoportal Deployment Model

TCP/ IP Database Server View Service Geoportal Application Server Server TCP/ IP tags Discovery Discovery TCP/ IP Disk space = 28 GB TCP/ IP Service TCP/ IP Proxy OS = L inux Redhat Server Application Processor = 4 x Intel(R) Xeon(TM) CPU 3.20GHz Server RAM = 4 GB «deploy » «deploy » «deploy » Cat al og Service «deploy » «deploy » «deploy » «deploy » «deploy » «deploy » Or acle 10g Web Map Tomcat 5.5.23 HTTP Apache HTTP Col dFusion Service 1.3.0 Connec tor Server 2.2 Engine «deploy » deploy deploy deploy JRE deploy deploy deploy deploy CMS 1.6.0_12 Discover y Viewer Cache [Ig20] Cache

Geopor talCatalogClient.war INSPIREViewServiceClient.war InspireEditor.war geopor talSear chResults InspireGeopor tal20.jar {Discovery} {Viewer} {Md Editor } {Rss file server} (Discovery proxy) INSPIRE Geoportal technologies References

Wien, 18-19 January 2010 43

ƒ Overview Document ƒ http://java.sun.com/developer/technicalArticles/J2EE/new1_4/ ƒ http://commons.apache.org/fileupload/ ƒ http://hc.apache.org/httpcomponents-client/ ƒ http://struts.apache.org/1.x/ ƒ https://jersey.dev.java.net/ Wien, 18-19 January 2010 44

Web Site: http://www.inspire-geoportal.eu For more information contact [email protected]