mqseries tech overview

129
MQSeries Technical Overview

Upload: vijaypapineni

Post on 25-Feb-2018

226 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: MQSeries Tech Overview

7/25/2019 MQSeries Tech Overview

http://slidepdf.com/reader/full/mqseries-tech-overview 1/129

MQSeries Technical Overview

Page 2: MQSeries Tech 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.

Page 3: MQSeries Tech Overview

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.

Page 4: MQSeries Tech Overview

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.

Page 5: MQSeries Tech Overview

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

Page 6: MQSeries Tech Overview

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.

Page 7: MQSeries Tech Overview

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.

Page 8: MQSeries Tech Overview

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.

Page 9: MQSeries Tech Overview

7/25/2019 MQSeries Tech Overview

http://slidepdf.com/reader/full/mqseries-tech-overview 9/129

E&# 4 &dvantage

/an applications can communicate asynchronously5

Page 10: MQSeries Tech Overview

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.

Page 11: MQSeries Tech Overview

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.

Page 12: MQSeries Tech Overview

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.

Page 13: MQSeries Tech Overview

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.

Page 14: MQSeries Tech Overview

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

Page 15: MQSeries Tech Overview

7/25/2019 MQSeries Tech Overview

http://slidepdf.com/reader/full/mqseries-tech-overview 15/129

/haracteristics of MQSeries

Page 16: MQSeries Tech Overview

7/25/2019 MQSeries Tech Overview

http://slidepdf.com/reader/full/mqseries-tech-overview 16/129

rogram 7 to 7 rogram

A

B

Queue

Page 17: MQSeries Tech Overview

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.

Page 18: MQSeries Tech Overview

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

Page 19: MQSeries Tech Overview

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.

Page 20: MQSeries Tech Overview

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

Page 21: MQSeries Tech Overview

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.

Page 22: MQSeries Tech Overview

7/25/2019 MQSeries Tech Overview

http://slidepdf.com/reader/full/mqseries-tech-overview 22/129

&rchitecture of MQSeries

Page 23: MQSeries Tech Overview

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#

Page 24: MQSeries Tech Overview

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.

Page 25: MQSeries Tech Overview

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.

Page 26: MQSeries Tech Overview

7/25/2019 MQSeries Tech Overview

http://slidepdf.com/reader/full/mqseries-tech-overview 26/129

MQSeries O%=ects

Page 27: MQSeries Tech Overview

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

Page 28: MQSeries Tech Overview

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

Page 29: MQSeries Tech Overview

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

Page 30: MQSeries Tech Overview

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. 

Page 31: MQSeries Tech Overview

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.

 

Page 32: MQSeries Tech Overview

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.

Page 33: MQSeries Tech Overview

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.

 

Page 34: MQSeries Tech Overview

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. 

Page 35: MQSeries Tech Overview

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 )+

Page 36: MQSeries Tech Overview

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. 

Page 37: MQSeries Tech Overview

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.

Page 38: MQSeries Tech Overview

7/25/2019 MQSeries Tech Overview

http://slidepdf.com/reader/full/mqseries-tech-overview 38/129

Queue Manager 

Page 39: MQSeries Tech Overview

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.

Page 40: MQSeries Tech Overview

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.

Page 41: MQSeries Tech Overview

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.

Page 42: MQSeries Tech Overview

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.

Page 43: MQSeries Tech Overview

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.

Page 44: MQSeries Tech Overview

7/25/2019 MQSeries Tech Overview

http://slidepdf.com/reader/full/mqseries-tech-overview 44/129

Queues

Page 45: MQSeries Tech Overview

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.

Page 46: MQSeries Tech Overview

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.

Page 47: MQSeries Tech Overview

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.

Page 48: MQSeries Tech Overview

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.

Page 49: MQSeries Tech Overview

7/25/2019 MQSeries Tech Overview

http://slidepdf.com/reader/full/mqseries-tech-overview 49/129

Queues

Page 50: MQSeries Tech Overview

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

Page 51: MQSeries Tech Overview

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.

Page 52: MQSeries Tech Overview

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.

Page 53: MQSeries Tech Overview

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.

Page 54: MQSeries Tech Overview

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.

Page 55: MQSeries Tech Overview

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.

Page 56: MQSeries Tech Overview

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.

Page 57: MQSeries Tech Overview

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.

Page 58: MQSeries Tech Overview

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.

Page 59: MQSeries Tech Overview

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.

Page 60: MQSeries Tech Overview

7/25/2019 MQSeries Tech Overview

http://slidepdf.com/reader/full/mqseries-tech-overview 60/129

/hannels

Page 61: MQSeries Tech Overview

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.

