Knowledge Base

RabbitMQ/AMQP Adapter for Oracle Integration (OIC) Gen 2

Written by Peter Ha | May 14, 2021 4:00:00 AM
 Introduction

RabbitMQ is a very popular message-queueing software and is it way to decouple applications. In many OIC integrations use cases, the need to publish to RabbitMQ or consume data from RabbitMQ is a challenge. The Advantco adapter for RabbitMQ is a great solution that ease and simplify the integration requirements with RabbitMQ. In this article, we describe how to use the Advantco adapter for RabbitMQ to read messages from RabbitMQ and how to publish messages to RabbitMQ.

The RabbitMQ/AMQP adapter for OIC.

The RabbitMQ adapter is developed based on the Oracle Adapter SDK and will works for all Oracle Integration (OIC) Generation 2 instances. The adapter supports both RabbitMQ and any AMQP 1.0 compliant brokers like Azure Service Bus. The Oracle Adapter SDK is a framework for third party vendors to develop adapters platforms or applications for which Oracle does not have an adapter available. This framework handles both the design-time and runtime, providing a seamless integration of the third-party adapter with the OIC environment. From the OIC developer perspective, there is no differences between the Oracle provided adapters and the third-party adapters.


Installing the RabbitMQ/AMQP adapter.

If you have not done so, create a new Agent Group. Download and install the Connectivity Agent on your preferred server or VM. The Connectivity Agent can be download from your OIC instance. Follow the Oracle instructions to install the Agent and configure it to connect to the OIC instance.


Once the Agent is installed, deploy the RabbitMQ/AMQP adapter as per the Advantco installation guide. After deploying the adapter on the Connectivity Agent server, you will find the adapter listed in the OIC instance.


Creating a connection to RabbitMQ.

Create a new connection by selecting the Advantco AMQP adapter from your list of available adapters.

You can use the RabbitMQ/AMQP adapter for both Trigger and Invoke role.

To connect to RabbitMQ, select AMQP v0.9.1 as Connection Type. Use AMQP v1.0.0 to connect to AZURE Service Bus.

Specify the security details and assign to the connection to an Agent Group.

Use the Test button to validate the configuration.


Use the RabbitMQ/AMQP adapter in an integration.

We create an App Driven Orchestration integration to read message from the source queue OIC_PRODUCER and publish the same message to the target queue OIC_CONSUMER.

We use the RabbitMQ connection from above to read the messages from the source queue.

To publish the message to the target queue, we configure the connection as followed.

We provided a custom schema for both the trigger and invoke connections. We map the source to the target structures based on the custom schemas.

This is the integration flow, we read data from a source queue, perform a message mapping and publish the message to the target queue.

We can use the RabbitMQ attributes for tracking purposes.

Activate the integration and run the tests.

Monitor the RabbitMQ/AMQP adapter.

Monitor the integrations with the RabbitMQ/AMQP adapter using the OIC Monitoring features. You can see the tracking information and the message content.


Resources

https://advantco.com/products/oracle-cloud-adapters

https://cloudmarketplace.oracle.com/marketplace/en_US/listing/96648418

https://www.rabbitmq.com/

https://docs.oracle.com/cd/E83857_01/paas/integration-cloud-service/cccdg/cloud-adapter-sdk.html



Please reach out to our sales team at sales@advantco.com if you have any questions.