digimq
Reactive icon

DigiMQ

Stable version 1.0.3 (Compatible with OutSystems 11)
Uploaded
 on 29 June 2023
 by 
DiginationMea Outsystems Team
5.0
 (7 ratings)
digimq

DigiMQ

Documentation
1.0.0


DigiMQ Documents

 

What is DigiMQ? 

DigiMQ is built to bring the Message Queue technology to our OutSystems application. A Message Queue, also called a message broker, is a queue of messages placed between two parts of the system in order for them to communicate with each other. Message Queue are often used in between microservices and for long running tasks

What is DigiMQ consist of? 

A Message is the data transported between the sender “producer” and the receiver “Consumer” An example of a message could be one part of the system telling another part of the system to start processing a task. This task could be an image scaling request or logs that should be stored, A message could also contain information about a completed task like when the order has been handled or it could just be a plain message with information An Event to visualize split the message queue into different topics, each topic has its own publishers and subscribers A Producer “Publisher or Sender” is the service or app that is responsible for sending messages to its related topics “Events” A Consumer “Subscriber or Receiver “is the service that subscribes for specified topics “Listen for specific Event to be triggered” to consume its message for complete the processing of it

 

Why should you use DigiMQ ?

 • This way of handling messages creates a system that is easy to maintain and scale.

 • It allows for different parts of the application to evolve independently, and be maintained by separate developer teams.

 • Exposing APIs to allow communication with any external system that was written in any different language. • Separates Producers and Consumers responsibilities, and that helps our system performance enhancement.

• provides sending messages in lazy-mood, meaning that one system puts a message onto a message queue and does not require an immediate response to continue processing

Email is probably the best example of asynchronous communication. When an email is sent the sender continues with other things without needing an immediate response from the receiver. This way of handling messages decouples the producer from the consumer

 

 

How DigiMQ works? 

the basic architecture of a message queue is simple, producers create messages and deliver them to the message queue, consumers connect to the queue and subscribe messages from the queue, messages placed onto the queue are stored until the consumer acknowledge them, meaning that the consumer tells the message broker that the message has been received or handled


Following the next steps to create a message queue with DigiMQ;

  • Adding the Event which we want to listen on it


  • Adding the Consumer





  • Assign the Consumer to the related Event.



  • Producer Service Actions
    a-CRUD operations for the Events

b- Sending Messages to subscribed Consumers

 


  • Consumer Service Actions 
  • a-Message processing from the Consumer side
  •  
  • Messages List Dashboard with the following features 

a- Filter Messages by Event or Consumer
b- Update Messages Status
               c- Reset or Change its Counter

Using DigiMQ APIs to allow dealing with external systems 

  • Send new Message to specific Event and Consume