Hi Bill,

the existing design works for both the common case, and for directing a
response to some other queue manager.

It is important to have the queue manager fill in its own ReplyToQMgr
field. Imagine a network with >1000 windows queue managers connected to a
hub. With the current implementation, the queue managers can all be clones,
and the replies go to the correct place because of ReplyToQMgr. With the
alternative proposal, each queue manager would have to have unique reply
queue names defined, and there would also have to be Remote Queue
Definitions of each of these reply queues at the hub. When I have 4 or 5
applications on each of the windows servers, each with its own reply queue,
it becomes unwieldy very quickly. This also shows that the additional
administration is not just at the hub. I would have to custom tailor every
queue manager, instead of cloning them.

On the other hand, you can use the existing design and get your hub to
route responses as well, simply by specifying the target hub queue manager
in your ReplyToQMgr. This will cause the hub to route responses using its
own definitions, thus achieving your goal.

You also have the third mechanism, where the name of an QR is put into
ReplyToQ, and the sending queue manager substitutes the Q and QMgr from
that definition into the MD.

Regards,

Neil Casey.


|---------+---------------------------->
|         |           "Beinert,        |
|         |           William"         |
|         |           <[EMAIL PROTECTED]|
|         |           OM>              |
|         |           Sent by: MQSeries|
|         |           List             |
|         |           <[EMAIL PROTECTED]|
|         |           n.AC.AT>         |
|         |                            |
|         |                            |
|         |           04/07/2003 06:38 |
|         |           Please respond to|
|         |           MQSeries List    |
|         |                            |
|---------+---------------------------->
  
>--------------------------------------------------------------------------------------------------------------|
  |                                                                                    
                          |
  |       To:       [EMAIL PROTECTED]                                                  
                    |
  |       cc:                                                                          
                          |
  |       Subject:  Re: md.ReplyTo.. processing - why?                                 
                          |
  
>--------------------------------------------------------------------------------------------------------------|




I think we both understand what is happening.

Probably 99% of applications want the reply to come back to the sending QM
(the word reply kind of implies that...).
But if the sender QM did NOT fill his own name in, then the hub would have
to get the QM name from the remote q definition on the hub. So all your
adminstration is at the hub.

Just as a sample application, suppose my Windows QM sends a message
updating a DB on OS/390. He specifies a ReplyToQ over on a Unix box where
the auditors watch with beady eyes...

Bill

-----Original Message-----
From: Potkay, Peter M (PLC, IT) [mailto:[EMAIL PROTECTED]
Sent: Thursday, July 03, 2003 3:41 PM
To: [EMAIL PROTECTED]
Subject: Re: md.ReplyTo.. processing - why?


We have a Hub and Spoke here including IMS bridges, and we rely heavily on
the fact that the QM that is putting a message will fill in its own name in
the Reply2QM field if it is blank.

Any QM that has an app that is doing an MQPUT fills this value in. If
SPOKE1QM puts a request message with a blank Reply2QM, SPOKEQM1 fills his
own name in. If the request goes over to SPOKEQM2, and the app their puts a
reply, and leaves the Reply2QM of the reply message blank, then SPOKEQM2
fills in his own name.

The replying queue manager DOES fill in this value, provided that that the
replying app does muddle things up by filling in some garbage there. A
favorite "shortcut" of programmers coding replying apps is to populate the
MQMD of the reply message with the MQMD of the request message. Ugh. It
cause messes like this. Always init your MQMD before any MQGET or MQPUT.

Does this answer your question, or I am missing something?




-----Original Message-----
From: Beinert, William [mailto:[EMAIL PROTECTED]
Sent: Thursday, July 03, 2003 2:05 PM
To: [EMAIL PROTECTED]
Subject: md.ReplyTo.. processing - why?


I was testing my IMS Bridge code on another platform and discovered that my
understanding of how MQ processes the md.ReplyToQMgr and ReplyToQ fields
was
deficient.
I naively assumed that if I left the ReplyToQMgr field blank, and specified
the ReplyToQ, the target queue manager would resolve the ReplyToQ and send
the reply message along it's merry way.

I discovered that, in fact, the local queue manager processes these fields.
If I specify the ReplyToQ, the local QM looks for a definition, and if he
can't find it, he fills in his own name in the ReplyToQMgr field. If he
does
find a remote queue definition, he not only fills in the ReplyToQMgr field
with the Remote Queue Manager name from that definition, he also REPLACES
the ReplyToQ field with the Remote Queue Name from that definition.

It strikes me that this design increases the administrative burden if I am
designing a 'hub-and-spoke' application where I might want reply messages
to
be processed on some 3rd queue manager. If I want to be able to change the
system processing the reply messages, I don't want to have to touch the
other spokes. (I understand that defining the ReplyToQ on QMSpoke1 as a
Remote Queue pointing to the QMHub system and it's associated transmission
queue is a one-time step - the hub will then find that the ReplyToQ is a
remote queue on QMSpoke2, and send it along).

It just seems to me that it's a better design to have the ReplyTo fields
resolved by the queue manager that actually has to send the replies. "Late
binding" provides more flexibilty, IMHO and reduces administrative work. I
don't expect this behavior to change. Change would probably break some
existing applications...

Anybody have any thoughts on this?

Bill Beinert
Systems Programming
Con Edison
(212) 460-4853

When they took the fourth amendment,
   I was quiet because I didn't deal drugs!
When they took the sixth amendment,
   I was quiet because, I was innocent.
When they took the second amendment,
   I was quiet because I didn't own a gun!
Now they've taken the first amendment,
   and I can say (or do) nothing about it.
The Second Amendment is in place in case they ignore the others.
MODWN DAbE

Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://vm.akh-wien.ac.at/MQSeries.archive


This communication, including attachments, is for the exclusive use of
addressee and may contain proprietary, confidential or privileged
information. If you are not the intended recipient, any use, copying,
disclosure, dissemination or distribution is strictly prohibited. If
you are not the intended recipient, please notify the sender
immediately by return email and delete this communication and destroy all
copies.

Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://vm.akh-wien.ac.at/MQSeries.archive

Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://vm.akh-wien.ac.at/MQSeries.archive

Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://vm.akh-wien.ac.at/MQSeries.archive

Reply via email to