Page 62: MQSeries Tech Overview

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

Page 63: MQSeries Tech Overview

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.

Page 64: MQSeries Tech Overview

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 

Page 65: MQSeries Tech Overview

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 

Page 66: MQSeries Tech Overview

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.

Page 67: MQSeries Tech Overview

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

Page 68: MQSeries Tech Overview

7/25/2019 MQSeries Tech Overview

http://slidepdf.com/reader/full/mqseries-tech-overview 68/129

rocess efinition

Page 69: MQSeries Tech Overview

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.

Page 70: MQSeries Tech Overview

7/25/2019 MQSeries Tech Overview

http://slidepdf.com/reader/full/mqseries-tech-overview 70/129

istri%ution 1ists

i i% i i

Page 71: MQSeries Tech Overview

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.

Page 72: MQSeries Tech Overview

7/25/2019 MQSeries Tech Overview

http://slidepdf.com/reader/full/mqseries-tech-overview 72/129

 6ame 1ist

6 1i

Page 73: MQSeries Tech Overview

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. 

Page 74: MQSeries Tech Overview

7/25/2019 MQSeries Tech Overview

http://slidepdf.com/reader/full/mqseries-tech-overview 74/129

MQ /lients

MQ /li

Page 75: MQSeries Tech Overview

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

Page 76: MQSeries Tech Overview

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

Page 77: MQSeries Tech Overview

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

Page 78: MQSeries Tech Overview

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

Page 79: MQSeries Tech Overview

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

Page 80: MQSeries Tech Overview

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

Page 81: MQSeries Tech Overview

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

Page 82: MQSeries Tech Overview

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

Page 83: MQSeries Tech Overview

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.

Page 84: MQSeries Tech Overview

7/25/2019 MQSeries Tech Overview

http://slidepdf.com/reader/full/mqseries-tech-overview 84/129

 

/lusters

/lusters

Page 85: MQSeries Tech Overview

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

Page 86: MQSeries Tech Overview

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

Page 87: MQSeries Tech Overview

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

Page 88: MQSeries Tech Overview

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

Page 89: MQSeries Tech Overview

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

Page 90: MQSeries Tech Overview

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

Page 91: MQSeries Tech Overview

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.

Page 92: MQSeries Tech Overview

7/25/2019 MQSeries Tech Overview

http://slidepdf.com/reader/full/mqseries-tech-overview 92/129

Triggering

Triggering

Page 93: MQSeries Tech Overview

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

Page 94: MQSeries Tech Overview

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

Page 95: MQSeries Tech Overview

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

Page 96: MQSeries Tech Overview

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

Page 97: MQSeries Tech Overview

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

Page 98: MQSeries Tech Overview

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

Page 99: MQSeries Tech Overview

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

Page 100: MQSeries Tech Overview

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

Page 101: MQSeries Tech Overview

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. 

Page 102: MQSeries Tech Overview

7/25/2019 MQSeries Tech Overview

http://slidepdf.com/reader/full/mqseries-tech-overview 102/129

MQ &pplication rogramming

&pplication rogramming

Page 103: MQSeries Tech Overview

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#

Page 104: MQSeries Tech Overview

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

Page 105: MQSeries Tech Overview

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

Page 106: MQSeries Tech Overview

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

Page 107: MQSeries Tech Overview

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 

Page 108: MQSeries Tech Overview

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

Page 109: MQSeries Tech Overview

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

Page 110: MQSeries Tech Overview

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

Page 111: MQSeries Tech Overview

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

Page 112: MQSeries Tech Overview

7/25/2019 MQSeries Tech Overview

http://slidepdf.com/reader/full/mqseries-tech-overview 112/129

MQ System &dministration

MQSeries &dministration

Page 113: MQSeries Tech Overview

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

Page 114: MQSeries Tech Overview

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 

Page 115: MQSeries Tech Overview

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.

Page 116: MQSeries Tech Overview

7/25/2019 MQSeries Tech Overview

http://slidepdf.com/reader/full/mqseries-tech-overview 116/129

&dvantages of MQSeries

&dvantages

Page 117: MQSeries Tech Overview

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

Page 118: MQSeries Tech Overview

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

Page 119: MQSeries Tech Overview

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

Page 120: MQSeries Tech Overview

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

Page 121: MQSeries Tech Overview

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

Page 122: MQSeries Tech Overview

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

Page 123: MQSeries Tech Overview

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

Page 124: MQSeries Tech Overview

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

Page 125: MQSeries Tech Overview

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

Page 126: MQSeries Tech Overview

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! :

Page 127: MQSeries Tech Overview

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

Page 128: MQSeries Tech Overview

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

Page 129: MQSeries Tech Overview

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