Message flow from Queue to Web Service IBM ace - ibm-mq

So i'm new to queues and flows and i've been practicing only on passing messages through a simple flow in IBM ACE, that sends from a queue to another queue (IBM MQ).
My next task will be to get a message from a Q and send it to a Web Server. I'm struggling to understand what sould i do. Is the output gonna be a SOAP component at the end of the flow ?

Related

Best practice for sending messages to SignalR client and .NET core WebApi

I am looking at developing a client - server application whereby the client will send a message to the server via our API performing an action. The web api (.NET) will hand off this message to a processing queue (Amazon queue at this stage) which will perform operations on it. I would then like to send a message back to the client to indicate that the message has been processed etc.
The only way I can think of to do this is to have the processing queue which is not part of the web api send a HttpPost or HttpPut to the same API my SignalR hub is defined which will send send the messages out to the various clients.
However performance is an issue of this application so I'm hesitant to do another Http call from the backend server to the API just to then get a message sent. Is there any other way I could look at getting these messages sent?

Send and receive message from amqp channel using IBM Integration bus

I'm newbie on IBM products, and I would like to know what would be the best approach to achieve the following integration solution:
A third party application that uses only AMQP to exchange messages, will put a message on an inbound queue (managed by IBM MQ)
IBM integration bus(version 10) flow will retrieve that message
Parse the message and invoke a rest api, get a response.
Parse the response, and send it back to the output queue so the third party can consume it.
My MQ colleague (amqp in new for him) created the corresponding "AMQP queue manager; channel and topic" using IBM MQ 9.0.4, and provided me of the connection info.
In my understanding I thought about creating a flow that will use "MQInput node" that will connect to the queue used by the third party to drop the message, and continue my processing.
Unfortunately I’m not able to connect to that AMQP channel, neither using: The "MQInput node" on IIB v10 Nor using "MQ explorer"
I strongly believe I miss something in that integration solution: either on the mq side or on the iib side, but not able to know what.
The challenge is to know, in order to achieve the above scenario, does the component IBM MQ and IBM Integration bus are enough, or I'll some other components?
Any documentation or tutorial that could describe/explain such scenario?

How to communicate from REST to message queue

how is that possible that a REST Microservice can communicate with another Microservice which is a hybrid, which means he can communicate with REST and with a Message Queue. For Example an API-Gateway. For the outside world, he is able to communicate with an App, Mobilephone via REST but the communication from the backend is via message queue.
Use case:
My homepage wants to get a Vehicle from the database. He asks the API-Gateway via a GET-Request. The API-Gateway takes the GET-request and publishes it into the message queue. The other Microservice takes the message and publishes the result. Then the API-gateway consumed the result and send it back as a response.
How can I implement it? Am I using Spring boot with Apache Kafka? Do I need to implement an asynchronous communication?
(Sorry its german)
There are some approaches to solve this situation.
You might create topics for each client request and wait for the reply on the other side, e.g, DriverService would read the request message, fetch all your data and publish it to your client request topic. As soon as you consume the response message, you destroy that topic.
BUT 'temporary' topics might take too long to be delete(if no configuration avoids that, such as delete.topic.enable property) in a request-response interaction, and you need to monitor possible topics overgrowth.
Websocket is another possible solution. Your client would start listening to a specific topic, previously agreed with your server, then in a specific timeout you would wait for the response, when your DriverService would publish to that specific socket channel.
Spring Boot offers you great starters for Kafka and Websockets. If you are expecting a large amount of transactions, I would go with a mixed strategy, using Kafka to help my backend scale and process all transactions, then would respond to client via Websocket.

Filtering at the client side in hornetq

I have a server which is posting messages into one queue (Resides on server side) & many receivers....
I want every receiver or client should access that queue & receive the messages based on their How can I achieve it using HornetQ JMS API
Just create the consumers using a filter...
However the best would be to use pub&sub, and each subscription using a different filter.

Web Sphere + IMessageConsumer + receiving messages

I'd like to receive messages from a web sphere queue. So I create a session, than I create a IMessageConsumer and I call one of the methods: Receive or ReceiveNoWait. The problem is that I can't receive any messages. Receive simply waits and ReceiveNoWait returns null. I want to read messages that have already been added to the queue. Any help ?
Have you started the connection? That's a classic reason for not getting messages in JMS
See
http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic=/com.ibm.mq.xms.doc/concepts/xms_cconn_stastop.html
#macpak: Are you sure you are connecting to right queue and/or u r connecting to correct queue manager? Are you sure that queue has some messages? IF you are using websphere MQ, using MQ explorer, you can view number of messages as well as number of open sessions.

Resources