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 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 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 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 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 contains various utility classes shared accross the Arctic Sea.
All components are licensed under the Apache License 2.0.
... can be found on the release page.
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.
If you encounter any issues with the software or if you would like to see certain functionality added, let us know:
- Christian Autermann ([email protected])
- Carsten Hollmann ([email protected])
You can get support in the community mailing list and forums.
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.
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 |
---|---|
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) | |
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) | |
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) | |
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) | |
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) | |
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) |