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)
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:
Add Shared access policy (credentials):
Display Policy and copy Key:
How-To: Send to Queue
Configure Receiver Channel:
Create iFlow/Integrated Configuration (e.g. with Dummy Interfaces):
Test iFlow/ICO:
Monitoring (PI/PRO):
Monitor/check queue in Azure:
How-To: Integration via Topics
Create Topic:
Also create a Shared Access Policy (see above for queues).
How-To: Send to Topic (publish)
Configure Receiver Channel:
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
Configure Sender Channel:
Send message (again).
Monitoring (PI/PRO):