Author |
Message
|
NewMB |
Posted: Thu Mar 03, 2005 12:08 pm Post subject: New Idea |
|
|
Apprentice
Joined: 05 Jan 2005 Posts: 42
|
I am designing a flow to pass and reformatti messages between System A and B. Here is the scenario.
System A sends a request message "MQMD + System A header + Body" to Message Broker, and Message Broker will reformat the message and send it to System B.
Now, System B sends back a reply Message "MQMD + System B header + Body" to Message Broker, and Message Broker will reformat and send it to System A.
Problem: In order to pass back the message from System B to System A. I need the System A header but it is not contained in the reply message from System B. So, I need to save the System A header when the request message first arrives to Message Broker to somewhere. But I don't know where.......
**** I know database could help but it is not an option because of large volume of messages (insert and delete sql commands). |
|
Back to top |
|
 |
EddieA |
Posted: Thu Mar 03, 2005 12:26 pm Post subject: |
|
|
 Jedi
Joined: 28 Jun 2001 Posts: 2453 Location: Los Angeles
|
If you need the information to be "persistent", then a DB is the only way to go. Or, maybe, the withdrawn MQGet node, which if you search this forum you can find information of how people have got it to work on V5.
Otherwise, look at one of the Cache node SupportPacs.
Cheers, _________________ Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0 |
|
Back to top |
|
 |
NewMB |
Posted: Thu Mar 03, 2005 12:36 pm Post subject: |
|
|
Apprentice
Joined: 05 Jan 2005 Posts: 42
|
Thanks for the reply. I will definitely look into it. thanks |
|
Back to top |
|
 |
JT |
Posted: Thu Mar 03, 2005 1:21 pm Post subject: |
|
|
Padawan
Joined: 27 Mar 2003 Posts: 1564 Location: Hartford, CT.
|
We use the IA91 Broker Domain Data Store supportpac for a similar scenario, i.e. a messageflow processing the reply message requires data that was present on the request message.
Our preferred method is to somehow append that data to the payload of the message. When that proves to be ineffective, our second preference is to use the memory store. Since the data we store is generally minimal in size and it doesn't have a persistency requirement (to surive an outage), we prefer the memory storage over a database solution based on its superior performance. |
|
Back to top |
|
 |
TonyD |
Posted: Thu Mar 03, 2005 1:47 pm Post subject: |
|
|
Knight
Joined: 15 May 2001 Posts: 540 Location: New Zealand
|
Consider using Aggregate nodes to pass the header info in a message directly to the flow that reads system Bs reply. The fan-in comprises the reply and the header message. |
|
Back to top |
|
 |
jfluitsm |
Posted: Sat Mar 05, 2005 9:19 am Post subject: |
|
|
Disciple
Joined: 24 Feb 2002 Posts: 160 Location: The Netherlands
|
Another possibility is to add a RFH or RFH2 header.
Applications have to allow this and return all header information not ment for them.
So in your case B gets the header from A, doesn't know what ot do with it and returns the information in the reply.
Using RFH or RFH2 for header information has also the benefit of not mixing the mostly technical information with the business data in the message. _________________ Jan Fluitsma
IBM Certified Solution Designer WebSphere MQ V6
IBM Certified Solution Developer WebSphere Message Broker V6 |
|
Back to top |
|
 |
bim_newbie |
Posted: Mon Mar 07, 2005 1:27 pm Post subject: |
|
|
Newbie
Joined: 16 Feb 2005 Posts: 8
|
If you do not want the complete header, may be you want to introduce a UserData section in both the headers and the systems will simply pass it back with out any modifications. |
|
Back to top |
|
 |
NewMB |
Posted: Wed Mar 09, 2005 9:44 am Post subject: |
|
|
Apprentice
Joined: 05 Jan 2005 Posts: 42
|
TonyD:
I thought of using Aggregrate nodes before but how does the flow knows which message it should pick from a queue? Unless I go to User-Defined node to get message from a queue by matching CorrelID.
jfluitsm and bim_newbie:
I also considered using MQ headers (RFH, RFH2 and usr) to store the header but that will require a huge change from the back-end.
New question:
I deployed IA91 Broker Domain Data Store Support pac to my toolkit and Message Broker engine (Windows XP and 2003 Server).
1. I am using a compute node to add value to the environment
SET Environment.Variables.go[1].key = 'AAA';
SET Environment.Variables.go[1].data = 'BBB';
2. A CachePut node is right after the compute node and location of key and data are specified as:
Key = Environment.Variables.go.key
Data = Environment.Variables.go.data.
3. The message is sent to a queue (MQOutput).
Now, when I try to get the cache data from the other flow, I receive nothing.
Here is the flow design for retrieving cache data.
1. A MQInput node to start the flow.
2. A CacheGet node and location of key and data are specified as the
CachePut node.
3. A MQOutput node.
The message generated out from the retrieve flow doesn't have the cache data and I couldn't find anything available info from IBM that can help me to debug. Does anyone successfully implement a flow using CacheGet and CachePut node? If so, would you be able to explain how your flow put and get Cache data?
Thanks |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Mar 09, 2005 9:52 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
NewMB wrote: |
New question |
It's easier on the rest of us if new questions go in new threads - and those threads have relevant titles, like "Problem using IA91". _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
JT |
Posted: Wed Mar 09, 2005 9:57 am Post subject: |
|
|
Padawan
Joined: 27 Mar 2003 Posts: 1564 Location: Hartford, CT.
|
What's the 'scope of the cache', broker domain or execution group? If it's broker domain, you need to implement a message flow with a RealTimeOptimizedFlow node, because MQ Real-time transport is used to communicate between brokers.
Also, I don't think the plug-in supports the Environment tree for key and data references. We've been successfully using the Root tree |
|
Back to top |
|
 |
NewMB |
Posted: Wed Mar 09, 2005 10:34 am Post subject: |
|
|
Apprentice
Joined: 05 Jan 2005 Posts: 42
|
Thanks Jeff, I will post it as a new topic.
Thanks |
|
Back to top |
|
 |
|