20bce2689 VL2022230103905 Da

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 8

Internet and Web Programming

THEORY DIGITAL ASSIGNMENT

Name – Rajvansh Singh Chhabra


Registration Number – 20BCE2689
MQ Series

Introduction:

MQ is a family of message-oriented software products that was launched by IBM.


Generally called as MQ Series and joined the WebSphere products suite renamed
as WebSphere MQ.
It allows independent and potentially non-concurrent application on a distributed
system to securely communicated between each other. It is also available on a
large number of platforms (both IBM and non-IBM). Those include UNIX, IBM i,
HP Non-Stop, OpenVMS, Linux, and Microsoft Windows.

What is MQ Series?

 A middle-ware from IBM.


 Has run-time managers such as Queue managers and Queues.
 Queue is an object that holds messages of various formats – XML/text/byte.
 Queue Manager maintains and manages Queues and channels type objects.
 Various listener applications listen to these queues for grabbing the
messages, followed by processing these messages.
 JMS standard provided by JEE specification for messaging to be
asynchronous.
 Queues can be defined in JEE container and send messages on these
queues.
 Message Driven Bean can be configured for listening the JMS Queues.
 When a message is on the JMS Queue, the corresponding MDB’s
onMessage() method is invoked and the message processing can be done.

PAGE 1
What is a Message?

Strings of bytes which has a meaningful usage in applications. Messages are


utilized to transfer information across applications. The applications can run on
the same or on different platforms.

MQ messages contain:
 Application data: The application’s content and data is defined by the
application programs which uses it.
 Message Descriptor: The message is identified by the message descriptor
and contains additional control information, like the type of message and
priority assigned to the message.

Significance of MQ Series:

 Improves the flow of information across an enterprise.


 The message is placed and adjusted for dynamic business requirements.
 Reduces maintenance and integration costs.
 Acts as a bridge to various technologies.
 All the disruptions are processed from data loss.
 Allows ongoing maintenance efforts through universal service delivery.
 Security breaches are eliminated and insures the compliance through
message and transaction integrity.

Components:

PAGE 2
The components include:
 Message: Collections of binary or character data that have some meaning to
a participating program. Storage, routing, and delivery information is added
to the message before transmission and stripped from the message prior to
delivery to the receiving application.
 Queue: Objects that store messages in an application.
 Queue Manager: Provides logical container for the queue of the message.
Responsible for transferring data to the other queue managers via message
channels.

The programs integrated with IBM MQ use a consistent application


program interface across all platforms.

Features:

1) One time delivery: Prevents loss of messages and duplication.


2) Asynchronous messaging: Achieve non-time-dependent architecture.
Messages can be sent from one application to another regardless of whether
the applications are running at the same time. The queue manager will hold
the message until the receiver asks for it, If a message receiver application is
not running when sender sends a message. The ordering of these messages
is preserved. That is, in FIFO order of receiving sequence at queue(Local)
within priority of the message.
3) Data Transformation: Accomplished through use of message data exits.
Exits are compiled applications that run on the queue manager host, and
are executed by the IBM MQ Software at the time Data Transformation is
needed.
4) Message-driven architecture network: Allows receipt of messages to
“trigger” other applications to run.
5) Range of APIs: implements standard API (JMS), and has its own proprietary
API, known as the Message Queuing Interface (MQI), which preceded the
JMS several years in existence. Also supports Light API MQ.
6) Clustering: provides balancing of load, multiple MQ implementations share
the processing of messages.

PAGE 3
Communication:

Queue managers communicate the outside world either through:


 Bindings: A direct software connection. Generally faster, but limited to
programs running on the same physical host as the queue manager.
 A network or “client” connection: Applications using a client
connection can connect to a queue manager on any other host in the
network. The physical location to the queue manager is irrelevant, as
long as it is reachable over the network.

Communication between Queue managers:

This relies on a channel. Each queue manager uses one or more channels to send
and receiver data to other queue managers, A channel is uni-directional;
A second channel is required to return data. In a TCP/IP based network, a channel
sends or receives data on a specific port.

Channel types:

 Sending Channel: has a defined destination with a specific transmission


