Hi,
I am new to the forums, and by no means a CRM specialist but rather an Enterprise Service Bus architect, with a troublesome problem I need to solve.
Customer already has a D365 CRM production tenant with an integration to their backend agreement management system (here system "A"). This is accomplished by a plugin that sends all updates on a specified entity to Azure Service Bus in an asynchronous manner. The ASB queue is read by a Logic Apps which then sends the message furthermore from the cloud towards the onpremise system A. Return values from A are retrieved by the Logic Apps code but as we have no session to send this info back to CRM it is descarded.
This introduces a business problem where an agreement related information (agreement party) is handled in CRM and the channel between A and CRM is not reliable. This means that A managing the agreements may have older information about the parties than CRM.
To overcome this, my thougth is to make the plugin action synchronous so that we await for the system A answer, and only then commit/save the update action on CRM entity. Or the other way around, in case of unsuccessful return code from A, we revert the update to the entity on CRM we just did and notify end user about the status of the transaction.
What I need is pretty closely explained here (well, the part 4: Two Way is what I wanted the most but can't find it):
[edit] found the part 4 just after posting this. reading.. ;)
From this article I fail to understand the role of "Creating a one-way relay". Where is this code supposed to be run on? On box level if I can replace this code with my LogicApps ASB reader/https-sender -code then I think I perhaps understand how I should make a synchronous flow over systems CRM and "A".
How would you make a synchronous link over to an external system?
Kind regards,
Timo