Generic Message Buffering

Generic Message Buffering | Camunda 7

Imagine multiple messages waiting in a message catch event.  

When a single throw event is triggered, the data is processed without any issues. However, if multiple message events are thrown simultaneously, only the first one is successfully processed, while the others fail.  

This is because the message catch event is busy handling the first message event. 

We recently spotted this issue with Camunda 7’s message catch event. 

Unlocking The Solution To This Challenge 

Our team of experts fabricated a groundbreaking “Generic Message Buffering” logic, with which we’ve revolutionised the way messages are processed asynchronously, effectively resolving any scenario you may encounter.   

Fig. 1.1 unveils the powerful list of message catch events eagerly awaiting the trigger. 

 

Fig1.1

 In Figure 2.1, we present the logic for Generic Message Buffering. By sending a POST request, we can activate the BPM process described below. Additionally, we have the ability to specify the retry count and retry delay as request parameters. Once the request is triggered, we conduct a basic validation to ensure all necessary information, such as message name, payload, process instance id, and business key, is present.  

If all the required data is available, we proceed to send the message to its destination within the “Message Send Task” depicted in Figure 2.1.  

If the message is successfully picked up and processed by the message catch event, we encounter no issues.  

Fig2.1

In a situation where the message catch event is already occupied processing another message, throwing our own message will result in failure. This is a common occurrence in real-time scenarios, and it is up to the developers to determine how the flow should be handled in such cases. 

In our specific case, the failed message will be caught by the boundary event. The error message will then be examined in detail within the “Read Error Message” process (Fig 2.1). 

In the event of an error, we can:  

  • Distinguish between errors that require retry logic.  
  • Determine if it is a business error or a technical error.  
  • Necessitate the involvement of technical experts, if it happens to be a business error 

When encountering a retriable error, we make an attempt to retry the operation. The number of retries and the delay between retries is determined by the input request. 

Potential Scenarios In Re-try

In the context of re-try logic, there are two potential scenarios to consider: 

  • In one of the re-try attempts, the message can be successfully delivered to the end system. 

Fig 3.1

  • Alternatively, if the maximum number of re-try attempts is reached without success, the message will be marked as an error. 

 If the maximum re-try attempts have been exceeded and the message still hasn’t been delivered successfully, it will require manual re-processing (see Fig 3.2). 

Fig 3.2

 

 

  Key Advantages  

  • Streamlined Error Handling: By effectively managing busy message catch events, we can significantly mitigate potential errors during data processing. 
  • Efficient Data Re-processing: Our approach allows for a substantial reduction in the amount of data that needs to undergo re-processing. 
  • Versatile Solution: Utilizing the same bpmn models, we can easily adapt and apply them to various similar use cases simply by modifying the message name. 

 Optimizing Efficiency 

 In order to optimize efficiency, it is vital that both the target BPM and the message buffering BPM are connected to a centralized database. This will allow for seamless integration and streamlined performance. Maintaining a unified database instance is key to achieving optimal results. 

 

Four people on stage collecting award for Most Innovative Project

Winner! Unicom Most Innovative Project 2023

 

We are proud to announce that Sandhata, in partnership with Vodafone, were chosen as the winner of “Most Innovative Project 2023”. The Unicom India DevOps Awards showcases outstanding achievement from organisations, personalities and solutions operating within the DevOps space.

At Sandhata most, if not all, of our customers are implementing DevOps ways of working. We support them to achieve the maximum business benefit from these initiatives, bringing our unique breadth of experience to overcome their most difficult challenges with innovative, game-changing solutions.

Read More
Unicom SE Asian DevOps Awards: runner up: sandhata & vodafone

SE Asian DevOps Awards 2022

 

Sandhata Technologies, in partnership with Vodafone, are very proud to have been announced as Runner Up at the South East Asian DevOps Awards 2022 for “DevOps Team of the Year”.

The UNICOM SE Asian DevOps Awards celebrate outstanding achievement from organisations, personalities and solutions operating within the DevOps space. The awards are judged by an independent panel of judges from some of the world’s biggest organisations.

Read More
Varun Arora Project Manager

We Are Sandhata – Meet Varun

Based in the UK, Varun Arora is a Project Manager at Sandhata. We caught up with Varun to find out more about his role, his journey so far, and his hopes for the future.

 

Tell us about your role at Sandhata

I joined Sandhata in 2021 as Project Manager, working initially for one of our telecoms clients.  I am really enjoying my role as it opens the gates for both technical and managerial exposure with stakeholder management.  The Sandhata teams have lots of technical experience and in API management, integration and DevOps and I am excited about getting exposure and learning in these areas to grow my career.

 

Read More
10 people at the awards ceremony for DTLA 2021 smiling and holding the award

Winner! Best Automation Project 2021

We are thrilled to announce that we have been crowned winners at the Digital Tech Leaders Awards 2021!

The Computing Digital Technology Leaders Awards exist to recognise the achievements of the individuals and companies who are really making it happen at the coal face of the digital technology stack: from website design and coding to UX and project management, from scrum masters and product managers, all the way up to the CDO.

Read More

Sandhata selected as finalists in two categories at the European Software Testing Awards 2020!

Sandhata Technologies, in partnership with Vodafone UK, are very proud to have been announced as finalists in 2 categories at the European Software Testing Awards 2020.

Now in its seventh year the Deloitte European Software Testing Awards celebrate companies and individuals who have accomplished significant achievements in the software testing and quality assurance market.

 

Sandhata, in partnership with Vodafone UK, has been nominated as finalists at the European Software Testing Awards 2020 in 2 categories:

  • Best Overall Testing Project – Communication
  • Testing Team of the Year

 

Read More
Test Automation

My test automation journey

When I first started my career at Sandhata, I was introduced to middleware test automation using a tool called IBM RIT (Rational Integration Tester). As a newbie, without any experience even of manual testing, I had to try to make sense of this new, unfamiliar process. Soon, however, I became fascinated by this particular tool and started to discover the real power of automation.

Read More
DevOps innovation tools

How we built a Live DevOps Innovation Platform

We recently announced the arrival of our Live DevOps Innovation Platform built in-house here at Sandhata. I wanted to share some of the tools we have used for it so far, as well as my personal experiences on this platform, as it has been very interesting and a big learning experience for me.

Read More
DevOps Innovation Platform

Introducing the new Live DevOps Innovation Platform

In 2016 we started creating a live DevOps innovation platform internally in Sandhata. We have been working hard, with the goal of creating a platform which incorporates DevOps principles and practices across the whole delivery lifecycle. We want this platform to demonstrate various aspects of the delivery lifecycle, and expose the inner workings – so that the platform can be used to help others get a headstart on their continuous delivery journey and also plan their DevOps strategy based on our working example.

Read More
1 2