Posted: Thu Jan 29, 2015 12:58 pm Post subject: Collector node Vs Aggregate nodes
Novice
Joined: 12 Feb 2004 Posts: 18
Environment - IIB 9.0.02 and WMQ 7.5.0.1
Use Case - Single request with multiple stock symbols are received for quotes. External webservice can handle only one symbol in a request. The response should contain all the stock quotes of the incoming request-which probably can be done using aggregation.
-------------Solution with Aggregate Nodes-----------
Request Flow -
MQInput->AggControl->ComputeNode(Propagate single request)->MQOutput(Input for StockQuote WebSvc)->AggRequest
StockQuote Web Service
MQInput->Compute(Save MQ Header)->SOAPEnvelope->SOAPRequest->Compute(Create Rep with saved MQ Header)->MQReply(Input for AggReply)
Reply Flow
MQInput->AggReply->ComputeNode(Aggregate all single requests)->MQOutput
-------------Solution with Collector Node-----------
Request Flow -
MQInput->ComputeNode(Propagate single request)->MQOutput(Input for StockQuote WebSvc)->AggRequest
->Timer Control for collector
StockQuote Web Service
MQInput->Compute(Save MQ Header)->SOAPEnvelope->SOAPRequest->Compute(Create Rep with saved MQ Header)->MQReply(Input for AggReply)
Reply Flow
TimerNotification(To Collector Control)->
MQInput ->Collector->ComputeNode(Aggregate all single requests)->MQOutput
Problem/Issue-
If I were to use Collector node I need to use MQOutput node in the webservice as MQReply changes the correlid. This can be done away with by using
SET OutputRoot.MQMD.Report = MQRO_PASS_CORREL_ID
But with the above property the Aggregate nodes dont work as the aggregate correlid gets messed up. Is this expected behaviour?
I intend to have the webservice call as a reusable component for other services.
If you do an aggregation, I believe each branch is expected to have it's own correlid. However having the same correlId would work fine for a collection.
So in your case I believe a collector node might be more appropriate...
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