Lesson 3 | Message-oriented middleware |
Objective | Describe the function of message-oriented middleware |
What is message-oriented middleware?
Message-oriented middleware, also known as MOM, provides rules-based
message routing capabilities. Typically, message-oriented products offer a basic set of commands with which to communicate over a
network. Application developers create application-specific functions or routines built on top of these basic functions. The
message-oriented
API[1] is provided for whatever network transports are actually
supported by the vendor, not just one single protocol. MOM is based on a peer-to-peer relationship between
message queues[2] that are managed by a common broker.
Message-brokering technology enables request-and-reply constructs
to be handled asynchronously, which guarantees the delivery and integrity of messages between applications and components.
Different types of Message-Oriented Middleware
Question: What are the different types of message-oriented middleware available in the year 2021?
There are several different types of message-oriented middleware (MOM) available in 2021, including:
- Message Queuing Middleware: This type of middleware is designed to support asynchronous messaging between applications. Messages are stored in a queue until they can be processed by the receiving application.
- Publish/Subscribe Middleware: This type of middleware supports a publish/subscribe model, where applications can publish messages to a topic, and other applications can subscribe to that topic to receive messages.
- Event-Driven Middleware: This type of middleware is designed to support real-time event processing, where applications can receive and process events as they occur.
- Message Broker Middleware: This type of middleware acts as an intermediary between applications, providing routing and transformation capabilities for messages.
- Integration Platform as a Service (iPaaS) Middleware: This type of middleware is delivered as a cloud-based service and provides integration capabilities for connecting applications and data across different cloud environments.
- In-Memory Data Grid Middleware: This type of middleware is designed to support high-speed data processing and analytics by using a distributed, in-memory data grid.
In summary, there are several different types of message-oriented middleware available in 2021, each with its own strengths and use cases. These include message queuing, publish/subscribe, event-driven, message broker, iPaaS, in-memory data grid, and complex event processing middleware.
MOM's publish-and-subscribe model
Newer forms of MOM use the publish-and-subscribe model for message and application brokering. Publish-and-subscribe allows
applications and components to communicate and exchange information with ease, chiefly because the components' physical
location and identity are transparent to one another. This lends many benefits to users of MOM, which are explained in the table
below.
How publish-and-subscribe works |
Advantage |
It allows applications and components to communicate and exchange information easily, as the components' physical
location and identity are transparent to one another.
|
The services to both parties can be fulfilled without their knowing the routing involved. |
Publishers (message stores) and subscribers (message users) may be deployed dynamically and in various numbers. |
Security is flexible, allowing each unique publish/subscribe pair to implement security that is appropriate to their unique relationship. |
In the next lesson, you will learn about RPCs.
[1]API: A set of routines, protocols, and tools for building software applications. Good APIs make it easier to develop a program by providing all needed building blocks.
[2]Message queue: Some messaging systems use a temporary storage facility, called a message queue, to store messages indefinitely. A message queuing system enables applications to communicate even though they may not be running at the same time.
[3]Message-brokering technology: Technology that acts as a message server being multiple systems/solutions requiring integration.