How to integrate with Microsoft Azure Service Bus using WHINT AMQP Adapter

This article describes the necessary steps you have to perform to connect with Microsoft Azure Service Bus using WHINT AMQP Adapter (On-Premise).

Azure Service Bus is a generic cloud-based messaging platform that enables you to send data asynchronously between decoupled systems – applications, services and devices – wherever they are.

For the message exchange component types are connected into processing chains within the service bus. The following components are actually supported by the WHINT AMQP Adapter.

  • Service Bus Namespace – A namespace provides a scoping container for addressing Service Bus resources within your application.
  • Service Bus Queue – A Service Bus queue is an entity in which messages are stored.
  • Service Bus Topics and Subscriptions – A topic can be visualized as a queue and when using multiple subscriptions, it becomes a richer messaging model, essentially a one-to-many communication tool.

(Source: https://azure.microsoft.com)


Publishing
Messages send to the SAP PI Adapter framework are published asynchronously to the message broker by an AMQP receiver communication channel.


Consuming
Asynchronously, a message consumer (receiving application) pulls the message from the queue and processes it. The producer does not have to wait for a reply from the consumer in order to continue to process and send further messages. Queues offer First In, First Out (FIFO) message delivery to one or more competing consumers. That is, messages are typically received and processed by the receivers in the order in which they were added to the queue. A sender communication channel is used to connect with the specified queue/topic and consume messages.


How-To: Create Service Bus

Create Namespace (New->Enterprise Integration->Service Bus)

AMQa1

AMQa2

The namespace is created.


How-To: Integration via Queues

The AMQP adapter does not support partitioned queues, so make sure that the option “Enable partitioning” is set to false when creating a queue on Azure Service Bus.

Create Queue:

AMQa3

Add Shared access policy (credentials):

AMQa4

AMQa5

Display Policy and copy Key:

AMQa6


How-To: Send to Queue

Configure Receiver Channel:

AMQa7

AMQa8

Create iFlow/Integrated Configuration (e.g. with Dummy Interfaces):

AMQa9

Test iFlow/ICO:

AMQa10

AMQa11

Monitoring (PI/PRO):

AMQa12

AMQa13

Monitor/check queue in Azure:

AMQa14


How-To: Integration via Topics

Create Topic:

AMQa15

Also create a Shared Access Policy (see above for queues).


How-To: Send to Topic (publish)

Configure Receiver Channel:

AMQa16

Create/Change iFlow/ICO and send message.

Monitor/check queue in Azure: Topics are using a Publish & Subscribe mechanism (Pub-Sub), so when there is no subscriber to a topic, the message is successfully transmitted, but not visible. So in order to see a successful transmission, we also consume the message topic by creating a AMQP Sender Channel that subscribes to the topic.


How-To: Receive Topic (consume a subscribed topic)

Azure: Create Subscription

AMQa17

AMQa18

Configure Sender Channel:

AMQa19

Send message (again).

Monitoring (PI/PRO):

AMQa20

AMQa21