Access IBM WebSphere MQ from Azure Service Fabric
When dealing with enterprise application integration scenarios, Messaging components play vital role in making cross-cloud and cross technology components talk to each other.
In this short blog post, we are going to explore the patterns and techniques used to integrate IBM MQ with Azure Service Fabric, we will see options to pull messages from IBM MQ into a stateless service running in Azure Service Fabric. The high-level flow is depicted below
Setting up your Development MQ
One of the best way to get started with IBM MQ for development purpose is using IBM’s official Docker container image. Instructions provided in the Docker hub page — https://hub.docker.com/r/ibmcom/mq/ . Be aware and read the IBM’s terms and usage licencing carefully before using the same.
For development purpose you can run the image with the default configuration. The following Docker command can be used to quickly set up a WebSphere MQ in your local environment
When you run the above command, you should have the MQ up and running.
MQ Management portal available in http://localhost:9443/ibmmq/console
Default credentials to access the IBM MQ portal
User Name — admin
Password — passw0rd
MQ is configured to listen port 1414. Screenshots from IBM MQ Portal with the default configuration shown below for your reference.
Accessing IBM MQ from Service Fabric — Stateless Service
There are two ways to access IBM MQ from .NET code
1)Using IBM.XMS libraries >>Link<<
2)Using IBM.WMQ libraries >>Link<<
Access IBM MQ from Azure Service Fabric — Sample Code — Using IBM.WMQ
The following sample code is to poll a IBM MQ server periodically and process if there is a message in the queue. Make sure to update service fabric configuration files with IBM MQ connection properties
Reference
- https://github.com/ibm-messaging/mq-azure/wiki/How-to-Send-message-from-an-on-premise-IBM-MQ-to-Azure-Service-Bus-queue
- https://developer.ibm.com/messaging/ibm-mq/
- https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-diagnostics-event-analysis-appinsights
- https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-diagnostics-event-aggregation-eventflow