Git Product home page Git Product logo

uvms-exchangemodule-app's Introduction

ExchangeModule

Module description/purpose

The main purpose of the Exchange module is to provide other systems possibility to communicate with UVMS. What defines as another system, are such as when a third-part system needs to have access or communication with UVMS. A common scenario is when a mobile terminal which is installed in a vessel, need to report its position to UVMS. It can be many different types of mobile terminals from different brands. Therefore Exchange module has provided one interface for these third-part systems to integrate with. The third-part system must need to implement the interface Exchange has provided for exchanging information with the UVMS. These middle-wares are called for plugins in the UVMS project. There are different types of plugins and will be described later in this documentation.

The main function is making it possible to send a position of a vessel to the UVMS. What happens when a vessel sends its position; is a position report will send from the mobile terminal to a specific plugin and from the plugin the position report will transmit to Exchange module. There are occasions where a vessel can be out of range and not able to send a position report. Then all the positions will be saved to the hard driver in the mobile terminal and tries to resend it as soon as the mobile service is available. The communication can be reversed as well, from the UVMS to the mobile terminal. All communication with the third-part system will go through the Exchange module. In this project you can send polls to a mobile terminal via Exchange module. A poll is a command you send to the mobile terminal to execute a certain action. There are three types of polls; manual poll, configuration poll and sampling poll.

  • Manual poll is a command sends to the mobile terminal to request its latest position.
  • Configuration poll is a command send to mobile terminal to update the configuration of a mobile terminal.
  • Sampling poll is a command sends to the mobile terminal to request it to send a set of positions which have been saved in the mobile terminal.

Beside the plugin for communication between a vessel and the UVMS, there are other plugins to support other purposes as well, e.g. an email plugin for sending email to notify a system user when an alarm has been triggered.

Module dependencies

Name Description Repository
Audit Log all operations which have been executed in all UVMS-modules https://github.com/UnionVMS/UVMS-AuditModule
User Authentication operations and access management https://github.com/UnionVMS/UVMS-User
Asset Module to manage a aircraft, watercraft or vehicle https://github.com/UnionVMS/UVMS-AssetModule
Rules Module for validation of position report https://github.com/UnionVMS/UVMS-RulesModule

JMS Queue Dependencies

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

Name JNDI name example Description
UVMSExchangeEvent java:/jms/queue/UVMSExchangeEvent Request queue to Exchange service module
UVMSExchange java:/jms/queue/UVMSExchange Response queue to Exchange module
UVMSAssetEvent java:/jms/queue/UVMSAuditEvent Request queue to Audit service module
UVMSUserEvent java:/jms/queue/UVMSUserEvent Request queue to User service module
UVMSRulesEvent java:/jms/queue/UVMSRulesEvent Request queue to Rules service module
UVMSAuditEvent java:/jms/queue/UVMSAuditEvent Request queue to Audit service module

Datasources

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

Name JNDI name example
uvms_exchange java:jboss/datasources/uvms_exchange

Related Repositories

uvms-exchangemodule-app's People

Contributors

gregoryrinaldi avatar uvmsci avatar ankovi avatar mathiasbulte avatar uvms avatar adityapadhy avatar peerik avatar stainii avatar gkgeorgiev avatar nhily avatar lvvlaanderen avatar mistb0rn avatar sdtenis avatar ebrygg avatar hfpmartins avatar pethers avatar thomasfanto avatar ozsie avatar hav-petjoh avatar dependabot-preview[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.