A framework for developing OGC services, clients and middleware sharing concepts for encoding and decoding of different formats and encodings, workflows and configuration.
Arctic Sea is a stack of projects that eases the development of OGC related services such as the 52°North implementation of the OGC SOS and WPS, as well as clients and middleware. It compromises the following modules.
Iceland is a service framework that enables the development of OGC RPC (remote procedure call) based services. It features bindings for KVP, POX, SOAP, as well as JSON-based bindings. Iceland facilitates the rapid development of modular services that use Faroe for easy configuration and Svalbard for request parsing and response generation.
Svalbard consists of various decoders and encoders for OGC models (e.g. SensorML, O&M and SWE Common, service interfaces (like SOS and WPS) and a framework for developing these. This enables the creation of decoupled and reusable encoders and decoders for various encodings (e.g. XML, JSON or NetCDF). The object models used are found in 52°North Shetland and are shared across 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 consists of classes for OGC models like SensorML, O&M and SWE Common and various service requests and responses. These are shared across different service implementations.
Jan Mayen contains various utility classes shared throughout Arctic Sea.
Bjørnøya contains various classes for [Quartz] scheduling shared across Arctic Sea. These include configurations to define the execution of jobs.
- OGC Web Services
- OGC Web Processing Service (WPS)
- OGC Sensor Observation Service (SOS)
- OGC SWE Common
- OGC SensorML
- OGC Observation and Measurement (O&M)
- Spring
- Java
- XML
- The middleware component provides a robust layer to easily create web services compliant to OGC standards.
- The configuration API enables harmonized management of service properties.
- Centralized XML encoding and decoding reduces increases stability.
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>10.1.0</version.arctic-sea>
</properties>
<dependencies>
<dependency>
<groupId>org.n52.arctic-sea</groupId>
<artifactId>bjornoya</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-json</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>iceland</artifactId>
<version>${version.arctic-sea}</version>
</dependency>
<dependency>
<groupId>org.n52.arctic-sea</groupId>
<artifactId>iceland-statistics</artifactId>
<version>${version.arctic-sea}</version>
</dependency>
<dependency>
<groupId>org.n52.arctic-sea</groupId>
<artifactId>iceland-statistics-generator</artifactId>
<version>${version.arctic-sea}</version>
</dependency>
<dependency>
<groupId>org.n52.arctic-sea</groupId>
<artifactId>iceland-statistics-geolocation</artifactId>
<version>${version.arctic-sea}</version>
</dependency>
<dependency>
<groupId>org.n52.arctic-sea</groupId>
<artifactId>iceland-statistics-kibana</artifactId>
<version>${version.arctic-sea}</version>
</dependency>
<dependency>
<groupId>org.n52.arctic-sea</groupId>
<artifactId>janmayen</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>shetland-rdf</artifactId>
<version>${version.arctic-sea}</version>
</dependency>
<dependency>
<groupId>org.n52.arctic-sea</groupId>
<artifactId>shetland-arcgis</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-exi</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-odata</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-xmlstream</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>27</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>8.2.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 (c.autermann@52north.org)
You can get support in the community mailing list.
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 Arctic Sea 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 52°North Arctic Sea was supported by the Horizon 2020 research project Cos4Cloud (co-funded by the European Commission under the grant agreement no. 863463) | |
The development of this version 52°North Arctic Sea was supported by the German Federal Ministry of Education and Research research project TaMIS (co-funded by the German Federal Ministry of Education and Research, programme Geotechnologien, under grant agreement no. 03G0854) | |
The development of this version of 52°North Arctic Sea was supported by the Horizon 2020 research project JERICO-S3 (co-funded by the European Commission under the grant agreement no. 871153) | |
The development of this version of 52°North Arctic Sea was supported by the European FP7 research project NeXOS (co-funded by the European Commission under the grant agreement no. 614102) | |
The development of this version 52°North Arctic Sea 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 52°North Arctic Sea was supported by the Horizon 2020 research project SeaDataCloud (co-funded by the European Commission under the grant agreement no. 730960) | |
The development of this version of 52°North Arctic Sea was supported by the Horizon 2020 research project ODIP II (co-funded by the European Commission under the grant agreement no. 654310) | |
The development of this version of 52°North Arctic Sea was supported by the Horizon 2020 research project ConnectinGEO (co-funded by the European Commission under the grant agreement no. 641538) | |
The development of this version of 52°North Arctic Sea was supported by the European FP7 research project GeoViQua (co-funded by the European Commission under the grant agreement no. 265178) | |
The development of this version of 52°North Arctic Sea was supported by the German Federal Ministry of of Transport and Digital Infrastructure research project WaCoDis (co-funded by the German Federal Ministry of Transport and Digital Infrastructure, programme mFund) | |
The development of this version of 52°North Arctic Sea was supported by the German Federal Ministry of Education and Research research project MuDak-WRM (co-funded by the German Federal Ministry of Education and Research, programme fona) | |
The development of this version of the 52°North Arctic Sea was supported by the Horizon 2020 research project BRIDGES (co-funded by the European Commission under the grant agreement no. 635359) |