Personal tools
You are here: Home Overview
Document Actions

Overview of the OOSTethys Architecture

by OOSTethys last modified 2008-03-21 13:01

Definition and interfaces of the different components of an ocean observing system, within OOSTethys.

Table of Contents


Introduction

This interoperability demonstration represents an effort to develop a Service Oriented Architecture (SOA) for ocean observing systems (OOS). We are defining components of an OOS, interactions among OOS and user interfaces.

top of page

Use cases

Components of the system should be able to perform requests based on a basic query dimension, which is defined as follows:

  • bounding box (lat, lon, depth)
  • time limits
  • parameter type
  • source type (platform type)

The latest UML sequence diagrams defining the interfaces are here:


top of page

Architecture among distributed ocean observing systems

OOS will interact each other via registries, to extract metadata about the services available in an OOS.

 
top of page

Ocean observing system (OOS) architecture

OOSTethys service architecture is composed of a Data Provider a Registry, a Semantic Mediator, a Data Aggregator and a Data Analyzer and Viewer. The supporting interfaces for each component of the system are explained below.


top of page

Data Provider

The Data Provider is responsible for collecting data from instruments (in situ sensors or samplers), manipulating the data (e.g., time series averaging, quality control processing), or running a numerical model (which itself produces “data”). The Data Provider is also responsible for storing his own data and registering the details of the services that it has made available. Services are defined in a service-contract, negotiated between cooperative entities with similar data and data sharing requirements. In the case of OOSTethys this is define by OGC Sensor Observations Services (SOS) specifications.

Interface Description Format Link Specification
getCapabilities Returns information of how to call the service, what sources (Platforms, sensors, detectors) it contains, and the observation details Rest XML OGC SOS
describeSensor Returns metadata about the sources of data Rest XML OGC SOS
getObservation Returns the data based on filters by time, location and phenomena Rest XML OGC SOS
register Registers its capabilities to the registry Rest XML UAH..
register ontology and mapping Registers its vocabulary and mappings to common vocabulary schemes SOAP/WSDL W3C Spec SPARQL-SOAP
gets terms properties and relations Query properties of terms from a vocabulary and relations (e.g. narrower or broader) from this term to others SOAP/WSDL W3C Spec SPARQL-SOAP

Semantic Mediator

A semantic mediator allows a vocabulary producer to register its vocabulary and has query capabilities to get the terms register and the relation between the terms. For example the relation "upward_sea_water_velocity" in the CF vocabulary could be found to be narrower than "Ocean Currents" from the GCMD vocabulary. Therefore, when a user searches for "Ocean Currents", data sets containing "upward_sea_water_velocity" will be retrieved. Also data providers registering their vocabulary and mappings to CF, will get additional mappings to other vocabularies.


Interface Description Format Link Specification
RegisterOntology Registers the ontology TBD TBD
RegisterMapping Registers the mapping to other terms TBD TBD
getModel Queries the repository given a SPARQL query. It receives an RDF model SOAP/WSDL W3C Spec SPARQL-SOAP

Registry

Registries manage information about Data Providers. A Registry allows a Data Provider to register, and facilitates other components of the architecture in performing queries of its contents. A registry might be a metadata catalogue service, a clearinghouse, a Universal Description, Discovery and Integration (UDDI) registry, a list of OPeNDAP Uniform Resource Locators (URLs) or a THREDDS catalogue. Ideally, a registry could engage in permanently discovering Data Providers, the same way as search engines crawl the World Wide Web (Web) registering the URLs and their content in their registry. A registry uses a mediator to help discover data. Currently we are using UAH developed registry services but CWS (Catalog Services for the Web) are being explored.


Interface
Description
Format
Link Specification
Register Provider
Registers the provider via SetCapabilities service, which calls the provider’s GetCapabilities service and DescribeSensor service and parses the response REST XML http://score.itsc.uah.edu/MMI/
Get Valids
Returns all valid values from all searchable fields in registry
REST XML http://score.itsc.uah.edu/MMI/documentation.html
Get URLs
Returns observation offerings and/or sensors from registry
REST XML
http://score.itsc.uah.edu/MMI/documentation.htm


Detailed description and usage of these services are described in this PDF document.


top of page

Data Aggregator

The Data Aggregator (sometimes called the Data Provider) will collect data and services from any Data Provider. The Data Aggregator is responsible for storing its own data and registering the details of the services that it has available. Services are defined in a service-contract, negotiated between cooperative entities with similar data and data sharing requirements. In the case of OOSTethys this is define by OGC Sensor Observations Services (SOS) specifications.

A Data Aggregator has the same description a Data Provider, in a sense, a special case of a Data Provider.

Interfaces are as described for the Data Provider in this page.

top of page

Data Archiver

The Archiver is a data storage site that acquires data from Data Providers and Data Aggregators. An Archiver may not hold all records from all Data Providers, if data are maintained in a distributed archival method. Data Providers may serve as Archivers. Archivers will establish a policy for data retention, and a manner to ensure data provanence. The Archiver will receive information on services from one or more Registries.

It is responsible for archiving the data received and registering the details and making available this data as a service of that data. Services are defined in a service-contract, negotiated between cooperative entities with similar data and data sharing requirements. In the case of OOSTethys this is define by OGC Sensor Observations Services (SOS) specifications. In this manner, the Archiver would not support real-time data requests, though the responses could be near real-time.

Interfaces are as described for the Data Provider in the this page.

top of page

Data Consumer, Data Analyzer and viewer

The Data Consumer is a tool, or a modeling scientist, who (or which) requests data with a getObservation request without, in this definition, making that data available via a getCapabilities service response. Examples, include GoogleMap, OpenIOOS visualization, and an individual (e.g., a grad student).

top of page



OOSTethys.org: hosted by GoMOOS | powered by Plone