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. 

 

Photo of Maitreya Gavkare, Agile consultant

We Are Sandhata – Meet Maitreya

 

Maitreya Gavkare, Agile consultant, shares a bit about his background, why he decided to move into the IT sector, and how it’s going so far!

 

Tell us about your role at Sandhata

I am working as an Agile consultant, primarily facilitating practical improvement initiatives and strategies for clients. To do this, I analyse and evaluate the organisation’s workflow and overall environment, discussing organisational shortcomings with clients, with the end goal of improving how they deliver customer value.

Read More
3 faces - happy, neutral and sad with checkboxes next to each one

Why is feedback fantastic?

So, you have a crack team delivering sterling work, who are highly skilled and hard working. But this team are not as productive as is hoped, and they frequently face production/service issues which take a lot of time to resolve. What gives?

Quite possibly, the team is delivering the wrong stuff (which does not improve the customer experience), or fire fighting issues blind because they don’t have the right information at the right time. Without regular feedback, projects can go off course, the wrong features can be built, and sometimes the wrong issue can be “fixed”!

 

Read More
person putting their finger against a technology wall with robot hand pointing back

Digital Disruption

 

Digital Transformation is a revolutionary change in any industry or business which transforms it or creates a new type of industry completely. Digital disruption refers to the impact of new digital technologies and business models on existing goods, services, systems, and structures.

 

Read More

Is your Change Management Process holding you back? We can help

Are your projects failing to deliver the value you expected?

Are you unable to release changes as fast as you would like?

Are your teams stuck behind heavyweight processes slowing them down?

Is change expensive due to clunky, inefficient change management?

 

Our experience with a wide variety of clients has shown us that a heavyweight, cumbersome change management is one of the biggest blockers to achieving your DevOps goals and delivering change at the speed you need.

Read More

Sandhata wins Best Overall Testing Project at TESTA 2018

The DevOps, Integration and IT transformation specialist, Sandhata is delighted to announce its joint entry with RBS won ‘Best Overall Testing Project – Finance’ at The European Software Testing Awards 2018.

Now in its sixth year, The European Software Testing Awards (TESTA) celebrates companies and individuals who have accomplished significant achievements in the software testing and quality assurance market.

Sandhata, in partnership with Royal Bank of Scotland, has been recognised by TESTA for its innovative testing project ‘Accelerating Mainframe Change’ delivered by the RBS engineering team and Sandhata.

Read More
DevOps In Regulated Industries

Does DevOps Work in Highly Regulated Industries?

DevOps is best suited to digital start-ups with minimal regulation and few restrictions, right?

Initially the DevOps movement stemmed from the agile, innovative, born-on-the-web companies who were able to change their way of working quickly. However, the principles and practices are completely transferrable to all organisation types. This includes those at the other end of the spectrum – where processes are very tightly controlled and regulation dictates a significant part of the business investment.

Read More
Drowning in technical debt

Are you drowning in technical debt?

Technical debt is the enemy of fast change – and of DevOps. It sometimes hides under the covers while new features are being delivered but, much like financial debt, it will never go away unless it is addressed directly.

At some point your technical debt will reach critical mass. This is when it starts to hinder every attempt to change, while forcing you to spend more time fire-fighting and managing the debt rather than delivering new features for the customer. This growing technical debt mountain will seriously affect your business ability.

Read More
Agile team

What makes the agile team tick

We’ve all heard the cliché: Agile teams are self-organised and self-managed.

However, if it’s that simple, why are organisations not consistently churning out self-managed teams delivering solutions in a smooth manner? In reality, there are plenty of dynamics involved in enabling agile teams, and there are multiple factors that play a big part in nurturing self-managed teams.

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
1 2