ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » General Discussion » Role of Channels and Triggers

Post new topic  Reply to topic
 Role of Channels and Triggers « View previous topic :: View next topic » 
Author Message
NigelD
PostPosted: Wed Oct 31, 2007 5:52 am    Post subject: Role of Channels and Triggers Reply with quote

Newbie

Joined: 31 Oct 2007
Posts: 3

I've been trawling manuals and these forums for hours now, but three things are still unclear to me.

(1) Queues and Channels are owned by a queue manager. So when messages are placed onto a queue, how does the queue manager know which channel to use to route the message to its destination? I'd expect the channel to be associated with the queue, not the queue manager.

(2) If I am want to MQPUT a message on a queue on one system, and have it available for MQGET on another in a DISTRIBUTED environment (i.e. both queues have a queue manager) do I define both queues as LOCAL, and link them with a channel? The concept of remote queues does not seem to apply here as both systems queues are managed by their own queue managers.

(3) When a message arrives on the target systems queue, and triggering is specified, and a further Initiation queue (within the same queue manager) specified, is the Procedure name on the Target queue used to specify the procedure that gets called when messages arrive there? Or is it the procedure name of the Initiation queue? In either case, does the procedure need to MQGET from the target queue itself, or can it receive the message as a parameter?

Sorry for the number of questions, but if I'm pointed in the right direction, I'm sure these areas will start to make sense!
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Wed Oct 31, 2007 5:58 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg24006526&loc=en_US&cs=utf-8&lang=en
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
NigelD
PostPosted: Wed Oct 31, 2007 6:30 am    Post subject: Reply with quote

Newbie

Joined: 31 Oct 2007
Posts: 3

Thanks for the reference, but Dieter Wackerow's document was my starting point - I read it 3 hours ago!

Unfortunately, it's written predominantly from a Windows perspective, and I'm looking to implement on an i-Series.

The closest it comes to answering my first point is that it appears (extrapolating from pages 21 - 23) that in defining a Channel, you link it to an XmitQ, and in defining a sending queue, you also link to the same XmitQ: therefore you are essentially linking a sending queue to a channel which points at a remote System and queue. Correct?

In regard to point 2, the document states twice that Remote queues are not associated with a queue manager, but on the i-Series, you can only access queues, INCLUDING *RMT type queues via their queue manager.

Finally, the document does not answer the third point.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Wed Oct 31, 2007 6:35 am    Post subject: Reply with quote

Guest




I'd suggest (re-)reading the first few chapters of the MQ Intercommunications manual. It covers the basics of distributed queuing; and should answer these questions and others.
Back to top
jefflowrey
PostPosted: Wed Oct 31, 2007 6:41 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Triggering generally works like this:
1) A message appears on a queue, and this event is the last thing necessary to satisfy the conditions for triggering that queue
2) The queue manager creates a new message that goes on the INITQ. This message is built from the process definition of the triggered queue.
3) The trigger monitor retrieves this message from the INITQ, and uses the message to invoke the specified process.
4) The process/procedure is invoked, and passed the information from the trigger message as a parameter.

Everything that happens after the procedure/process is started - including whether it does anything with the message on the triggered queue - is defined solely by the process/procedure itself. The trigger queue is not otherwise opened by anything, the message that caused the trigger event is not otherwise opened or read by anything.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed Oct 31, 2007 6:47 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

NigelD wrote:
The closest it comes to answering my first point is that it appears (extrapolating from pages 21 - 23) that in defining a Channel, you link it to an XmitQ, and in defining a sending queue, you also link to the same XmitQ: therefore you are essentially linking a sending queue to a channel which points at a remote System and queue. Correct?


Except that many sending queues (more formally called remote queues) can use a single xmitq / channel combination and the remote queue does not need to quote an xmitq; provided there is a queue named for the remote queue manager then it will all sort itself out under the covers.

There are good reasons why you'd want this kind of automatic resolution, and equally good reasons why you wouldn't. Search the forum for many debates on this matter!
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
NigelD
PostPosted: Wed Oct 31, 2007 6:54 am    Post subject: Reply with quote

Newbie

Joined: 31 Oct 2007
Posts: 3

Bruce, pages 21 - 23 also cover the theory of distributed queuing.

However, the problem though is the transition from the documented theory of M.Q. and the practicalities of implementation. You are clearly coming from a Windows-based implementation where the command set is very different to that available on the i-Series. In practical terms, the generic DEFINE statement is replaced by CRTMQM, CRTMQMQ and CRTMQMCHL commands, all with quite different parameter sets to the DEFINE command, so I need input from someone familiar with these problems, rather than the broad assertion that reading a Windows-centric primer prepares you for the intricasies of i-Series deployment.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Wed Oct 31, 2007 7:01 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Right, so the Primer is just intended to get you started.

The actual documentation is what you'll use for most situations - in your case, probably mostly you'll look at the iSeries specific guides.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
tleichen
PostPosted: Wed Oct 31, 2007 8:29 am    Post subject: Reply with quote

Yatiri

Joined: 11 Apr 2005
Posts: 663
Location: Center of the USA

NigelD wrote:
... You are clearly coming from a Windows-based implementation where the command set is very different to that available on the i-Series. In practical terms, the generic DEFINE statement is replaced by CRTMQM, CRTMQMQ and CRTMQMCHL commands, all with quite different parameter sets to the DEFINE command, so I need input from someone familiar with these problems, rather than the broad assertion that reading a Windows-centric primer prepares you for the intricasies of i-Series deployment.
Not necessarily. These commands are standard on just about ALL MQSeries platforms except iSeries.

I'm not trained on iSeries, but that is my understanding. I once new the reason why those commands had to be different on that platform, but I've since forgotten it. Anyway, as Jeff said, if you use the aforementioned manuals, you should do fine.
_________________
IBM Certified MQSeries Specialist
IBM Certified MQSeries Developer
Back to top
View user's profile Send private message
bruce2359
PostPosted: Wed Oct 31, 2007 8:38 am    Post subject: Reply with quote

Guest




MQ architecture is consistent on all platforms - a queue is a queue; a qmgr is a qmgr.

The difference here is the administrative interface - Windows GUI, UNIX and Windows command line commands, z/OS and iSeries panel-based. The admin interfaces are usually for what are casually refered to as one-time events - like crtmqm, strmqm, etc..

Consistent on all platforms is the script commands for managing objects.
Back to top
jefflowrey
PostPosted: Wed Oct 31, 2007 9:30 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

bruce2359 wrote:
Consistent on all platforms is the script commands for managing objects.


To be a bit more specific here, while also agreeing with bruce2359... The MQSC Script Language is consistent on all platforms, although the parameters of some objects are different on different platforms.

In v6, the PCF command interface is also consistent on all platforms - with the same object specific platform differences.

In addition, and this is one of the very important things about MQ - the programming API is the same on all platforms. I can write a C program once, and compile it to run on any platform, and it will work as well on each as it does on one.

I can write a Java program, or a C++ program, and the same holds true. .NET programs are a little harder to run on zSeries, though.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General Discussion » Role of Channels and Triggers
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.