mqseries tech overview
TRANSCRIPT
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 1/129
MQSeries Technical Overview
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 2/129
Today’s Enterprise
• Most of the large organizations have heterogeneous
systems on multiple platforms from multi various vendors.
• ue to the advancements in networ!ing" the systems in an
organization are made to discuss with other systems that
reside outside the organization too.
• #n such a highly comple$ environment the data has to flow
%etween different platforms %oth inside and outside
organizations.
• Enterprise &pplication #ntegrator 'E&#( is a technology
that aims at ma!ing the applications tal! to each other in
such comple$ environments.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 3/129
Enterprise &pplication #ntegrator
• E&# is a middleware that ena%les communication %etweenapplications in different platforms and regions.
• Many enterprise application integration 'E&#( products are
%ased on the message )ueuing technology" as it provides themost appropriate communication technology.
• #t has an unmatched a%ility to support lin!s %etweenapplications that can )uic!ly and easily %e modified as the
demands of a %usiness change.
• *ith the help of MQ" applications can communicate witheach other even if they do not agree on the representation +
formatting of the information that they e$change.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 4/129
Enterprise &pplication #ntegrator
• MQ includes message %ro!ering concepts which help inintercepting the message flowing %etween applications and
help in reformatting.
• ,oth #,M and Microsoft are capitalizing on the growingneed for E&#s and have come out with MQ Series and
MSMQ respectively.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 5/129
Traditional &pproaches
• -emote rocedure /all
• istri%uted Transaction rocessing
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 6/129
-/
• Remote Procedure Call (RPC), the clients canaccess the data in a remote machine giving allthe parameters.
• But, there is no guarantee that the serverwould send the results as the errors in thenetwork are not accountable.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 7/129
T
• T followed a method of wrapping the flow of )ueriesand results %etween the client and server as single unit ofwor!.
• The popular data%ases li!e #,M’s ,0" MS SQ1" Oracle"etc. follow T. They will ta!e care of the networ!failures.
• ,ut the comple$ities involved in developing suchapplications are tremendous and they are not supported onwide range of hardware.
• 2or e$ample" #,M’s /#/S is availa%le largely onMainframes" Tu$edo is availa%le only on 3ni$ systems"and MTS is availa%le only on *indows. Though /#/S isavaila%le on 3ni$" *indows" and OS+0" it is popular onlyon mainframes.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 8/129
E&# 4 &dvantage
• The a%ove systems have their own disadvantages and
advantages.
• ,ut the main feature is they are all synchronous" meaning
the server indefinitely waits for a client’s re)uest. ,oth
client and server should %e e$ecuting together.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 9/129
E&# 4 &dvantage
/an applications can communicate asynchronously5
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 10/129
E&# 4 &dvantage
MQSeries is the answer!
• -ather than communicating directly with the application"they store the re)uests in a )ueue as messages.
• They are then forwarded once the receiving application is
ready to process the data.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 11/129
MQSeries 4 Middleware
• MQSeries is a message )ueuing system that providesassured" asynchronous" once4only delivery of data across a
%road range of hardware and software platforms.
• MQSeries ena%les applications + programs to communicatewith each other across a networ! of dissimilar platformsusing an application program interface called MessageQueue #nterface 'MQ#(.
• Message )ueuing is a method of program4to4programcommunication. rograms within an applicationcommunicate %y writing and retrieving application4specificdata 'messages( to+from )ueues" without having a private"dedicated" logical connection to lin! them.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 12/129
Message Queuing
•MQSeries is a middleware that understands messagequeuing applications. The fundamental concepts in
MQSeries are Messages" Queues and Queue Managers.
• Messaging means that programs communicate with each
other %y sending data in messages and not %y calling each
other directly.
• Queuing means that programs send their messages to a
)ueue from which they are forwarded to the otherapplication. rograms communicating through )ueues need
not %e e$ecuted concurrently.
• Queue managers are the owners of the )ueues.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 13/129
,enefits of Message Queuing
• &pplications can %e designed using small programs that can %e shared %etween many applications.
• 6ew applications can %e %uilt %y reusing these %uilding %loc!s.
• &pplications written to use message )ueuing techni)ues are not
affected %y changes in the way )ueue managers wor!.
• The )ueue manager deals with all aspects of communication without
the need to !now a%out any protocols.
• rograms that receive messages need not %e running at the time
messages are sent to them. The messages are retained on )ueues.
• esigners can reduce the cost of their applications %ecause
development is faster" fewer developers are needed.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 14/129
*hat is MQSeries 5
• MQ Series is an Enterprise &pplication #ntegrator.
• #t is used in a client+server or distri%uted environment.
• #t is a middleware that ena%les communication %etweendifferent applications residing in different platforms.
• #t provides &# called Message Queue #nterface 'MQ#(
that is consistent across all platforms supported %yMQSeries.
• &pplications use MQ# to get messages and put messagesinto the )ueue
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 15/129
/haracteristics of MQSeries
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 16/129
rogram 7 to 7 rogram
A
B
Queue
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 17/129
rogram 7 to 7 rogram
• & program can send messages to another program residingin another computer through MQSeries.
• MQSeries will %e installed in the computers whose
applications have to communicate with each other.
• 2or e$ample" computer & is an *indows 6T and computer
, is a 3ni$ system" then computer & shall have MQSeries
for *indows 6T installed" and the computer , shall have
MQSeries for 3ni$ installed.
• The applications can communicate with each other with
the help of their respective MQSeries. The )ueue
managers act as the middle4man sending and receiving
messages %etween applications.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 18/129
&synchronous Model
A
B
Queue 1
C
Queue 2
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 19/129
&synchronous Model
• There are two types of communication %etween towapplication8
9. Synchronous type in which the program sends a message
to another program and waits for the reply.0. &synchronous type" in which an application sends amessage to another without waiting for the reply.
• MQSeries adopts the asynchronous model and ena%lescommunication %etween any num%er of applications.
• rogram & can continue to put messages on Queue 9 and isnot %loc!ed %y having to wait for a reply to each message.#t can continue to put messages on )ueue 9 even if rogram
, fails.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 20/129
Time #ndependent
A
B
Queue
A
B
Queue
A
B
Queue
6ot availa%le
6ot availa%le
A
B
Queue
6ot availa%le
6ot availa%le
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 21/129
Time #ndependent
• #t is time independent in such a way that there is no re)uirement fortwo programs to communicate with each other at the same time.
• Even if the applications are not active" the messages are stored safely
in the )ueue" and once the program %ecomes active the messages are
supplied to it.
• &s depicted in the a%ove diagram" rogram & can put messages on the)ueue and rogram , will get them whenever it is ready.
• #f rogram , is %usy or is not active" the messages get stored in the
)ueue until program , is ready to get them. rogram & need not %e
active till the messages are delivered to the )ueue.
• Even if %oth the programs are not active" the messages pertaining to %oth will wait in the )ueue.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 22/129
&rchitecture of MQSeries
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 23/129
&rchitecture of MQSeries
MQSeries on
Windows NT
MQSeries on
Mainframe
&pplication 9
&pplication 0
Queue Manager 9
MQ#
MQ#
M
/
&
M
/
&
M
/
&
M
/
&
TCP/IP, SNA
&pplication :
&pplication ;
Queue Manager 0
MQ#
MQ#
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 24/129
<ow oes MQSeries *or!5
• MQSeries has three ma=or components8> Queue Managers
> Message Queue #nterface 'MQ#(
> MQSeries /hannel &gents + &dapters 'M/&(
• The Queue Manager collects the messages from an
application" with the help of the routines written using the
MQ#" and puts them in a )ueue as messages.
• These messages in turn are sent to the other Queue
managers through the Message /hannel &dapters.
• The M/&s communicate using message channel protocol
'M/(" which is %uilt over T/+#" S6& 13?.0" S@ and
6et,#OS.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 25/129
<ow oes MQSeries *or!5
• The M/& is a component of MQSeries" which is used in case ofremote )ueuing.
• The M/&’s always wor! in pairs and communicate using a
communications protocol such as S6& 13?.0 and T/+#. The
com%ination of a pair of M/&’s and the communication connection
%etween them is called a message channel.• The Queue Manager on the other end receives the messages and sends
them to the appropriate applications.
• #n simple sentence" MQSeries ena%les applications in different
platforms to put messages in a )ueue and retrieve messages from a
)ueue with the help of the MQ#. The interfaces can %e written in sucha way that the messages can trigger an application on the other
machine and perform some functions.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 26/129
MQSeries O%=ects
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 27/129
MQSeries O%=ects
• The )ueue manager component of MQSeries managescertain resources called MQSeries o%=ects.
• #t also identifies itself as another o%=ect. Those MQSeries
o%=ects are8
7 Queue managers
7 Queues
7 6amelists 'Only on OS+:AB Cersion D.9 products(
7 rocess definitions
7 /hannels
7 istri%ution 1ists
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 28/129
MQSeries O%=ects
Queue Manager
Application
Queues Channels
Name Lists Process Definitions
Distribution List
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 29/129
Messages
• MQSeries message consists of two parts8
9. ata that is sent from one program to another" and
0. The message descriptor or message header.
Message I Contro Info Name A""ount Name Amount #e$uested
Message escriptor &pplication ata
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 30/129
Message escriptor
Message es"ri%tor
&MQM'
etais
Cersion #t is used to identify the MQSeries version and
the platform.
Message # + /orrelation#
Message # + /orrelation # are used to identifya specific re)uest or reply message. #t helps to
instruct the )ueue manager to loo! for a specific
message in the )ueue.
ersistent + 6on4
persistent
There are two types of messages" persistent and
non4persistent. ersistent message survives a
system failure. elivery of persistent message is
assured. 6on4persistent messages cannot survive
a system failure.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 31/129
Message escriptor
riority Messages can %e prioritized using this
descriptor.
ate and Time This field specifies the date and time of the
message while put in the )ueue.
1ifetime of a message
'E$piry(
E$piration date for a message can %e fi$ed
using this descriptor. ,ut they do not e$pireautomatically" an application should get this
descriptor and delete it.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 32/129
Message escriptor
-eturn address 2or the re)uest + reply type of messages thereturn address is very important. This
descriptor is very much used when the
messages are sent to a client of a )ueue
manager.
2ormat 3sing this descriptor" an application can
specify a value that the receiving application
to decide whether a data conversion can %e
done or not.
Sender application andtype
This carries the information a%out thesending application" name" path the platform
it is running.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 33/129
Message escriptor
-eport options +
2eed%ac!
'/O&"/O(
This is used to confirm the arrival or
delivery of the messages.
,ac!out /ounter This counter gets incremented whenever
there is a %ac!out of the message. &nadministrator can chec! on this and
analyze the reason for the %ac!out.
Segmenting +
grouping information
This is used to store information on the
group to which the message %elongs to or
the segment details of a message.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 34/129
Selecting Messages from Queue
• Every message identifier has a uni)ue message id which iseither supplied %y the program or given %y the )ueue
manager at the time of creating the message.
• The /orrel#d is yet another identifier used to match a replymessage with the Msg#d of the original message.
• The applications can retrieve selected messages from a
)ueue %y matching the parameter called correlationidentifier CorrelId.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 35/129
Selecting Messages from Queue
Queue
(et the message that has MsgId)2 and CorreId )
*
(et the message that has MsgId)2 and CorreId )+
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 36/129
-etrieving Messages on riority
• The messages from the )ueue can %e retrieved %ased onthe property" Message delivery se)uence set for that )ueue.
,y default it will %e first in first out '2#2O( order.
• ,ut programs can set priority to a message %y assigning avalue %etween B 'lowest( and A 'highest( in the message
descriptor Priority.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 37/129
-etrieving Messages on riority
Queue
#n the a%ove4mentioned diagram" the message with the priority?
will %e retrieved first" ne$t will %e message with priority0" ne$t
will %e message with priority9 and finally message with
priorityB.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 38/129
Queue Manager
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 39/129
Queue Manager
• Queue manager is an important component of MQSeriesthat owns and manages )ueues and other o%=ects.
• & )ueue manager defines the properties + attri%utes of
different o%=ects.
• Message Queue #nterface 'MQ#( calls can %e used to
control these o%=ects when used in an application.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 40/129
2unctions of Queue Manager
• #t manages )ueues and messages to and from applications.• #t provides MQ# for communicating with different
applications.
• #t transfers messages to other )ueue managers via
channels.• #t uses the e$isting networ! facility to transfer messages.
• #t helps to segment + group and assem%le + disassem%le the
messages.
• #t can %roadcast messages using dynamic distri%ution lists.
• #t provides additional functions 7 to create and delete the
)ueues and alter the properties of the e$isting )ueues.
• #t provides F3# on *in 6T platform.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 41/129
&ttri%utes of Queue Manager
• Each )ueue manager is associated with a set of attri%utes + properties that define its characteristics.
• Some of the attri%utes of a )ueue manager are fi$ed whenit is created. They can also %e changed using theMQSeries commands.
• The fi$ed attri%utes include8 7 The name of the )ueue manager
7 The platform on which the )ueue manager runs 'for e$ample"&#@(
7 The level of system control commands that the )ueue managersupports
7 The ma$imum priority that can %e assigned to messages processed %y the )ueue manager
7 The name of the )ueue to which programs can send MQSeriescommands.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 42/129
Queue Managers and /lients
• MQSeries supports client4server configurations forMQSeries applications.
• &n MQSeries client is a component of the MQSeries that
is installed on a machine to accept MQSeries calls fromapplications in one machine and send them to an MQSeries
manager running on the other machine.
• Typically" the client and server reside on differentmachines" %ut they can also e$ist on the same machine.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 43/129
Queue Managers and /lients
• &n MQSeries server is a )ueue manager that provides)ueuing services to one or more clients. &ll MQSeries
o%=ects 'for e$ample" )ueues( e$ist only on the )ueue
manager that is" on the MQSeries server machine.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 44/129
Queues
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 45/129
Queues
• &n MQSeries )ueue is a named o%=ect on whichapplications can put messages" and from which
applications can get messages.
• Messages are stored on a )ueue. &pplications access a)ueue %y using the Message Queue #nterface 'MQ#( calls.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 46/129
MQ#
• The MQ# comprises the following8
7 Calls through which programs can access the )ueue
manager and its facilities.
7 Structures that programs use to pass data to and fromthe )ueue manager.
7 Elementary data types for passing data to and from the
)ueue manager.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 47/129
MQ#
• ,efore a message can %e put on a )ueue" the )ueue musthave already %een created.
• & )ueue is owned %y a )ueue manager" and one )ueue
manager can own any num%er of )ueues.
• <owever" each )ueue must have a name that is uni)ue
within that )ueue manager.
• Queues are managed physically %y their )ueue managers
%ut this is transparent to an application program.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 48/129
urpose of Opening a Queue
,efore using a )ueue" the purpose for opening a )ueuehas to %e defined. 2or e$ample" a )ueue can %e
opened8
• 2or %rowsing messages only 'not retrieving them(
• 2or retrieving messages 'and either sharing the access with
other programs" or with e$clusive access(
• 2or putting messages on the )ueue
• 2or in)uiring a%out the attri%utes of the )ueue
• 2or setting the attri%utes of the )ueue.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 49/129
Queues
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 50/129
Types of Queue
T%e of Queue es"ri%tion
1ocal Queue hysically present with the Queue manager
-emote Queue Structure descri%ing a )ueue of a different )ueue manager
Transmission Queue 1ocal )ueue used to hold messages in transit
#nitiation Queue 1ocal )ueue used for triggering
ynamic Queue 1ocal )ueue created on the fly
&lias Queue Same )ueue with different name and attri%utes
ead 1etter Queue 1ocal )ueue for each )ueue manager to receive dead letters
-eply4to4Queue Queue specified in the re)uest message to send the reply
Model Queue Model 'template( for a local )ueue
-epository )ueue Queue holding the cluster information
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 51/129
1ocal Queue
• & local )ueue is a )ueue %elonging to the )ueue managerto which the application is connected.
• & local )ueue assigned to a program actually receives the
messages pertaining to that program from other )ueuemanagers.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 52/129
-emote Queue
• -emote )ueue identifies a )ueue %elonging to another)ueue manager.
• &ctually" it is the local definition of a remote )ueue"
meaning" the messages for an application %elonging to
another )ueue manager are put in the remote )ueue only.
• The definition specifies the name of the remote )ueue
manager where the )ueue e$ists as well as the name of the
local )ueue in the remote )ueue manager.
• The information you specify when you define a remote
)ueue o%=ect ena%les the )ueue manager to find the remote
)ueue manager" so that any messages destined for the
remote )ueue go to the correct )ueue manager.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 53/129
&lias Queue
• &n alias )ueue appears to %e a )ueue" %ut it is actually adifferent name given to another )ueue.
• This means that more than one program can wor! with the
same )ueue" accessing it using different names anddifferent attri%utes.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 54/129
Model and ynamic Queue
• & model )ueue is a template of a )ueue definition usedonly when a dynamic local )ueue has to %e created.
• & local )ueue can %e created dynamically from an
MQSeries program" naming the model )ueue to %e used astemplate.
• epending upon the application" a dynamic )ueue can %e
made persistent or non4persistent.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 55/129
/luster Queue
• & cluster )ueue is a local )ueue defined %y the cluster)ueue manager" to %e !nown to all the )ueue managers of
that cluster.
• #t is defined in such a way that the )ueue managers in thecluster can put messages to a cluster )ueue without
needing a corresponding remote )ueue or channel
definitions.
• One cluster )ueue can %e advertised in more than one
cluster also.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 56/129
Transmission Queue
• & transmission )ueue is a local )ueue" which holdsmessages destined for a remote )ueue.
• Every remote )ueue should %e associated with atransmission )ueue. Transmission )ueues are usedinternally %y the )ueue managers and are transparent to theapplications.
• They are referenced in the remote )ueue definitions.
• Typically" a )ueue manager can have only onetransmission )ueue definition" to send messages to anynum%er of )ueue managers.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 57/129
#nitiation Queue
• &n initiation )ueue is a local )ueue on which the )ueuemanager puts a message for the purpose of automatically
starting an application when certain conditions + triggers
are met on a local )ueue.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 58/129
ead 1etter Queue
• The dead4letter )ueue is a local )ueue on which the )ueuemanager and applications put messages when they cannotdeliver.
• Some situations for the messages to %e sent to the deadletter )ueue are8
9. The destination )ueue %eing full
0. The destination )ueue not e$isting
:. Message put option of the )ueue %eing inhi%ited
;. The sender not %eing authorized to use the destination )ueue
D. The message %eing too large
?. The message having a duplicate message se)uence num%er
• ead letter )ueue is defined when the )ueue manager iscreated. #t is used as a repository for all messages thatcannot %e sent.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 59/129
Other Queues
System command queue • The system command )ueue is a )ueue to which suita%ly
authorized applications can send MQSeries commands.
System default queue• *hen a )ueue is created 'other than a dynamic )ueue("
MQSeries uses the )ueue definitions stored in the system
default )ueues.
Channel queue
• /hannel )ueues are used for distri%uted )ueue
management.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 60/129
/hannels
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 61/129
/hannels
• Two )ueue managers send messages %etween each othervia channels.
• & channel is the logical communication path %etween
)ueue managers.
• They shield applications from the underlyingcommunications protocols.
• The )ueue managers may e$ist on the same" or different
platforms.
• 2or )ueue managers to communicate with one another" onechannel o%=ect has to %e defined at the )ueue manager that
is to send messages" and another" complementary one" at
the )ueue manager that is to receive them.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 62/129
Type of /hannels
• There are two types of /hannels8
9. Message /hannel
0. MQ# /hannel
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 63/129
Message /hannel
• & message channel connects two )ueue managers viamessage channel agents 'M/&(.
• Such a channel is unidirectional. #t comprises two message
channel agents" a sender and a receiver" and a
communication protocol.• 2or %i4directional communication" two channel pairs
consisting of a sender and a receiver have to %e defined.
• Message channel agents are also referred to as movers.
• & channel is =ust a one4way communication lin! %etweentwo )ueue managers.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 64/129
Types of Message /hannel
• ifferent types of channels have to %e defined dependingupon the purpose8
7 Sender
7 -eceiver
7 Server
7 -e)uester
7 /luster sender
7 /luster receiver
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 65/129
/ompati%le /hannels
• & message channel is defined using one of these typesdefined at one end" and a compati%le type at the other end.
ossi%le com%inations are8
7 Sender4receiver
7 -e)uester4server
7 -e)uester4sender 'call%ac!(
7 Server4receiver
7 /luster sender4cluster receiver
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 66/129
MQ# /hannels
• & Message Queue #nterface 'MQ#( channel connects anMQSeries client to a )ueue manager in its server machine.
/lients don’t have a )ueue manager of their own.
• &n MQ# channel is %i4directional. The following diagramshows the conte$t of %oth the channel definitions.
• & channel can use the following transport protocols8 S6&
13 ?.0" T/+#" 6et,#OS" S@ and E/..
• 6et. Each platform supports different protocol.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 67/129
MQ# /hannel
MQ
Cient
MQCient
QueueManager QueueManagerMessage /hannelsMQ# /hannels
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 68/129
rocess efinition
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 69/129
rocess efinition
• & process definition object defines an application to anMQSeries )ueue manager.
• Typically" in MQSeries" an application puts or gets
messages from one or more )ueues and processes them.
• & process definition o%=ect is used for definingapplications to %e started %y a trigger.
• #t is used to descri%e the attri%utes of an application that is
invo!ed when an MQSeries trigger event occurs.
• The definition includes the application #" the applicationtype" and application specific data.
• 2or e$ample" it contains the name of the e$ecuta%le to %e
invo!ed.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 70/129
istri%ution 1ists
i i% i i
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 71/129
istri%ution 1ist
• & distribution list ena%les an application to send a messageto several destinations with a single MQ3T call.
• The list of destinations is supplied %y the application.
• #f more than one of these destinations uses the same
transmission )ueue" only one copy of the message data is
!ept on the transmission )ueue" and sent down the channel.
#t helps to avoid invo!ing more MQ3T calls.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 72/129
6ame 1ist
6 1i
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 73/129
6ame 1ist
• & name list is an MQSeries o%=ect that contains a list of other
MQSeries o%=ects.
• #t is availa%le only in S+:AB platform and not on *indows 6T.
• Typically" name lists are used %y applications such as trigger monitors"
to identify a group of )ueues.
• The advantage of using a name list is that it is maintainedindependently of applicationsG that is" it can %e updated without
stopping any of the applications that use it.
• &lso" if one application fails" the name list is not affected and other
applications can continue using it.
• 6ame lists contain the name of one or more cluster. #t is created whena )ueue manager or its resources need to %e availa%le in more than one
cluster.
• & cluster is group of )ueue managers that are logically associated.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 74/129
MQ /lients
MQ /li
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 75/129
MQ /lients
• &n MQSeries client is a part of an MQSeries product thatcan %e installed on a machine without installing the full
)ueue manager.
• #t accepts Message Queue #nterface 'MQ#( calls fromapplication programs" and passes MQ# re)uests to an
MQSeries server that is residing on some other machine.
• The MQSeries server is a full )ueue manager" which canaccept MQ# calls directly from application programs that
are running on the server machineG also" it can accept MQ#
re)uests from MQSeries clients.
&d t f MQ /li t
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 76/129
&dvantages of MQ /lients
• *hen there is no full MQSeries implementation for themachine 'for e$ample" %ecause it is a OS platform(.
• *hen the client machine is too small" or of insufficient
processing power" to run a full )ueue manager with good performance.
• *hen the application program on the client processor need
to get connected to multiple )ueue managers on differentserver processors.
• *hen systems administration effort has to %e reduced.
MQ /li t
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 77/129
MQ /lients
• *hen an application program in the client issues an MQ#call" the client formats the parameter values of the call into
an MQ# re)uest" and sends the re)uest to the server.
• The server receives the re)uest" performs the action
specified in the re)uest" and sends a response %ac! to the
client.
• The response is used %y the client to generate information
that is returned to the application program using the
normal MQ# return mechanism.
• MQSeries clients allows a program to %e connected to
more than one )ueue manager at a time" that are residing
either in the same machine or on different machines.
/ i ti MQ /li t + S
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 78/129
/ommunication 7 MQ /lient + Server
• &n MQSeries client communicates with an MQSeriesserver" using an MQ# channel" which is used to transfer
MQ# call re)uests from the client to the server" and
responses from the server %ac! to the client.
iff MQ# d M /h l
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 79/129
ifference 4 MQ# and Message /hannel
• &s discussed earlier the MQ# channels differ from messagechannels 'that are used to connect )ueue managers( in two
ways8
– An MQI channel is bi-directional.
– Communication on an MQI channel issynchronous.
MQ# i ,i di ti l
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 80/129
MQ# is ,i4directional
• One MQ# channel can %e used to send re)uests in onedirection" and responses in the opposite direction.
• *ith message channels" data can %e passed in one
direction only. #f two4way communication is re)uired %etween two )ueue managers 'for e$ample" in the situation
where reply messages are to %e sent to the same )ueue
manager that handled an initial re)uest message(" then two
message channels are re)uired" one to handle messages
traveling in one direction" and another for messages
traveling in the other direction.
/ i ti S h
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 81/129
/ommunication Synchronous
• *hen an MQ# re)uest is transmitted from a client to aserver" the MQSeries client product must wait for a
response from the server %efore it can send the ne$t MQ#
re)uest.
• *ith message channels" the message traffic on the channel
is time4independent.
• Multiple messages can %e sent from one )ueue manager tothe other" without the sending )ueue manager having to
wait for any replies from the receiving )ueue manager.
/li t / i ti
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 82/129
/lient /ommunication
6et
,#OS
MQ Client1
LQueue1
MQ Client
2
LQueue2
MQ Client
3
LQueue3
MQ Ser-er
Queue
Manager 1
.Queue1
.Queue2
.Queue*
Queue
Manager 2
T/+#
S6& 13 ?.0
/lie t / i ti
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 83/129
/lient /ommunication
• The transmission protocol that is to %e used on an MQ#channel is specified as part of the channel definition.
• The MQSeries program is unaware of the particular protocol that is %eing used on the channel.
• #f a client has to %e connected with more than one
MQServer" then MQ# channels have to %e defined for eachconnection.
• Each MQ# channel can use different protocols" fore$ample" an application program could connect to one
)ueue manager using T/ on one channel" and to another)ueue manager using 6et,#OS on a different /hannel.
• & program can define different channel types according tothe re)uirement" %ut the same channel name should %eused at %oth ends of the channel.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 84/129
/lusters
/lusters
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 85/129
/lusters
• & /luster is a collection of )ueue managers that may %e on different
platforms %ut serves a common application. MQSeries supports the
concept of clusters to simplify the setup and other operations.
• & )ueue manager can %elong to none" one" or several clusters %ased on
the re)uirement.
• The )ueue managers in a cluster can e$ist on the same or different
machines.
• Queue managers in a cluster can ma!e their )ueues availa%le to everyother )ueue manager in the cluster.
/lusters
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 86/129
/lusters
• & )ueue manager can send a message to any other )ueue manager in the
same cluster without the need for e$plicit channel definitions" remote4
)ueue definitions" or transmission )ueues for each destination.
• Every )ueue manager in a cluster has a single transmission )ueue that
transmits messages to any other )ueue manager in the cluster.
•Each )ueue manager needs to define only one cluster4receiver channeland one cluster4sender channel.
• & )ueue manager in the cluster contains the repository of information
a%out the other )ueue managers such as the )ueues" channels" etc. and it
is called Repository queue manager.
• Other )ueue managers in the cluster are called Cluster queue manager.
/lusters
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 87/129
/lusters
•&ll the cluster )ueue managers get the information a%out the)ueues from the repository )ueue manager.
• Once the cluster )ueue manager gets the information a%out
the )ueues of the other participating )ueue managers" itretains them in for future reference. So" all of them will
have their own partial repositories.
• #f the same )ueue has %een defined on more than one )ueuemanager in the cluster" the messages can %e routed in the
most efficient manner ena%ling wor!load %alancing and
failure.
/luster
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 88/129
/luster
QM1
Cluster Queue Manager
QM3
Cluster Queue Manager
QM2
Repository Queue Manager
-epositoryQueue
/13S-/C-
TO QM0
/13S-
TO QM0
/13S-/C-
TO QM9
/13S-
TO QM0
/13SS-&
TO QM9
/13S-/C-
TO QM:
/lusters
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 89/129
/lusters
The cluster shown in the diagram has three )ueuemanagers" QM9" QM0" and QM:. 7 QM0 is configured as the repository )ueue manager and it holds
the details a%out the )ueues that are created in the other )ueuemanagers.
7 QM9 and QM: are the cluster )ueue managers. Each )ueuemanager will have =ust local )ueue definitions.
The definitions needed for the )ueue managers in the clusterare8 7 Hust one /13SS- and one /13S-/C- definition at each )ueue
manager
7 6o separately defined transmission )ueues
7 6o remote4)ueue definitions
7 The repository )ueue manager will have cluster receiver channeldefined '/13S-/C-( to receive the re)uest messages from all thecluster )ueue managers.
/lusters
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 90/129
/lusters
•Each cluster )ueue managers will have a cluster senderchannel '/13SS-( and a cluster receiver channel.
• &ll cluster )ueue managers need a channel initiator tomonitor the system4defined initiation )ueue
• SISTEM./<&66E1.#6#TQ. This is the initiation )ueuefor all transmission )ueue including the clustertransmission )ueue.
• &lso" channel listener has to %e run on all the )ueue
managers to listen to the incoming re)uests and connect tothe appropriate receiver channel.
&dvantages of /lustering
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 91/129
&dvantages of /lustering
•#edu"ed sstem administration 4 Esta%lishing a networ!of )ueue managers in a cluster involves fewer definitions
than a non4clustered MQSeries networ!.
• &lso changes to the definitions can %e made easily.
• In"reased a-aiaiit and wor0oad aan"ing 4 #n
clusters" more than one )ueue manager can have a )ueue in
the same name" which means" a message can %e sent to
more than one )ueue manager at one time.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 92/129
Triggering
Triggering
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 93/129
Triggering
•Messages can %e made to automatically start or stop anapplication as soon as they arrive in a local )ueue" which is
called triggering.
• Triggers can %e ena%led in the local )ueue in which the
name of the process definition is also mentioned. Process
definition is an o%=ect that contains information a%out the
application 'name of the e$ecuta%le( to %e invo!ed.
• &s soon as a message arrives at the trigger ena%led local
)ueue 'application )ueue(" it is informed to the )ueue
manager through the trigger events.
• The )ueue manager e$tracts the application to %e triggered
from the process definition and creates the trigger message
and puts it in the initiation queue.
Triggering
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 94/129
Triggering
• #nitiation )ueue is continuously polled %y another
application called trigger monitor which reads the trigger
message and invo!es the application associated with it.
• The MQSeries o%=ects that are involved in triggering are8
7 application )ueue"
7 process definition"
7 initiation )ueue"
7 trigger events"
7 trigger4monitors and
7 trigger message
Triggering rocess
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 95/129
Triggering rocess
Queue Manager
Application A
Trigger
Monitor
A%%i"ation Queue
Initiation Queue
Pro"ess
efinition
Application B
Trigger -ent
Trigger
Message
Start A%%i"ation
&pplication Queue
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 96/129
&pplication Queue
• &n application )ueue is a local )ueue" for which the
triggering is ena%led. Three conditions can %e set for
triggering8
7 irst 'triggers the application when the first messagearrives("
7 -er 'triggers the application for very message( and
7 e%th 'triggers the application when nth message
arrives where n is the depth of the )ueue(
rocess efinition
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 97/129
rocess efinition
• &n application )ueue can have a process definition o%=ect
associated with it that holds details of the application that
will get triggered.
•#t has the information a%out the e$ecuta%le 'for e$ample"notepad.e$e( to %e invo!ed when the trigger event occurs.
• The name of the process definition is specified in the
application )ueue.
Trigger Event
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 98/129
Trigger Event
• & trigger event is an event that causes a trigger message to
%e generated %y the )ueue manager.
• This happens usually when a message arrives in an
application )ueue" %ut it can also occur at other times.
• MQSeries has a range of options to control the conditions
that cause a trigger event.
Trigger Message
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 99/129
Trigger Message
• The )ueue manager creates a trigger message when it
recognizes a trigger event.
• #t copies information a%out the application to %e started
into the trigger message.
•This information comes from the application )ueue and the process definition o%=ect associated with the application
)ueue.
• Trigger messages have a fi$ed format
#nitiation Queue
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 100/129
#nitiation Queue
• &n initiation )ueue is a local )ueue on which the )ueue
manager puts trigger messages.
• & )ueue manager can own more than one initiation )ueue"
and each one is associated with one or more application)ueues.
Trigger Monitor
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 101/129
Trigger Monitor
• & trigger monitor is a continuously running program that
serves one or more initiation )ueues.
• *hen a trigger message arrives on an initiation )ueue" the
trigger monitor retrieves the message" and %ased on theinformation on the trigger message it issues a command to
start the application associated with it.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 102/129
MQ &pplication rogramming
&pplication rogramming
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 103/129
&pplication rogramming
• MQSeries has a common application programming
interface called the message queue interface 'MQ#(.
• #t helps to write applications to communicate with other
applications on same or different platforms through
MQSeries.
• The calls made %y the applications and the messages they
e$change are common.
• This ma!es it much easier to write and maintain
applications than using traditional methods.
• #t also facilitates the migration of message )ueuing
applications from one platform to another.
MQ#
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 104/129
MQ#
• The MQ# comprises the following8
• Calls through which programs can access the )ueue
manager and its facilities.
• Structures that programs use to pass data to and from the)ueue manager.
• Elementary data types for passing data to and from the
)ueue manager.
3sage of MQ# /alls
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 105/129
3sage of MQ# /alls
• /onnect programs to" and disconnect programs from" a)ueue manager
• Open and close o%=ects 'such as )ueues" )ueue managers"name lists" and processes(
• ut messages on )ueues
• -eceive messages from a )ueue" or %rowse them 'leavingthem on the )ueue(
• #n)uire a%out the attri%utes 'or properties( of MQSerieso%=ects" and set some of the attri%utes of )ueues
• /ommit and %ac! out changes made within a unit of wor!"in environments where there is no natural syncpointsupport" for e$ample" OS+0 and 36#@ systems
• /oordinate )ueue manager updates and updates made %yother resource managers
3sage of MQ# /alls
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 106/129
3sage of MQ# /alls
• #t also provides a large set of named constants that help to
supply options in the parameters of the calls.
• The definitions of the calls" structures" and named
constants are supplied in data definition files for each of
the supported programming languages.
• &lso" default values are set within the MQ# calls.
• MQ# applications can %e developed using /" /JJ" 1+9"
/O,O1" -F" &ssem%ler" Cisual ,asic" and Hava.
/lassification of MQ# /alls
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 107/129
/lassification of MQ# /alls
• MQ# calls can %e divided %ased on the purpose or
MQSeries o%=ect associated with it.
• 2or e$ample" the calls can %e grouped as calls associated
with8
7 Queue manager
7 Queues
7 &ttri%utes
7 Transactions
MQ# /alls 7 Queue Manager
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 108/129
Q / s Queue ge
Queue Manager
MQ/O66
/onnect to the )ueue manager
MQ/O66@
/onnect to a )ueue manager using some options
MQ#S/
isconnect from a )ueue manager
MQ# 7 Queues
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 109/129
Q Q
MQOE6
Open an MQSeries o%=ect
MQ3T
lace a message on a )ueue
MQ3T9
ut a single message on a )ueue
MQFET
-etrieve a message from a )ueue
MQ/1OSE
/lose an MQSeries o%=ect
MQ# /alls 7 &ttri%utes
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 110/129
Q
Attributes
MQ#6Q
#n)uire a%out attri%utes of an MQSeries o%=ect
MQSET
Set some specific )ueue attri%utes
MQ# /alls 7 Transaction
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 111/129
Q
Transaction
MQ,EF#6
,egin a unit of wor! coordinated %y the )ueue manager
MQ/M#T
6otify syncpoint for all the 3Ts and FETs since last
syncpoint
MQ,&/K
,ac!out notification for all 3Ts and FETs since last
syncpoint
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 112/129
MQ System &dministration
MQSeries &dministration
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 113/129
Q
• MQSeries administration involves creation and
manipulation of different MQSeries o%=ects viz.
• *hile creating the MQSeries o%=ects" the administrator
should follow certain rules li!e" naming the o%=ects.
• The names of the o%=ects should %e uni)ue within the
networ! of interconnected )ueue managers.
• & )ueue and a process definition can have the same name"
%ut two )ueues or two process definitions cannot have the
same name.
&dministration /ommands
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 114/129
• MQSeries provides three command sets to handle the
o%=ects and to perform administration tas!s8
7 /ontrol commands
7 MQS/ commands
7 /2 commands
• Some tas!s can %e performed using either a control
command or an MQS/ command" whilst other tas!s can
%e performed using only one type of command.
-ole of System &dministrator
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 115/129
y
• #nstallation and configuration of MQSeries on servers
• /onfiguration" Maintenance" starting and stopping of
)ueue managers
• efining o%=ects li!e )ueues" channels" process" name list"
etc.
• ,ac!up and recovery of MQSeries o%=ects
• #mplementing security for the o%=ects in the )ueue
manager
• roviding authorization for the users• /reation of channels to communicate with )ueue managers
on other systems
• erformance monitoring and tuning of )ueue managers.
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 116/129
&dvantages of MQSeries
&dvantages
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 117/129
g
MQSeries applications have the following advantages8
• MQSeries reduces networ!ing
• MQSeries ena%les parallel processing
• MQSeries provides a client+server approach to applications• MQSeries ensures data integrity and assured message
delivery
• MQSeries offers e$cellent security features.
Messaging -educes 6etwor!ing
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 118/129
g g g
• Traditional &pproach
A
3
Win NT
C
4ni5
TCP/IP
TCP/IP
S/*67
SNA .4892
*ith MQSeries
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 119/129
&
,
*in 6T
M
Q
#Queue
Manager
/
3ni$
M
Q
Queue
Manager
M
/
&
M
/
&
arallel rocessing
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 120/129
!light
Queue
Application AMQ Pseu"on#m
MQ_Reserve
Flight
MQ_Rent Car
MQ_ReserveHotel
R
E
P
L
Y
/onfirm
/onfirm
/onfirm
Car Queue
$otel Queue
/lient + Server Model
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 121/129
QueueManager(MQ Server)
Queue
MQ /lient
Travel &gent 9
MQ /lient
Travel &gent :
Tra-e
ataase
MQ /lientTravel &gent 0
ata #ntegrity 7 Traditional &pproach
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 122/129
DB1
-ead
Send
Syncpoint
-eceive
*rite
Syncpoint
DB2
MQSeries and ata #ntegrity
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 123/129
3nit of *or! 9
DB1
-ead
ut
Syncpoint
3nit of *or! :
Fet
*rite
Syncpoint
DB2
Q %
3nit of *or! 0
3nit of *or!s
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 124/129
• nit of !or" # 7 ata read from ,9 and put on a )ueue
for transmission
• nit of !or" $ 7 ata transmitted from one )ueue to
another )ueue
• nit of !or" % 7 ata written on the destination" data%ase
,0 from the )ueue.
3nit of *or! 9
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 125/129
• The first application reads from a data%ase ,9 and puts
the message on a )ueue and then issues a syncpoint to
commit the read operation.
• The message contains the data needed to update the second
data%ase ,0 on the other system.
• This unit of wor! 9 is committed when" this message is
given to the transmission )ueue for transmission.
3nit of *or! 0
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 126/129
• #n the second unit of wor!" the M/& of the first system
gets a message from the transmission )ueue and sends it to
the receiving M/&.
• The receiving M/& then puts the message on the
destination )ueue.
• *hen this unit of wor! 0 is committed " the message is
made availa%le for the second application.
3nit of *or! :
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 127/129
• #n the third unit of wor!" the second application gets the
message from the destination )ueue updates the data%ase
,0 using the message received.
Security
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 128/129
• MQSeries ensures complete security and data integrity in its
messaging process.
• #t provides the following features for implementing security8
7 & )ueue manager can %e authorized to chec! whether a user is
authorized to enter commands used to manage the )ueue manager.
7 & )ueue manager can chec! whether a user or an application is
authorized to access an MQSeries o%=ect.
7 & message can %e encrypted %efore it is sent %y an M/& to
another M/&.
7 & message can carry fields li!e user # and message conte$t
information to authorize a specific user to access some resources'%oth MQSeries and non4MQSeries( on the destination system.
Security
7/25/2019 MQSeries Tech Overview
http://slidepdf.com/reader/full/mqseries-tech-overview 129/129
/ommands
rograms
1ocal Q Manager
3ser Queue
M / &
M / &
Queue,
MQM
3ser #Message
/onte$t