Skip to content

Latest commit

 

History

History
180 lines (145 loc) · 12.4 KB

README.md

File metadata and controls

180 lines (145 loc) · 12.4 KB

Arctic Sea Build Status Maven Central Join the chat at https://gitter.im/52North/arctic-sea Total alerts Language grade: Java

Description

52°North's backbone for OGC services, clients and middleware

52°North's Arctic Sea is a framework for developing OGC services, clients and middleware sharing concepts for encoding and decoding of different formats and encodings, workflows and configuration.

The Arctic Sea is stack of projects (all named after islands that are more or less in the arctic sea) that eases the development of OGC related services (such as the 52°North implementation of the OGC SOS and WPS), clients and middleware. It compromises the following modules.

Iceland Maven Central

Iceland is a service framework that enables the development of OGC RPC based services. It features bindings for KVP, POX, SOAP, as well as JSON-based bindings, and facilitates the rapid development of modular services that are easily configured using Faroe. Svalbard is used for request parsing and response generation.

Svalbard Maven Central

Svalbard consists of various decoders and encoders for OGC models like SensorML, O&M or SWE Common, service interfaces like SOS or WPS and a framework for developing these. This enables the creation of decoupled and reusable encoders and decoders for various encodings (like XML, JSON or NetCDF). The object models that are used can be found in 52°North Shetland and are shared accross 52°North components.

Faroe Maven Central

Faroe is a configuration API currently featuring a JSON and a SQLite backend. It enables the injection and automatic configuration of settings of various types in classes, including a Spring BeanPostprocessor.

Shetland Maven Central

Shetland compromises classes for OGC models like SensorML, O&M or SWE Common and various service requests and responses. These are shared accross different service implementations.

Jan Mayen Maven Central

Jan Mayen contains various utility classes shared accross the Arctic Sea.

License

All components are licensed under the Apache License 2.0.

Changelog

... can be found on the release page.

Quick Start

All projects are available on Maven Central.

<properties>
  <version.arctic-sea>5.0.1</version.arctic-sea>
</properties>
<dependencies>
  <dependency>
    <groupId>org.n52.arctic-sea</groupId>
    <artifactId>iceland</artifactId>
    <version>${version.arctic-sea}</version>
  </dependency>
  <dependency>
    <groupId>org.n52.arctic-sea</groupId>
    <artifactId>faroe</artifactId>
    <version>${version.arctic-sea}</version>
  </dependency>
  <dependency>
    <groupId>org.n52.arctic-sea</groupId>
    <artifactId>faroe-annotations</artifactId>
    <version>${version.arctic-sea}</version>
  </dependency>
  <dependency>
    <groupId>org.n52.arctic-sea</groupId>
    <artifactId>faroe-utils</artifactId>
    <version>${version.arctic-sea}</version>
  </dependency>
  <dependency>
    <groupId>org.n52.arctic-sea</groupId>
    <artifactId>faroe-json</artifactId>
    <version>${version.arctic-sea}</version>
  </dependency>
  <dependency>
    <groupId>org.n52.arctic-sea</groupId>
    <artifactId>svalbard</artifactId>
    <version>${version.arctic-sea}</version>
  </dependency>
  <dependency>
    <groupId>org.n52.arctic-sea</groupId>
    <artifactId>svalbard-xmlstream</artifactId>
    <version>${version.arctic-sea}</version>
  </dependency>
  <dependency>
    <groupId>org.n52.arctic-sea</groupId>
    <artifactId>svalbard-json</artifactId>
    <version>${version.arctic-sea}</version>
  </dependency>
  <dependency>
    <groupId>org.n52.arctic-sea</groupId>
    <artifactId>svalbard-json-common</artifactId>
    <version>${version.arctic-sea}</version>
  </dependency>
  <dependency>
    <groupId>org.n52.arctic-sea</groupId>
    <artifactId>svalbard-exi</artifactId>
    <version>${version.arctic-sea}</version>
  </dependency>
  <dependency>
    <groupId>org.n52.arctic-sea</groupId>
    <artifactId>svalbard-xmlbeans</artifactId>
    <version>${version.arctic-sea}</version>
  </dependency>
  <dependency>
    <groupId>org.n52.arctic-sea</groupId>
    <artifactId>svalbard-odata</artifactId>
    <version>${version.arctic-sea}</version>
  </dependency>
  <dependency>
    <groupId>org.n52.arctic-sea</groupId>
    <artifactId>shetland</artifactId>
    <version>${version.arctic-sea}</version>
  </dependency>
  <dependency>
    <groupId>org.n52.arctic-sea</groupId>
    <artifactId>janmayen</artifactId>
    <version>${version.arctic-sea}</version>
  </dependency>
</dependencies>

For convenience the 52°North Maven parent can be used:

<parent>
    <groupId>org.n52</groupId>
    <artifactId>parent</artifactId>
    <version>12</version>
</parent>

Development versions can be optained from the Sonatype OSS snapshot repository:

<repositories>
  <repository>
    <id>sonatype-nexus-snapshots</id>
    <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    <snapshots>
      <enabled>true</enabled>
    </snapshots>
  </repository>
</repositories>
<properties>
  <version.arctic-sea>5.1.0-SNAPSHOT</version.arctic-sea>
</properties>

For details on how to use the components, consult their respective documentation.

Contact

If you encounter any issues with the software or if you would like to see certain functionality added, let us know:

Support

You can get support in the community mailing list and forums.

Contribute

Are you interested in contributing to the 52°North Arctic Sea and you would like to pull your changes to the 52N repository to have them available to all?

In that case we need your official permission and for this purpose we have a so-called contributors license agreement (CLA) in place. With this agreement you grant us the rights to use and publish your code under an open source license.

A link to the contributors license agreement and further explanations are available here.

Credits

The development of the 52°North Faroe implementation was supported by several organizations and projects. Among other we would like to thank the following organizations and project

Project/Logo Description
NeXOS - Next generation, Cost-effective, Compact, Multifunctional Web Enabled Ocean Sensor Systems Empowering Marine, Maritime and Fisheries Management The development of this version of the 52°North Faroe was supported by the European FP7 research project NeXOS (co-funded by the European Commission under the grant agreement n°614102)
BMBFCOLABIS - Collaborative Early Warning Information Systems for Urban Infrastructures The development of this version 52°North Faroe was supported by the German Federal Ministry of Education and Research research project COLABIS (co-funded by the German Federal Ministry of Education and Research, programme Geotechnologien, under grant agreement no. 03G0852A)
SeaDataCloud The development of this version of the 52°North SOS was supported by the Horizon 2020 research project SeaDataCloud (co-funded by the European Commission under the grant agreement n°730960)
ODIP II - Ocean Data Interoperability Platform The development of this version of the 52°North Faroe was supported by the Horizon 2020 research project ODIP II (co-funded by the European Commission under the grant agreement n°654310)
ConnectinGEO - Coordinating an Observation Network of Networks EnCompassing saTellite and IN-situ to fill the Gaps in European Observations The development of this version of the 52°North Faroe was supported by the Horizon 2020 research project ConnectinGEO (co-funded by the European Commission under the grant agreement n°641538)
GeoViQua - QUAlity aware VIsualization for the Global Earth Observation System of Systems The development of this version 52°North Faroe was supported by the European FP7 research project GeoViQua (co-funded by the European Commission under the grant agreement n°265178)