Author |
Message
|
samsam007 |
Posted: Thu Oct 30, 2008 10:44 pm Post subject: from outside cluster into QM in the cluster |
|
|
 Centurion
Joined: 30 Oct 2008 Posts: 107
|
Hi,
I want to setup an application from outside the cluster to send message into a QM in the cluster.
The cluster consist of 2 QMs and 2 Brokers.
I have defined Tramission queue in each QM and Broker, and created a clustered queue shared by 2 QMs in the cluster.
Can the application outside the cluster send message to this clustered queue so that QM1 or QM2 pick up the message?
How does 2 QMs inside the cluster communicate with application outside the cluster?
I am very appreciate for any suggestion.
Thanks |
|
Back to top |
|
 |
xhaxk |
Posted: Thu Oct 30, 2008 11:26 pm Post subject: |
|
|
Apprentice
Joined: 30 Oct 2008 Posts: 31
|
this is dealt with in the clusters manual |
|
Back to top |
|
 |
samsam007 |
Posted: Thu Oct 30, 2008 11:28 pm Post subject: |
|
|
 Centurion
Joined: 30 Oct 2008 Posts: 107
|
xhaxk wrote: |
this is dealt with in the clusters manual |
Hi, where can I download this manual from the internet?
Thanks |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Oct 31, 2008 3:23 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
There is a link at the top of this page that says "Library".
I strongly suggest you try it out.
If V 6 of MQ is high enough you can jump directly to it using the InfoCenter link...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
bruce2359 |
Posted: Fri Oct 31, 2008 5:36 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
Can the application outside the cluster send message to this clustered queue so that QM1 or QM2 pick up the message? |
Yes, a non-cluster qmgr can communicate with cluster qmgrs. Point-to-point channels (sender-receiver, for example), and the appropriate QRemote and xmitq definitions in the non-cluster qmgr that route messages to the cluster qmgr.
Quote: |
How does 2 QMs inside the cluster communicate with application outside the cluster? |
In the request-reply model, the reply-to-queue and reply-to-qmgr fields in the MQMD of the request message sent from a non-cluster qmgr to the applicatoin running on a cluster qmgr. Point-to-point channels (sender-receiver, for example), and the appropriate xmitq definition in a cluster qmgr that route messages to the non-cluster qmgr. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
samsam007 |
Posted: Fri Oct 31, 2008 6:02 am Post subject: |
|
|
 Centurion
Joined: 30 Oct 2008 Posts: 107
|
bruce2359 wrote: |
Quote: |
Can the application outside the cluster send message to this clustered queue so that QM1 or QM2 pick up the message? |
Yes, a non-cluster qmgr can communicate with cluster qmgrs. Point-to-point channels (sender-receiver, for example), and the appropriate QRemote and xmitq definitions in the non-cluster qmgr that route messages to the cluster qmgr.
Quote: |
How does 2 QMs inside the cluster communicate with application outside the cluster? |
In the request-reply model, the reply-to-queue and reply-to-qmgr fields in the MQMD of the request message sent from a non-cluster qmgr to the applicatoin running on a cluster qmgr. Point-to-point channels (sender-receiver, for example), and the appropriate xmitq definition in a cluster qmgr that route messages to the non-cluster qmgr. |
I never create a qmgr before. Is it stand for Queue Manager Group? What does it do with the communication between cluster and applicastion outside the cluster? What is MQMD?
Application outside the cluster don't have to create any queue to communicate wtih QM inside the cluster? Only a qmgr is sufficient for application outside the cluster?
Thanks |
|
Back to top |
|
 |
Vitor |
Posted: Fri Oct 31, 2008 6:20 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
samsam007 wrote: |
I never create a qmgr before. |
Then you should probably start with some test systems first; clustering is a bit advanced.
samsam007 wrote: |
What is MQMD? |
If you don't know that, you shouldn't be administering WMQ
samsam007 wrote: |
Application outside the cluster don't have to create any queue to communicate wtih QM inside the cluster? Only a qmgr is sufficient for application outside the cluster? |
Applications can connect to any queue manager they choose depending on design. There are reasons they'd use an external queue managers, and reasons they wouldn't.
It's a design question you have to answer according to your own requirements. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
bruce2359 |
Posted: Fri Oct 31, 2008 6:30 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Please visit http://www.redbooks.ibm.com/abstracts/sg247128.html?Open and download the WebSphere MQ V6 Fundamentals redbook.
It will explain the basic concepts of the WMQ product. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
samsam007 |
Posted: Sun Nov 02, 2008 4:00 pm Post subject: |
|
|
 Centurion