queue (the mechanism by which messages are queued awaiting
transmission on the channel).
 Receiving channel: receives data from any other queue manager with a
sending channel of the same name.

When a receiving channel receives a message, it is examined to see which queue


manager and queue it is destined for. In the event of a communications failure,
MQ can automatically re-establish a connection when the problem is resolved.

The listener is the application’s network interface to the queue manager. The
listener detects connections from incoming channels, and manages the
connections of the sending channels to the receiving channels. In a TCP/IP
network. The listener will “listen” for connections on a specific port.

PAGE 4
Transmitting data to a queue on another queue manager:

Types of Queues:

 Local Queue: Denotes the location where data is stored awaiting


processing.
 Remote Queue: represents a queue on another queue manager. They
define the destination queue, which is one element of the routing
mechanism for messages.
 Cluster Queue: represents a queue which is reachable via any queue
manager in its cluster.

A message is placed on a remote queue. The messages goes to a temporary storage


transmission queue associated with a channel. On placing a message on a remote
queue, the message is transmitted across the remote channel. If the transmission is
successful, the message is removed from the transmit queue. On receiving a
message, the receiving queue manager examines the message to determine
whether the message is for itself or if must go to another queue manager. If the
receiving queue manager, the required queue will be checked, and if it exists, the
message is placed on this queue. If not, the message is placed on the dead letter
queue. MQ has features to manage efficient transmission of data across a variety of
communication media. For example, messages can be batched together until a
queue reaches a particular depth.

Retrieving messages from queues:

Informat5ion can be retrieved from queues either by polling the queue to check for
available data at suitable intervals, or alternatively MQ can trigger an event,
allowing a client application to respond to the message delivery.

Availability:

PAGE 5
 Replicated Data Queue Manager: Synchronous replication between three
servers that all share a floating IP address.
 Queue Manager Clusters: Groups of two or more managers of queue on one
or more computers are defined to a cluster, providing automatic
interconnection, and allow queues to be shared among them for balancing
of load and redundancy.
 Queue sharing Groups: In a shared Queue environment, an application can
connect to any of the queue managers within the queue-sharing group.
Because all the queue managers in the queue-sharing group can access the
same set of shared queues, the application is independent of the availability
of particular queue manager.
 Multi-Insurance Queue Managers: Instances of the same queue manager
are configured on two or more computers with their queues and meta data
residing on shared storage. By starting multiple instances, one instance
becomes the active instance and the other instances become standbys. If
the active instance fails, a standby instance running on a different computer
automatically takes over.

Conclusion:

MQ can be used as a foundation for creating service-oriented architectures.


Several additional product options exist to help convert legacy problems into
functioning web services through the use of MQ. Larger, heterogenous enterprises
often appear as a federation of somewhat autonomous domains based on lines of
business, functional or governance areas. In such environments, some services may
be shared or reused only within a single domain, while others may be shared or
reused throughout the enterprise. This provides the means by which
communication exists between lines -of-business or otherwise separate business
domains.

History:

PAGE 6
Since 2000 till Date:

Versions Release Year


IBM MQ 9.3 LTS 2022
IBM MQ 9.2 LTS 2020
IBM MQ 9.1 LTS 2018
IBM MQ on IBM Cloud 2018
IBM MQ for HPE Nonstop 8.0 2017
IBM MQ 9.0 LTS 2016
IBM MQ 8.0 2014
WebSphere MQ 7.5 2012
WebSphere MQ 7.1 2011
WebSphere MQ 7.0 z/OS 2008 JUNE
WebSphere MQ 7.0 (Distributed, iSeries) 2008 MAY
WebSphere MQ 6.0 z/OS 2005 JUNE
WebSphere MQ 6.0 (Distributed, iSeries) 2005 MAY
WebSphere MQ 5.3 z/OS 2002 JUNE
WebSphere MQ 5.3 (Distributed, iSeries) 2002 JUNE, JULY, OCT, NOV
MQSeries 5.2 (Distributed) 2000 DEC
MQSeries for OS/390 V5.2 2000 NOV
MQSeries for AS/400 V5.1 2000 JULY-AUG

Thanking you,

With regards,
Rajvansh.

PAGE 7

You might also like