Currently the team is using a "Proxy Adapter" to pull the message from the IBM MQ Queue and then it turns around to HTTP post it to the APIC API. The Proxy Adapter is either a Java MDB or an MPG deployed to a non APIC DataPower appliance. This works. But it seems crazy to me that this extra hop is required to allow IBM APIC to consume an IBM MQ message. How is the functionality not in APIC? As I mentioned earlier, IBM's premier API platform can't talk with IBM's premier messaging platform? Am I missing a basic understanding of APIs that maybe makes it anti-pattern to allow for polling a queue?
Original Message:
Sent: Wed February 15, 2023 05:18 AM
From: Panu Tamminen
Subject: IBM APIC to/from IBM MQ
Hi,
We've been using this user defined policy for years for writing messages to MQ queues "directly" from APIC/API:
https://github.com/charlottehutchinson/APIConnect-Policy-MQInvoke
Nowadays you have also the MQ provided native REST API option too (if made available in MQ side): https://developer.ibm.com/tutorials/mq-develop-mq-rest-api/
Anyhow, for polling messages from a queue, hmm, personally I would not implement the scheduling/polling part within APIC, but sure for exposing/publishing REST operations for listing and consuming messages from a queue, assuming that using normal Datapower MPGw for polling messages is ruled out for some reason (APIC vs. Datapower use licensing?).
Br, Panu
------------------------------
Panu Tamminen
Digia
Original Message:
Sent: Tue February 14, 2023 03:12 PM
From: Peter Potkay
Subject: IBM APIC to/from IBM MQ
Hi Gabriel,
I'm not following exactly. "so they could expose a REST endpoint from App Connect that listened to an MQ Queue "
The API on APIC would be built with a REST endpoint that would somehow regularly call the REST interface on the MQ Queue Manager to check if there were any messages in a particular IBM MQ queue on the IBM MQ Queue Manager?
Peter
------------------------------
Peter Potkay
Original Message:
Sent: Tue February 14, 2023 12:32 PM
From: Gabriel Marte Blanco
Subject: IBM APIC to/from IBM MQ
Hi Peter,
I raised your question to our team - short answer is No but here is what else they provided:
APIC does REST/SOAP/graphql etc... endpoints
what happens behind those endpoints is up to the customer, so they could expose a REST endpoint from App Connect that listened to an MQ Queue and then they could use that REST endpoint in APIC in order to add API management - access control, rate limiting, etc.
or they could look at some of the kafka based technologies in EEM in Cloud Pak for Integration which would allow a kafka queue based managed API.
------------------------------
Gabriel Marte Blanco
Austin TX
Original Message:
Sent: Tue February 14, 2023 11:00 AM
From: Peter Potkay
Subject: IBM APIC to/from IBM MQ
Does IBM APIC v10 allow for an API that listens on an IBM MQ Queue, similar to a Java MDB?
I'm the MQ guy, I am being told APIC can't do this and find it hard to believe.
I assume/hope IBM's premier API platform can talk with IBM's premier messaging platform. "Plain" DataPower does MQ integration very well, and APIC's APIs run on DataPower under the covers, so can't APIC poll an IBM MQ queue regularly?
Peter (APIC noob)
------------------------------
Peter Potkay
------------------------------