Building end to end RosettaNet application using logic app
Published Oct 26 2021 12:52 AM 2,676 Views

In this article I will talk about the RosettaNet integration in logic app by going through all actions offered by logic App.

please read the official documentation first and also you may refer the RosettaNet spec http://xml.coverpages.org/RNIF-Spec020000.pdf for more details.

 

 

Host ( Initiator) and Guest (Responder) Sequence Diagram 

RosettaNet Double Action.png

 

 

 

 

The artifacts in this article are divided into two groups based on the Role  :

For the Host (Initiator) side I have three logic apps running on Host integration account (the shared template is combining all of the logic app in one )

  • Initiator - Sender
  • Initiator - Receiver
    • Acknowledgment processor
    • Response processor  

For Guest (Responder) I have one logic app running on Guest integration account 

  • Responder 
    • Message receiver and Ack and response then wait for host to Ack

Host Initiator - Sender

The initiator flow is described below 

 

Mohammed_Barqawi_2-1634476213745.png

 

 

 

Mohammed_Barqawi_3-1634476256010.png

 

 

 

Steps description for the Initiator

 

1

Initialize varaiable that has the unique message ID(PIP instant identifier )

Here i am using the current time ticks function 

2

The encode action , I am picking the Host and the Gust based on the configured agreement

The message type is action (which mean that it is not a response to anything )

3

The URL of the partner http endpoint can be obtained from the agreement 

4

The Host will wait for the (Ack and response ) form the Sender to be processed 

4.1

process the responser ack

4.2

process the responser response and send ack to the responser 

5

the wait action will be complated 




Initiator Receiver: Message receiver and Ack and response

Mohammed_Barqawi_4-1634476299965.png

Mohammed_Barqawi_5-1634476358245.png

 

Mohammed_Barqawi_6-1634476400075.png

 

Steps description for the Responder 

 

1

Decode the incoming message that received from the Host 

Once the message received the message can be sent to backend system or store on Blob etc.

Mohammed_Barqawi_0-1652790132059.png

note that all the decode action in the responder side needs to be responder 

 

2

The receiver will generate an acknowledgment message 

3

Send the Ack message by getting the http endpoint from the agreement 

4

The receiver will encode a response message 

Note that the message type is Response, and the Role is Responder  

5

Send the Response message by getting the http endpoint from the agreement 

6

Send the response to the http request 

7

start waiting for acknowledgment for the Response

 

Using Azure resource explorer 

 

You may need to log to Azure resource explorer  Resource Explorer (azure.com) to track the Session 

It is extremely useful to see if the message get acked or response

As in the below picture and based on the lines 8 and 9 this message is not Acked and did not received any response  

Mohammed_Barqawi_7-1634476487178.png

 

 

To check the session information, you can go to the below URL 

 

https://resources.azure.com/subscriptions/YourSub/resourceGroups/RG/providers/Microsoft.Logic/integr...

 

How to use the solution 


Click on the button below to deploy the Logic app to your subscription  

 

Sample logic app templates in GitHub

Deploy to Azure: 

Mohammed_Barqawi_0-1650181669791.png

 

 

 

Co-Authors
Version history
Last update:
‎May 17 2022 05:25 AM
Updated by: