View Only

Introducing the new IBM MQ Messaging Playground - A New Way of Teaching MQ

By Gabriel Marte Blanco posted Thu April 13, 2023 12:11 PM


Introducing the new IBM MQ Messaging Playground - A New Way of Teaching MQ

The Developer Experience team is proud to introduce the new IBM MQ Messaging Playground, a new zero-code engaging learning tool. In this blog, I will go over the MQ messaging playground and the three visual, hands-on experiences that you are able to use to learn more about IBM MQ through the IBM MQ Messaging Playground.

The IBM MQ Messaging Playground

The messaging playground allows developers to experience and explore common messaging patterns. In addition, the application design and deployment steps have been optimized for AWS to simplify the user tasks required to get up and running.

The application is structured around three components:

  • A front-end web application that enables users to interact with messaging objects

  • A back-end application that processes instructions from the front-end web app and performs messaging tasks

  • A queue manager that hosts the messaging objects and stores the messages that are exchanged

This messaging sandbox app enables you to establish your own instances of message producers and message consumers, engage with them, and examine how IBM MQ on AWS supports message exchanges between various endpoints.

The playground provides a visual, hands-on experience of three messaging patterns:

  • Point-to-point

  • Publish/subscribe

  • Request-response

Let’s dive into the three messaging patterns below:


Point-to-point messaging is the simplest form of messaging in IBM MQ. Using this messaging pattern, loosely coupled applications can communicate without the need to know anything about each other. The only component that they have in common is the queue that they use to exchange messages.

Using point-to-point communication, one or more producers can send new messages to a specific queue without knowing which application will consume them. In the same way, consumers can receive messages by connecting to the queue where the messages are stored, without the need to have any information about the sender.

Let’s see how the messaging playground application can be used to explore point-to-point messaging for the ticket reseller and management system sample application.

Publish/Subscribe Messaging

Publish/subscribe messaging is a widely adopted messaging pattern, and it is also implemented in IBM MQ. Unlike point-to-point messaging where messages are exchanged between a producer-consumer pair, in publish/subscribe messaging, a message that is published by a producer to a topic will be delivered to all subscribers of that topic.

A typical publish/subscribe messaging system likely has multiple publishers and subscribers interconnected over a network of different topics, often referred to as a topic tree. A topic tree can span the domain of more than one queue manager. In this messaging pattern, an application can be both a publisher and a subscriber to a range of topics.


Request-Response messaging

Request-response (sometimes referred to as request-reply) is a conversational messaging pattern where the application that sends a message requires a response from the receiving application. The request-response messaging pattern is often built on top of the point-to-point messaging pattern and can be a synchronous operation.

Typically, the sending application will wait for a set amount of time for the response message before entering a timeout routine. The request and response applications typically employ strategies to handle error conditions such as timeouts or temporary queue resources not being available. A requesting application might set a time-to-live value on the request message so that the message is deleted by the queue manager if it is not processed by the response application within a specified timeframe.

As you watch the videos and explore the new IBM MQ Messaging Playground tool, we have collected a list of resources that will be helpful as you embark on your learning journey: