Plugin - MDR

Description

MDR plugin acts as mediator between FLUX node and Exchange module.

  1. REQUEST    :  MDR plugin receives messages from Exchange and propagates them to FLUX Node.
  2. RESPONSE  :  MDR plugin receives messages from FLUX Node and propagates them to the Exchange module. It is Important to note that MDR plugin just propagates the message                                                                                                                                      to Exchange without knowing/extracting whats inside it.

Communication between FLUX node / Exchange and MDR Plugin will happen over JMS. Flux Plugin needs to communicate to remote queues residing on FLUX node.

To avoid configuring remote queue bridge into wildfly, another bridge application has been created. This application has to be deployed along with MDR Plugin plugin.

This application will act as bridge between FLUX Node and fishing MDR Plugin.

Basically the following happens during a whole cycle of request/response :

  1. MDR Plugin puts the requests in the "UVMSPluginBridge" queue which is being listened by the bridge application which picks the message and transports it to the next Flux Node (Ex. AHR:VMS Node);
  2. The bridge application listens to the remote FLUX bridge queue (queue residing in the FLUX Node) for responses and once it has it it transports it to "UVMSMdrPluginEvent" queue.
  3. Once the message is in the "UVMSMdrPluginEvent" queue MDR Plugin picks it up and transports (without reading it) the message to Exchange (always through JMS communication).

JMS Queues

Queue Name
Purpose
java:/jms/queue/UVMSMdrPluginEvent
FLUX messages will be received on this queue
java:/jms/queue/UVMSPluginBridge
FLUX response messages will be sent to FLUX node on this queue


Github Repository

https://github.com/UnionVMS/UVMS-MDR-PLUGIN

Focus Nexus Build

https://jenkins.focus.fish/job/UVMS-MDR-Plugin/

Configuration on FLUX Node for the Plugin

  • DF Value : Currently DF value configured on FLUX node for MDR Plugin is 'urn:un:unece:uncefact:fisheries:FLUX:MDM:EU:2'
  • JMS Queue to send messages : Mdr request messages will be forwarded to 'UVMSPluginBridge' queue.
  • JMS Queue to receive messages : Mdr response messages will be forwarded to 'UVMSMdrPluginEvent' queue.