Movement

https://github.com/UnionVMS/UVMS-MovementModule-APP


Module description/purpose

The main purpose of the Movement module is the storage and retrieval of position reports regarding movements for ships.

To save valuable calculation capacity for modules requesting position data some enriching and calculations is done before persisting the position reports. Enriching of areas, harbors, and countries etc. where the position is currently located is done by querying the spatial module and passing the longitude and latitude from the position report.

One important thing to understand about the movement module are movements, segments and tracks.

The movement module can also store searches that a user makes on positions for later retrieval so the user don´t have to fill all fields again when making a search.

The movement module has functionality for storing temporary ( manual ) positions. These positions can be created saved and retrieved for later processing. When the user wants to he or she can execute the movement. When the movement is executed it is sent to the exchange module who in turn processes the position report.

Nexus artifacts and dependencies

Main moduleDatabase module
SnapshotSnapshot
ReleaseRelease
Maven
<!-- Integration dependency -->
<dependency>
  <groupId>eu.europa.ec.fisheries.uvms.movement</groupId>
  <artifactId>movement-model</artifactId>
  <version>LATEST</version>
  <classifier>date</classifier>
</dependency>


Github App: https://github.com/UnionVMS/UVMS-MovementModule-APP
QA Summary App: https://sonarcloud.io/dashboard?id=eu.europa.ec.fisheries.uvms.movement%3Amovement
CI location App: https://jenkins.focus.fish/view/UVMS%20App/job/UVMS-Movement-APP/
Project Site reports App: https://jenkins.focus.fish/view/Site-Reports/job/UVMS-Movement-APP-Site-Reports/ 
Tattletale report: https://jenkins.focus.fish/view/Site-Reports/job/UVMS-Movement-APP-Site-Reports/ws/module/target/site/tattleTaleReport/index.html

Model :

Javadoc

Domain :


Javadoc

Service :


Javadoc

Message :

Javadoc

Rest :


Module dependencies

Name

Description

Documentation

Spatial

Retrieve Spatial enrichment data regarding areas for a movement. This is due to pre calculation of spatial data that is stored in the movement database

Spatial

Exchange

When sending a temporary movement that movement is sent to exchange who in turn processes the movement like a movement retrieved from any system o plugin

Exchange

Audit

Audit logs are sent to the audit module. Audit logs are created when actions that changes data in the database are made.

Audit

User

All requests to the REST api is authenticated via the user module. If the user module is undeployed the rest api for the movement module will not work

User


Calculations - Flow

All movements are calculated to be a part of a segment and a track. Calculations can then be made to control the reported speeds and courses to the actual speed and courses that are calculated. More of this can be read on the Javadoc.




JMS-Queue dependencies

Name

Jndi name example


Description

UVMSMovementEvent

java:/jms/queue/UVMSMovementEvent


Request queue to this module

UVMSMovement

java:/jms/queue/UVMSMovement


Response queue to this module

UVMSMovementModel

java:/jms/queue/UVMSMovementModel


Request queue to the Database module

UVMSAuditEvent

java:/jms/queue/UVMSAuditEvent


Request queue to the Audit module

UVMSSpatialEvent

java:/jms/queue/UVMSSpatialEvent


Request queue to the Spatial module

UVMSExchangeEvent

java:/jms/queue/UVMSExchangeEvent


Request queue to the Exchange module


Datasource dependencies

Name

Jndi name example

uvms_movement

java:jboss/datasources/uvms_movement


Liquibase scripts

https://github.com/UnionVMS/UVMS-MovementModule-APP/tree/dev/LIQUIBASE



Javadoc