Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

 

 

 

 

 

 

 

 

 

 

 


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.

 

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.

Module dependencies

 

Name

Description

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

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

Audit

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

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

 

 

JMS-Queue dependencies

 

The jndi name example is taken from wildfly8.2 application server

 

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

 

The jndi name example is taken from wildfly8.2 application server

 

Name

Jndi name example

 

uvms_movement

java:jboss/datasources/uvms_movement

 

 

 

 

 

 

 

 

 

 

 

 

Tested compatabilities

 

Applicationserver

  • Wildfly 8.1
  • Wildfly 8.2

Database

  • Postgres 9.4.4 with PostGis extension

JMS provider

  • ActiveMq 5.0

 

Availabale database modules

 

All database modules can be found under the DB folder

 

Name

Purpose

Compabilities

movement-dbaccess

Middlehand between movement module and database

Postgres 9.4.4 with PostGis extension

 

Available proxy modules

 

All proxy modules can be found under the PROXY folder

 

Name

Purpose

N/A

N/A

 

Avaliable plugin modules

 

All plugin modules can be found under the PLUGIN folder

 

Name

Purpose

N/A

N/A

 

Liquibase – database compability

 

All Liquibase scripts can be found under the LIQUIBASE folder

 

Database

version

Postgres

9.4.4 with PostGis extension