CSW ebRIM in Geonetwork

Architecture and Implementation

Heikki Doeleman & Jose Garcia

European Space Agency

Dilbert Software Demo

Index: European Space Agency HMA program

  • European Space Agency HMA program
  • Geonetwork opensource
  • ebRIM & CSW profile
  • GeoNetwork ebRIM
  • GeoNetwork future architecture
  • Questions

Heterogeneous Mission Accessibility - Interoperability project

European Space Agency HMA program
  • standardise the ground segment interfaces of satellite missions for easier access to Earth Observation (EO) data
  • allow harmonised access to heterogeneous EO missions data from multiple providers, incl. national missions and ESA Sentinel missions
 

The HMA goals are linked to specific objectives (1/2):

European Space Agency HMA program
  • Manage and reduce technical risks in EO systems and operations
  • Manage and reduce cost of EO systems and operations
  • Establish baseline for development of European Space infrastructure
  • Allow interoperability within and across organisations

The HMA goals are linked to specific objectives (2/2):

European Space Agency HMA program
  • Increase competitiveness of European Space (and downstream) industry
  • Maintain leadership in EO systems and operations and avoid insurgence of undesired standards
  • Ensure that technology drivers for European guaranteed access to Space are lead by European requirements

Index: Geonetwork opensource

  • European Space Agency HMA program
  • Geonetwork opensource
  • ebRIM & CSW profile
  • GeoNetwork ebRIM
  • GeoNetwork future architecture
  • Questions

Geospatial metadata catalog (1/2)

Geonetwork opensource
  • Metadata geospatial catalogue software providing:
    • Advanced search discovery tool on local and distributed geospatial catalogues
    • Online editing of metadata
    • Harvesting from remote catalogs
    • Embedded geographic map viewer
  • Based on Open Standards for services and protocols:
    • Metadata: ISO191115, ISO19139, FGDC, Dublin Core
    • Searching/Harvesting/Display: OGC CSW (Catalog Services for the Web), Z39.50, WMS, WFS protocols

Geospatial metadata catalog (2/2)

Geonetwork opensource
  • Free and Open Source Software (FOSS)
    • Collaborative development of many contributors: FAO, UNOCHA, CSICGIAR, UNEP, ESA and many others.
    • Publicly accessible code repository at Sourceforge.net
  • Statistics
    • User mailing list: 500 users, plus 60 in the French mailing list, plus 75 in the Spanish user list.
    • Developers mailing list: 275 users.
    • Commit mailing list: 40 users.
    • Average monthly downloads in 2008 > 1,000.
    • Over 2,000 downloads in September 2009.

Geonetwork opensource screenshot

Geonetwork opensource
geonetwork user interface

Index: ebRIM & CSW profile

  • European Space Agency HMA program
  • Geonetwork opensource
  • ebRIM & CSW profile
  • GeoNetwork ebRIM
  • GeoNetwork future architecture
  • Questions

ebRIM: ebXML Registry Information

ebRIM & CSW profile
  • ebXML Registry Information Model Version 3.0
  • securely manage any content type and standardized metadata that describes it
  • provide services that enable sharing of content and metadata between organizational entities in a federated environment

Registry and Repository

ebRIM & CSW profile
  • ebXML Repository: store any type of electronic content (e.g. XML documents, text documents, images, sound and video)
  • RepositoryItem: instance of stored content
  • ebXML Registry: store standardized metadata to describe RepositoryItems
  • RegistryObject: instance of metadata

ebRIM Summary

ebRIM & CSW profile
  • ebRIM stores any type of content as RepositoryItems in a repository
  • ebRIM stores standardized metadata describing the content as RegistryObjects in a registry

Library metaphor

ebRIM & CSW profile
  • ebXML Registry: your local library
  • Repository: bookshelves in the library
  • Repository items: books on the bookshelves
  • Registry: card catalog
  • RegistryObject: card in the card catalog
bookshelve metaphor

RegistryObject subclass groups

ebRIM & CSW profile
  • Core Information Model
  • Association Information Model
  • Classification Information Model
  • Provenance Information Model
  • Service Information Model
ebrim class diagram

Customizing ebRIM: extension packages

ebRIM & CSW profile
  • additional types of extrinsic objects and external links
  • additional associations that link registry objects
  • additional classification schemes or classification nodes
  • additional predefined queries

Basic Extension Package (OGC 07-144r4)

ebRIM & CSW profile
  • Classification Schemes:
    • ISO 19119 services taxonomy
    • Geographical regions of the world
    • Digital Geospatial Information Working Group (DGIWG) Feature Data Dictionary concepts
  • Geographic datatypes defined in ISO 19107 spec
  • Associations: OperatesOn, DescribedBy, ...

CSW operations (1/2)

