One of the key decisions to be made is whether integration should be real time (synchronous) or asynchronous. The following table analyzes both the messaging approaches and describes the scenarios when one should be selected over the other:
Type |
Pros |
Cons |
Good for |
Examples |
Synchronous |
Fail-safe communication Error/exception handling |
Tight coupling between systems Block sender until receiver is finished Network dependency must be available
|
Transaction processing across multiple systems |
Mobile app/handheld for PO receiving, SO picking, Inventory onhand, and so on. |
Asynchronous |
Decoupled systems Does not block sender Network need not be available Messages can be queued |
Reliability Error/exception handling
|
Publish and subscribe Request reply Conversation |
General ledger, sales order, purchase orders, and master data integrations. |
Asynchronous messaging architectures have proven to be the best strategy for an enterprise integration because they allow for a loosely-coupled solution that overcomes the limitations of a remote communication, such as latency and unreliability. The issues of reliability and exception handling in asynchronous messaging can be overcome by utilizing recurring integration acknowledgement, status check, and logging features in the Microsoft Dynamics 365 for Finance and Operations, Enterprise edition.