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
<!-- Integration dependency --> <dependency> <groupId>eu.europa.ec.fisheries.uvms.movement</groupId> <artifactId>movement-model</artifactId> <version>LATEST</version> <classifier>date</classifier> </dependency>
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 | Request queue to this module | ||
UVMSMovement | Response queue to this module | ||
UVMSMovementModel | Request queue to the Database module | ||
UVMSAuditEvent | Request queue to the Audit module | ||
UVMSSpatialEvent | Request queue to the Spatial module | ||
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-DB/tree/master/LIQUIBASE