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. 

 

Sandhata Forms Partnership With Kong

05 April 2023 – Sandhata, a top-ranked company for DevOps and digital transformation in the United Kingdom, is thrilled to announce its new partnership with Kong – a cloud-native API platform trusted by numerous innovative organizations across the globe. The aim of this collaboration is to offer simplified and user-friendly API management solutions and integration services for regional businesses.

This partnership is a huge step for Sandhata as it will enable them to expand their skills, meet new performance benchmarks, and explore new ways to grow their business. Besides, both Sandhata and Kong will jointly present solutions to customers, utilizing the industry-leading capabilities of Kong and the 18+ years of experience that Sandhata has in automation, system integration, and the API world.

Read More
API User Story - card, conversation Confirmation, context

API User Story

What is an API User Story?

 

Are you looking to get an idea of what an API User Story is about and understand if it would help to streamline the way you work in your business?

 

I have previously talked about  how an API platform can help grow your business.

 

API User Stories, created right at the start of the project life cycle, capture the requirements of an API platform. An API User Story captures a business requirement with defined acceptance criteria and expected outcomes.

 

Read More
The first 100 days of 2022. What have we been up to?

What have we been up to?

 

2022 is well underway! I thought now was a good time to take a look back over the first 100 days of 2022 and recap on what’s been going on at Sandhata.

 

New Technical Frontiers

In April 2022, we launched our new API Platform. This is a really exciting milestone for us as we are now able to support our clients better by providing them with API services or a fully hosted API Platform.

 

January saw us sign a service agreement to provide employee services for Oracle across the Oracle stack.

 

We were very proud to achieve the milestone of over 100 consultants working at a single client. This is testament to our team’s excellence across many different technologies, and our client’s trust in us.

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
API Management key components diagram with numbers 1-5 showing different components

API Management – what is it, and why do you need it?

 

Here at Sandhata we spend a large amount of our time doing client consultations, understanding their business and technical challenges and goals across a broad spectrum of business units and technologies.

API management is one such area which is becoming increasingly important to our customers, as they realise the key benefits of a comprehensive API management strategy and implementation.

 

Traditional API exposure within organisations

 

Many leading enterprises follow a layered architecture within their Integration Architecture landscape. Creating and exposing reusable APIs for clients has traditionally been the core responsibility of integration departments. This is one way of abstracting downstream systems and reducing any impact to clients in case of any downstream changes.

Read More