Stabilizing System-to-System Interfaces with BC Online: The Innovative Solution via Azure

2 minute read

In the modern business world, communication between information systems plays a crucial role in ensuring consistent and reliable data flows. However, interfacing between different software can present challenges, such as message loss, errors, and difficulties in managing load regulation (or throttling*) in SaaS environments. Generally, business software is not equipped or intended to handle these challenges.

In this context, Microsoft Azure offers the possibility to build robust and flexible solutions. As an expert in Business Central and Azure, I have deployed a series of Azure tools to enhance the reliability of an API interface between a third-party software and Business Central online (or BC SaaS).

Overall Structure of the Solution

The solution’s architecture is based on a series of interconnected Azure tools that work together to strengthen the reliability and robustness of the system. These tools include:

Azure API Management Azure LogicApp Azure Service Bus Azure Application Insights
Azure API Management to manage and secure access to APIs Azure LogicApp for orchestrating and automating workflows Azure Service Bus for reliable message exchange between applications Azure Application Insights for real-time application performance monitoring

The seamless integration of these tools ensures smooth data flow and avoids message loss. It enables handling throttling, managing errors, and improving system monitoring capabilities through monitoring tools.

Deploying Azure API Management

Azure API Management is used to create a unified gateway for data traffic. This tool ensures centralized and secure management of all APIs, simplifying their administration. API Management also offers protection against denial-of-service (DDoS) attacks and access security via the Oauth protocol.

Using Logic App

Logic App is used for designing automated workflows without the need for coding. It manages and orchestrates workflows between third-party software and Business Central online, ensuring message delivery, error management, and resilience against throttling in SaaS environments.

The Role of Service Bus

Azure’s Service Bus plays a crucial role in this implementation, acting as a reliable messenger between applications. It guarantees message delivery even in the event of a temporary failure of one of the applications, thereby preventing data loss.

Service Bus uses a system of “queues” and “sessions” to organize messages. “Queues” provide one-way communication, while “sessions” allow for guaranteed message order and grouped message delivery, adding an extra layer of reliability.

Application Insights for Monitoring

Application Insights allows for real-time monitoring of the performance and usage of this set of application bricks. This tool facilitates quick problem detection through alerts and provides detailed information for troubleshooting.

This type of solution offers numerous advantages:

Increased Reliability: Thanks to the combined use of these Azure tools, the system ensures reliable message delivery without data loss, even in the event of an application failure.

Resilience to Throttling: With Logic App, the system effectively manages traffic spikes through message retry systems with incremental delays, circumventing throttling issues in SaaS environments.

Improved Tracking: With Application Insights, real-time monitoring of the system’s status, quick problem detection, and troubleshooting are facilitated.

In summary, this Azure-based architecture significantly enhances the reliability of a system-to-system interface between third-party software and Business Central online, resulting in a robust and reliable solution. This implementation perfectly illustrates how Microsoft Azure technology can be used to optimize the integration of information systems and improve business management.

*Throttling: This is a method of load regulation where the number of requests a user can send to a service in a certain time is limited. It’s an essential measure to ensure the stability and performance of systems by preventing overload.

Leave a comment