ebRIM & CSW profile
Why is CSW tied to HTTP ?? The CSW-ebRIM Registry Service profile is based on the HTTP protocol binding (the CSW part) documented in Clause 10 of the OGC Catalogue Services Specification (version 2.0.2, OGC 07-006r1).
  • GetCapabilities: to retrieve essential capabilities and non-computational characteristics of a service
  • DescribeRecord: to discover the information model(s) supported by the catalogue and to retrieve type definitions
  • GetRecords: to search the registry and retrieve all or some of the items in the result set
  • GetRecordById: to retrieve a representation of one or more registry objects by identifier

CSW operations (2/2)

ebRIM & CSW profile
  • GetDomain:to retrieve the value domain for a specified data element or request parameter
  • GetRepositoryItem: to retrieve the repository item corresponding to some extrinsic object
  • Harvest: enables a "pull" style of registration whereby a resource is retrieved from some remote location and inserted into the catalogue
  • Transaction: to directly insert, update, or delete catalogue content

CSW conformance levels

ebRIM & CSW profile
  • Level 0: generic behaviour common to all CSW-based services
  • Level 1: (required) search and retrieval capabilities
  • Level 2: (optional) update facilities to manage registry content

The conformance level for a given implementation can be inferred from the content of the service Capabilities document.

CSW views mapped to ebRIM

ebRIM & CSW profile
  • brief
  • summary
  • full

CIM queries

ebRIM & CSW profile

A GetRecords element must include a query statement

  • Query: OGC Filter
  • AdhocQuery: Stored Query
  • AdhocQuery: specified query, query language identified by attribute

CIM Spatial References

ebRIM & CSW profile
  • Location identifiers: place names, country subdivisions, ..
  • Geographic coordinates: GML 3.1, associated with coordinate reference system (CRS)

GetRepositoryItem

ebRIM & CSW profile
  • Specific operation for CSW-ebRIM profile
  • Retrieves the repository item (ISO document) corresponding to some extrinsic object

Index: GeoNetwork ebRIM

  • European Space Agency HMA program
  • Geonetwork opensource
  • ebRIM & CSW profile
  • GeoNetwork ebRIM
  • GeoNetwork future architecture
  • Questions

Geonetwork EbRIM architecture

GeoNetwork ebRIM
geonetwork ebrim architecture

Geonetwork EbRIM technologies

GeoNetwork ebRIM
  • Maven 2 to manage lifecycle
  • JUnit 4 for unit testing
  • Model driven development using Jibx for marshalling/unmarshalling objects
  • Axis 2 for web services
  • Hibernate and Hibernate Search (Lucene indexing) for persistence and searching

Model driven development: What it's? (1/3)

GeoNetwork ebRIM
  • An approach to software development in which the focus and primary artifacts of development are models (as opposed to programs) and model transformations

Model driven development: Jibx (2/3)

GeoNetwork ebRIM
  • Tool for binding XML data to Java objects
  • Decouples the domain model from XML representation

Model driven development: Jibx binding example (3/3)

GeoNetwork ebRIM
ebxml jibx binding

Web services (1/2)

GeoNetwork ebRIM
  • Axis 2 web services created from WSDL 1.1 service descriptions for the CSW-ebRIM catalogue application profile
  • Use of Jibx to unmarshall/marshall request and responses

Web services (2/2)

GeoNetwork ebRIM
geonetwork ebrim jibx

Persistence layer

GeoNetwork ebRIM
  • Hibernate
    • ORM (Object Relational Mapping) library
    • Simple query language (HQL) to query database (internally translated to SQL)
  • Apache Lucene
    • Indexing library to add searching capabilities to applications
  • Hibernate Search
    • Library that combines Hibernate and Apache Lucene
    • Indexes the domain model taking care of database/index synchronization
    • In searching brings back regular domain objects from free text lucene syntax queries

Limitations

GeoNetwork ebRIM
  • Compliance level 1
    Missing operations: GetDomain (optional)
  • Compliance level 2 (optional)
    Missing operations: Transaction, Harvest
  • Only spatial queries using a bounding box are supported

Index: GeoNetwork future architecture

  • European Space Agency HMA program
  • Geonetwork opensource
  • ebRIM & CSW profile
  • GeoNetwork ebRIM
  • GeoNetwork future architecture
  • Questions

Objectives

GeoNetwork future architecture
  • Easily deployable in a horizontally scaled configuration
  • Smaller release cycles for individual components
  • Use of an ESB for loose coupling between components and provide basic services:
    • Routing messages to intended components
    • Message validation
    • XSLT transformations
    • Authorization invocation

Proposed architecture

GeoNetwork future architecture

geonetwork new architecture

Index: Questions

  • European Space Agency HMA program
  • Geonetwork opensource
  • ebRIM & CSW profile
  • GeoNetwork ebRIM
  • GeoNetwork future architecture
  • Questions

Questions

thank you !