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 » Correlating Messages in Aggregate schema

Post new topic  Reply to topic
 Correlating Messages in Aggregate schema « View previous topic :: View next topic » 
Author Message
nelson
PostPosted: Fri Mar 20, 2015 8:20 am    Post subject: Correlating Messages in Aggregate schema Reply with quote

Partisan

Joined: 02 Oct 2012
Posts: 313

Hi All,

I have two questions:

1) The documentation is not very clear to me when it states the following :

Quote:
Store some correlation information in one of the requests sent out as part of the aggregation.


Specifically what is "Store some correlation information"? I know this work pretty straightforward under the MQ protocol, as showed in the Aggregation sample, when it is used the MsgId/CorrelId pair to do the correlation. But how could one specify this reply identifier manually? The KC says that one could use ReplyIdentifier in the Properties folder, but when the broker chooses ReplyIdentifier and when CorrelId for example? What happens under other protocols such HTTP?

2) Is it possible to use Aggregate Reply within the same flow where the Aggregate requests are done (within the same thread, for example, if I wouldn't want to do a series of tasks sequentially and would't like to store responses in the Environment)? Since this is a transaction and the broker internally uses queues to store and handle aggregation processing...

Any of you have run into this issue?

Thanks in advance for your help.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Mar 20, 2015 9:01 am    Post subject: Reply with quote

Grand High Poobah

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

Understand following scenario:
Fan out flow
supplier of information flows ->
-> Fan in flow => reply to (SOAP, HTTP, MQ...)

So how is the fan in flow going to get the correlation information to allow it to perform the reply after the aggregation?
Consider creating a "dummy" provider to add to the aggregation. The dummy provider keeps the content and flips msgid to correlid. The content of that message would then be the information needed for the reply to. (correlation id, qmgr, queue, SOAP or HTTP reply token, etc...).

Hope that answers your question
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
nelson
PostPosted: Fri Mar 20, 2015 9:16 am    Post subject: Reply with quote

Partisan

Joined: 02 Oct 2012
Posts: 313

fjb_saper wrote:
Understand following scenario:
Fan out flow
supplier of information flows ->
-> Fan in flow => reply to (SOAP, HTTP, MQ...)

So how is the fan in flow going to get the correlation information to allow it to perform the reply after the aggregation?
Consider creating a "dummy" provider to add to the aggregation. The dummy provider keeps the content and flips msgid to correlid. The content of that message would then be the information needed for the reply to. (correlation id, qmgr, queue, SOAP or HTTP reply token, etc...).

Hope that answers your question


fjb_saper thanks for your reply.

This scenario is assuming you're using MQ... since you need to flip the MsgId to CorrelId. I understand that Aggregate Reply works fine in this scenario. What I'm wondering is how this works for other protocols, and how the Aggregate Reply node reads the input message and do the task of correlating messages that has no MQMD. The documentation does not refers to this point (or I haven't search good enough ) Only says this:

Quote:
Store some correlation information in one of the requests sent out as part of the aggregation.


That for me is very vague an imprecise.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Mar 20, 2015 10:36 am    Post subject: Reply with quote

Grand High Poobah

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

nelson wrote:

This scenario is assuming you're using MQ... since you need to flip the MsgId to CorrelId. I understand that Aggregate Reply works fine in this scenario. What I'm wondering is how this works for other protocols, and how the Aggregate Reply node reads the input message and do the task of correlating messages that has no MQMD. The documentation does not refers to this point (or I haven't search good enough ) Only says this:

Quote:
Store some correlation information in one of the requests sent out as part of the aggregation.


That for me is very vague an imprecise.

You've only scratched my scenario. You may have noticed me using terms like SOAP / and HTTP....
The thing is that the aggregation requests will all be MQ. as well as the replies to the Fan in. So the correlation there is easy.
The point you seem to be missing is that when the fan out and the fan in are separate flows, you need some way to match the reply at the end of the fan in with the request at the beginning of the fan out.

This is where the extra aggregation request comes in. It will carry the replyto information. (Token for SOAP or HTTP, msgid, correlid. replyto qmgr and replyto queue for MQ). This way that information will be available to the fan-in as a member / part of the aggreation.

If your aggregation information providers are not MQ based, nothing prevents you from doing a quick flow with MQ input --> call aggregation info provider --> MQ Reply... and that reply gets put on the aggregation fan it queue...

Hope this clears it up.
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
nelson
PostPosted: Fri Mar 20, 2015 12:35 pm    Post subject: Reply with quote

Partisan

Joined: 02 Oct 2012
Posts: 313

fjb_saper wrote:
The thing is that the aggregation requests will all be MQ. as well as the replies to the Fan in. So the correlation there is easy.


I'm sorry, but I'm not following you.

For instance, we have this:

Flow 1:

Code:
HTTPInput -> Aggregate Control -> SOAPAsyncRequest -> AggregateRequest


Flow 2:

Code:
SOAPAsyncResponse -> AggregateReply -> HTTPReply


I don't see here any MQ intervention, unless the internal processing of aggregation, of which we don't have visibility.

That's my point, because the documentation clearly states:

Quote:
The aggregation nodes work correctly only for transports that use a request/reply model; for example, WebSphere® MQ Enterprise Transport.


And only says:

Quote:
Store some correlation information in one of the requests sent out as part of the aggregation.


And also says that you could use ReplyIdentifier in the Properties folder. But anywhere says you need to use MQMD.

Could you please give me some advise here?
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Mar 20, 2015 5:52 pm    Post subject: Reply with quote

Grand High Poobah

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

You got me there. So far I've only done aggregation with MQ. It simplifies things somewhat because you can make all the parallel branches start at the same time, when the fan out flow commits... Makes the timeout more precise....

Whenever I had a request for information on the aggregation that went HTTP or SOAP, I used to front it with an MQ based flow...


_________________
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 » Correlating Messages in Aggregate schema
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.