Geographic-Information-System-Research / geonetwork-microservices

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GeoNetwork opensource services

GeoNetwork microservices is GeoNetwork ready to use in the cloud through dockerized microservices. It will work along with GeoNetwork 4 as it will only provide part of the application functionalities.

Services architecture

Overall architecture

Build & run

Requirements

Those components are created with the following requirements:

Building

To build the services:

mvn clean install

For a quicker build, you can skip checkstyle and tests with:

mvn clean install -Drelax

Running

TODO

Test the service using the token:

# Authenticate
gn_token=$( \
    curl '127.0.0.1:9988/authenticate' \
        -H 'Content-Type: application/json' \
        -X POST \
        -d '{"username":"momo","password":"password"}' \
        | jq -r '.token')

# Search using the token
gn_auth_header=$(echo "Authorization: Bearer $gn_token")
curl 127.0.0.1:9988/search -H "$gn_auth_header"

Development/debug

Developments are made on https://github.com/geonetwork/geonetwork-microservices

First start the configuration service, then the others.

Start services

Bugs

Roadmap

TODO

Contributing

To set license header use:

mvn license:format

Status

This is a feasibility exploration of moving from GeoNetwork monolithic application to a more scalable architecture. The main ideas are:

  • improve discoverability & search availability by creating a dedicated search service that can be replicated
  • better Search Engine Optimization by implementing an OGC API records service with a landing page builder mechanism
  • be in capacity to have background tasks like harvester and indexing that do not alter performances of the main web application.

About

License:GNU General Public License v2.0


Languages

Language:Java 88.2%Language:XSLT 11.8%