Considering Dependencies between integrations
In this microlearning, we will explore how to assess dependencies between integrations. When dealing with complex integration solutions, it's crucial to understand how various components interact with each other. For example, in an Order 2 Cash process, the failure of an order to arrive could impact the subsequent messages like confirmation, shipment, and invoice. We'll discuss how to identify these dependencies, evaluate their impact, and ensure that your integration solution remains robust and efficient.
Should you have any questions, please get in touch with academy@emagiz.com.
1. Prerequisites
- Advanced knowledge of the eMagiz platform
2. Key concepts
This microlearning centers around considering dependencies between integration.
- With dependencies, we mean: The matter in which the outcome of another integration dictates the working of one integration
When looking at dependencies, we ought to consider:
- Are there dependencies?
- Will the failure of integration block another?
3. Considering Dependencies between integrations
In this microlearning, we will learn what you should consider when looking at dependencies between integrations. An integration solution can consist of loads of different integrations, and several of those integrations can depend on each other. For example, when looking at an Order 2 Cash process in which an order travels from system A to B, and as a result, various messages are returned in sequence (i.e., conformation, shipment, invoice). Logic dictates that, for example, when the order never arrives, the other integrations will also not receive any data. Therefore it is relevant to consider these dependencies while performing a risk assessment.
When looking at dependencies, we ought to consider:
- Are there dependencies?
- Will the failure of integration block another?
At first, we need to consider whether there are dependencies or whether each integration can perform its job without being influenced by other integrations. In scenarios of no dependence, there is also no risk of dependencies creating a cascade of problems. However, in situations where there are dependencies, one action could impact other integrations. An excellent example in a messaging environment is asynchronous routing. All asynchronous data traffic is passing the asynchronous routing and therefore changes to the routing directly impact all asynchronous integrations. So considering how, if, and when to deploy an asynchronous routing is something worth thinking about.
The same applies to when you deploy other parts of the solution that could impact different integrations. Always ask yourself whether the quality of the answer will be upheld by the action you are about to perform.
Apart from the dependencies while deploying, there can also be dependencies while running the solution. These dependencies are primarily characterized in the sense that you need to receive something first before triggering another process (i.e., Order2Cash). Or for example, in the case of the API Gateway, you might first need to retrieve each invoice and do a subsequent call to retrieve all InvoiceLines. That has the consequence that when the Invoice integration is not working, the InvoiceLines integration will probably also not function as designed. So in a sense, the failure of one integration blocks the business process as it prevents API clients from retrieving the complete invoice in this example.
Being aware of these dependencies can significantly improve the choices you and the business make in terms of risk mitigation before developing your solutions via the eMagiz platform.
4. Key takeaways
- Understand how different integrations are interconnected and how one integration's outcome can affect others.
- Evaluate whether the failure of one integration might block or disrupt other integrations within the process.
- Implement strategies to manage and minimize risks related to integration dependencies, both during deployment and in ongoing operations.
- Ensure that integration solutions are designed to handle dependencies effectively, maintaining functionality and value even when issues arise.
5. Suggested Additional Readings
If you are interested in this topic and want more information, please check out these links: