You are on page 1of 11

Basic info & MQ Overview

What does Platform mean?

A platform is a group of technologies that are used as a base upon which other applications,
processes or technologies are developed.In personal computing, a platform is the basic
hardware (computer) and software (operating system) on which software applications can be
run. Computers use specific Central Processing Units (CPUs) that are designed to run specific
machine language code. In order for the computer to run software applications, the
applications must be in that CPU’s binary-coded machine language. Thus, historically,
application programs written for one platform would not work on a different platform.
Operating system (OS)

An operating system (OS) is the program that, after being initially loaded into the computer by
a boot program, manages all the other programs in a computer. The other programs are called
applications or application programs. The application programs make use of the operating
system by making requests for services through a defined application program interface
(API). In addition, users can interact directly with the operating system through a user
interface such as a command line or a graphical user interface (GUI).

In a multitasking operating system where multiple programs can be running at the same time,
the operating system determines which applications should run in what order and how much
time should be allowed for each application before giving another application a turn.

 
• It manages the sharing of internal memory among multiple applications.
• It handles input and output to and from attached hardware devices, such as hard
disks, printers, and dial-up ports.

Distributed applications (distributed apps)

Distributed applications (distributed apps) are applications or software that


runs on multiple computers within a network at the same time and can be
stored on servers or with cloud computing. Unlike traditional applications that
run on a single system, distributed applications run on multiple systems
simultaneously for a single task or job.

• Cloud computing can be used instead of servers or hardware to process a


distributed application's data or programs. If a distributed application component
goes down, it can failover to another component to continue running.
 
• Distributed applications allow multiple users to access the apps at once. Many
developers, IT professionals or enterprises choose to store distributed apps in the
cloud because of cloud’s elasticity and scalability, as well as its ability to handle
large applications or workloads.
Benefits of IBM MQ
• Integrates virtually everything-

Helps integrate virtually anything, with support for more than 80 platform configurations,
including native z/OS support, with IBM and Business Partner offerings.
Integrates CICS, IMS™, DB2®, Microsoft® .NET and J2EE™ environments.

• Assured Delivery-
Assured delivery means WebSphere MQ can deliver information either synchronously or
asynchronously depending on the needs of the applications and Web services.

• Time-Independent Processing-
WebSphere MQ helps users send business information to other parts of their business or to
Business Partners or customers without waiting for it to arrive.
WebSphere MQ users feel safe knowing that as soon as recipients are able to receive it, the
information will be delivered.

• Enhanced Security

WebSphere MQ supports Secure Sockets Layer (SSL) and Transport Layer Security (TLS) for
authentication, message integrity checking, and encryption for of data sent across the Internet
network and the latest release adds support for the latest algorithms.

• Performance and Scalability-


Users of WebSphere MQ may choose to send persistent messages when the business requires
assurance and recoverability. Multicast and publish/subscribe messaging paradigms support high
performance message distribution.

• Clustering
What is MQSeries
• MQSeries is IBM’s award winning
middleware for commercial messaging and
queuing.
• The MQSeries products enable programs to
communicate with each other across a
network of unlike components, such as
processors, subsystems, operating systems
and communication protocols.
Messaging Terminology
• Message queuing:
Is a method of program-to-program
communication.

• Messaging:
means that programs communicate with
each other by sending data in messages and
not by calling each other directly.
Types of Messaging
• Asynchronous Messaging:
The sending program proceeds with its own
processing without waiting for a reply to its
message.
• Synchronous Messaging:
The sending program waits for a reply
before it resumes processing.
MQSeries Approach
• MQSeries uses indirect program to program
communication-
• Programmer need not specify name of the target
Application to which a message is sent.Instead,the
programmer specifies a target queue name where
the message will be put and each queue will be
associated with a particular program.
• The programmer sends messages to a queue that is
associated with an application; and the receiving
application may or may not be available at the
time of the request. MQSeries takes care of the
transport to the target application and even starts
it, if necessary.
MQ Messages
• A message consists of two parts:
1. Data that is sent from one program to another
2. The message descriptor or message header

• A message can be up to 4 MB or 100 MB long,


depending on the MQSeries version you
use.MQSeries Version 5 (for distributed
platforms) supports a maximum message
length of 100 MB.
Message Types
• Datagram: A message containing
information for which no response is
expected.
• Request: A message for which a reply is
requested.
• Reply: A reply to a request message.
• Report: A message that describes an event
such as the occurrence of an error or a
confirmation on arrival or delivery.
Persistent and Non-Persistent
Messages
• Persistent Messages-
Assured delivery of messages ,they are written to logs to survive
system restarts or failures.
• Non Persistent Messages-
Are lost with a Queue Manager restart.

• To verify the Persistence setting ,browse messages on the


queue,it’s the MQMD field in the message header that specifies
it.
MQMD->MQPER_PERSISTENT or MQPER_NOT_PERSISTENT

• The Queue attribute NPMCLASS(HIGH) can change the treatment


of non-persistent messages on a 'normal' queue manager restart.
The queue manager attempts to retain non-persistent messages
on this queue over a queue manager restart.
More on Messages
• We can control the order in which messages are processed by assigning a
priority to messages.

• You can also specify an expiration date. When this date is reached and an
MQGET is issued,then the message will be discarded. Expired messages can stay
in a queue for weeks, until a program attempts to read it.

• The return address is very important for request/reply messages. You have to
tell the server program where to send the reply message. Therefore, the client
provides the reply-to queue and reply-to queue manager in the message
header.

• The message also carries information about the sending application (program
name and path) and the platform it is running on.

• Each time a message is backed out, the backout counter is increased. An


application can check this counter and act on it, for example, send the message
to a different queue where the reason for the backout is analyzed by an
administrator.

You might also like