Joined: 30 Oct 2008 Posts: 107
|
bruce2359 wrote: |
Quote: |
Can the application outside the cluster send message to this clustered queue so that QM1 or QM2 pick up the message? |
Yes, a non-cluster qmgr can communicate with cluster qmgrs. Point-to-point channels (sender-receiver, for example), and the appropriate QRemote and xmitq definitions in the non-cluster qmgr that route messages to the cluster qmgr.
Quote: |
How does 2 QMs inside the cluster communicate with application outside the cluster? |
In the request-reply model, the reply-to-queue and reply-to-qmgr fields in the MQMD of the request message sent from a non-cluster qmgr to the applicatoin running on a cluster qmgr. Point-to-point channels (sender-receiver, for example), and the appropriate xmitq definition in a cluster qmgr that route messages to the non-cluster qmgr. |
Hi,
The application has no gmgr. The application only have a "Message Service Client for .NET" installed in Windows XP. Is possible for an application like that (outside the cluster) to communicate (send/reply) with a gmgr inside the cluster? and how?
Thanks |
|
Back to top |
|
 |
bruce2359 |
Posted: Sun Nov 02, 2008 5:03 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
Is possible for an application like that (outside the cluster) to communicate (send/reply) with a gmgr inside the cluster? and how? |
Your client application can MQCONNnect to any qmgr it can network into - whether the qmgr is inside or outside the cluster.
If the qmgr the application connects to is outside the cluster, it can MQOPEN a queue definition that resolves to a QLocal that is inside the cluster. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
samsam007 |
Posted: Sun Nov 02, 2008 5:25 pm Post subject: |
|
|
 Centurion
Joined: 30 Oct 2008 Posts: 107
|
bruce2359 wrote: |
Quote: |
Is possible for an application like that (outside the cluster) to communicate (send/reply) with a gmgr inside the cluster? and how? |
Your client application can MQCONNnect to any qmgr it can network into - whether the qmgr is inside or outside the cluster.
If the qmgr the application connects to is outside the cluster, it can MQOPEN a queue definition that resolves to a QLocal that is inside the cluster. |
Do you have a sample code to connect to a qmgr inside the cluster from the application outside the cluster. Since we got the .NET client library installed at the application platform. is there a sample C# code available for this simple task? eg. MQ connect or MQOpen, then send a hello message to the qmgr. BTW, the receiving end at the cluster side should be a cluster queue if I want the message from the sender (application outside the cluster) can also continue deliver to the cluster when QM1 is down? By the way, what is the difference between MQConnect and MQOpen. I searched MQConnect, but found nothing for it.
Thanks |
|
Back to top |
|
 |
bruce2359 |
Posted: Sun Nov 02, 2008 5:37 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Click on Sample Code at the top of this page.
MQCONNect and MQOPEN are WMQ API calls. They are documented in the WMQ Application Programming Reference and WMQ Application Programming Guide.
MQCONNect connects the application to a qmgr. MQOPEN opens a queue. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
samsam007 |
Posted: Sun Nov 02, 2008 6:34 pm Post subject: |
|
|
 Centurion
Joined: 30 Oct 2008 Posts: 107
|
Hi,
I want to verify whether my thought is correct in terms of communication between application outside cluster and qmgr inside the cluster.
Here are the steps I can think of:
1. Application outside the cluster use MQOpen to open the clustered queue inside the cluster.
2. Application issue MQPut to send request to the clustered queue.
3. Since QM1 and QM2 are clustered, QM1 or QM2 will pick up the request from the clustered queue.
4. QM1 or QM2 put reply to the clustered queue, and send it back to the application.
But I got some major questions here:
a. Correct me if I am wrong, how does QM1 or QM2 send message back to application using the same clustered queue that receiving request from the application.
2. What is the role of transmission queue here? it seems I don't use the tranmission queue for this task.
Thanks |
|
Back to top |
|
 |
bruce2359 |
Posted: Sun Nov 02, 2008 7:25 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
4. QM1 or QM2 put reply to the clustered queue, and send it back to the application. |
No.
Quote: |
a. Correct me if I am wrong, how does QM1 or QM2 send message back to application using the same clustered queue that receiving request from the application. |
While nothing precludes this, applications do not normally use the same queue for both input and output. Read on:
In the request-reply model, the requesting application usually
a. connects to a qmgr (clustered or not)
b. opens a request queue definition (clustered or not)
c. creates a reply-to-queue dynamically
d. creates a request message: sets the reply-to-queue name and (optionally) the reply-to-queuemanager in the MQMD
e. MQPUTs both the MQMD and application data to the request queue (clustered or not)
f. gets/waits on the reply-to-queue for the reply message from the replying application.
The replying application
g. gets the request message
h. does the back-end processing (database update or whatever)
i. creates the reply message application data and MQMD
j. mqputs the reply message to the reply-to-queue and reply-to-queuemanager taken from the request message. If the reply message must traverse a network from qmgr to qmgr, the reply-to-qmgrname is usually the name of the transmission queue.
The requesting application
k. gets the reply message
2. What is the role of transmission queue here? it seems I don't use the
Quote: |
tranmission queue for this task. |
A transmission queue is used when a message need to traverse a network from one qmgr to another qmgr. In your scenario (where your app connects to a non-clustered qmgr, but the message needs to be routed to a clustered queue on a cluster-qmgr), then a transmission queue will be used to move the message. The queue definition that your application opens will (should) contain attributes that cause the message to be put on a transmission queue. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
|