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 » WebSphere Message Broker (ACE) Support » Can we implement Syncronus MQ Service

Post new topic  Reply to topic
 Can we implement Syncronus MQ Service « View previous topic :: View next topic » 
Author Message
raju789
PostPosted: Thu Dec 09, 2010 10:50 pm    Post subject: Can we implement Syncronus MQ Service Reply with quote

Newbie

Joined: 09 Dec 2010
Posts: 2

Hi,
I have a e requirment where I have to join the request and response message flows in to one i.e make the flow syncronus.

The current request response is handled with MQ queues currently

Have any one implemented this kind of scenario.

I know that we may use MQGet node but any specific information or suggestios are welcome

-Raj
Back to top
View user's profile Send private message
zpat
PostPosted: Thu Dec 09, 2010 11:14 pm    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

If you are asking how to call a synchronous service over MQ (a pair of queues) during a message flow then there are several ways.

1. Use MQOutput node (transaction NO) and MQGET node - this makes the flow wait for the response. Ideally match the response message by msgid or correlid to the request, so that multiple instances can run at the same time if needed using the same pair of queues (also you can be sure that the response message is not an old one that has been left).

2. Use MQOutput mode and end the flow. Arrange for the response message to start a new flow (MQinput). This is stateless and more efficient with higher volumes. It is also less tightly coupled and more resistant to delays on the server end.

Consider setting expiry times, especially on response messages. The service called should copy the request message id to the response correlid. All this sort of thing is documented on this forum if you search.

Consider all the "what if" such as lack of a response message, or a response messages not being removed from the queue (e.g. if it arrives after the requestor has stopped waiting for it)?

What happens if more than one instance of the flow runs at once? What are the throughput requirements, is serialisation or sequencing needed etc? Synchronous client/server designs need careful testing under load stress and when the server end is down etc.

What will you do if there is no response? What will you do if someone if trying to stop the broker while you are waiting? The list goes on.

The aggregation (or collector) node may be something to look at for this.
Back to top
View user's profile Send private message
raju789
PostPosted: Thu Dec 09, 2010 11:26 pm    Post subject: Reply with quote

Newbie

Joined: 09 Dec 2010
Posts: 2

Quote:
1. Use MQOutput node (transaction NO) and MQGET node - this makes the flow wait for the response. Ideally match the response message by msgid or correlid to the request, so that multiple instances can run at the same time if needed using the same pair of queues (also you can be sure that the response message is not an old one that has been left).


Thanks for reply. I want to make use of scenario 1. I have few questions.

1.In this scenario, Do we wire the MQ outout node to the MQGet node....
Does the MQGet node wait for the response i.e get a message with matching correlation id?


2. Can we set an expiry for the period that MQGet node waits for the response?

3. 2. If we run this a multithreaded, does the MQGet pick the correct message with the MQGMO options are set for matching correlation id, i.e with out any sequencing issues? I know the question is dumb as we write simple applications that do the same but making sure
Back to top
View user's profile Send private message
smdavies99
PostPosted: Fri Dec 10, 2010 12:17 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

May I humbly suggest that you actually try this out.
You know, construct a flow that tries to do what you want. Play with it. Experiment.
Most of your questions will be answered.

For example, drop the MQGet node onto a flow and look at the configurable properties. What do you see? Do any of them answer at least one of your questions.

What you are asking is very basic Broker 101 - Using WMQ Nodes

If you can't do this then you obviously need some proper training.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Dec 10, 2010 6:56 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Check the request/reply sample flows. I'm sure they'll answer your questions.
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Can we implement Syncronus MQ Service
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.