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 » Help with Message Flow Design

Post new topic  Reply to topic
 Help with Message Flow Design « View previous topic :: View next topic » 
Author Message
jlalbor
PostPosted: Thu Mar 10, 2005 6:03 pm    Post subject: Help with Message Flow Design Reply with quote

Apprentice

Joined: 18 Feb 2003
Posts: 38

We ve the following need:

We have some applications that will request some account data sending a XML message to a queue and reading the reply in another queue, the reply is also a XML message.

The Broker will take the request that the application sends and with the information contained in this request, the broker has to create several CWF messages using data from the incomming message and several databases, and send them to a queue in a Z/OS.
Then, the CICS Bridge running on the mianframe takes the requests, executes some CICS transactions and sends the replies to different queues according to the replyQ that the incomming request had. Then the Broker has to combine the data contained in the replies and create a XML
message as a reply for the aplication that started the flow.

Lets say that the transactions are TSCCRE01 and TSCCRE02.
The problem is that we need to execute first the TSCCRE01 transaction and recieve the reply, then we need to review the data in the reply and if necesary execute transaction TSCCRE02 and wait for the reply.
After recieving the reply of the second transacction we need to review the data of this reply, and in some conditions execute the TSCCRE02 transaction again with new data. The execution of the second transaction is a loop and the condition for executing it again or not depends on the reply info.

After the execution of this transacctions we need to combine all the replies recieved and return a response with all the data combine in a unique response.

I think that the Aggregate Nodes can not deal with this kind of situation where not all request are send
in the same message flow and, where the number of requests are unkown and depend on the information in the replies.

Has anyone any ideas on how to resolve this?
We are thinking to development a custom Java node that sends a message to a queue and reads the reply in another queue and puts the response in the local environment so we can retain all the replies information in the message flow, but we will like to know if there is a better solution for this.

Thanks.
Back to top
View user's profile Send private message
Nizam
PostPosted: Fri Mar 11, 2005 8:22 am    Post subject: Reply with quote

Disciple

Joined: 10 Feb 2004
Posts: 160

1. Fan out
Take the request convert the xml to cwf and send it to mainframe. Since you are using CICS Bridge you need to perform additional steps like set the first 8 characters as the name of the program, set msgid to new(not sure). You fan out 3 messages. request to mainframe, a copy of your original msg and control message.
2. Fan In
Take the response from mainframe and aggregate with your original msg and control message and send it to the response queue.
3. Exception handling will be very complex. Since you can have several kinds of failures like time outs in aggregate nodes, business errors, other broker exceptions, handling error messages from mainframe.
4. You need to consider the size of messages that you will be processing, throughput required etc., If you need to process large messages and need a high throughput......you need to look at the performance support packs/capacity planning and then design your flows.
It will be fun doing this project.
Nyzam.
_________________
Nyzam
IBM Cert. Solution Designer - WBIMB V5
IBM Cert. Administrator - WBIMB V5
IBM Cert. Administrator - WebSphere MQ V5.3
Back to top
View user's profile Send private message
JT
PostPosted: Fri Mar 11, 2005 10:06 am    Post subject: Reply with quote

Padawan

Joined: 27 Mar 2003
Posts: 1564
Location: Hartford, CT.

Quote:
Has anyone any ideas on how to resolve this?
We are thinking to development a custom Java node that sends a message to a queue and reads the reply in
another queue and puts the response in the local environment so we can retain all the replies information
in the message flow, but we will like to know if there is a better solution for this

We have some applications that have been successfully using this very solution. When the Aggregate nodes aren't a good fit, the applications use a custom plug-in that mimics the functionality of the IA09 MQGet plug-in, which is currently on the 'withdrawn' list. The flow is something like this:
  • MQInput node: consumes the XML request message
  • Compute node: builds the TSCCRE01 request
  • MQOuput node: sends the TSCCRE01 request
  • MQGet node: waits/consumes the TSCCRE01 reply, and stores the reply in the Environment tree
  • Compute node: interrogates the TSCCRE01 reply, and if necessary builds the TSCCRE02 request, otherwise builds the XML reply
  • MQOuput node: sends either the TSCCRE02 request or the XML reply
  • Filter node: determines if the message sent was the TSCCRE02 request
  • MQGet node: waits/consumes the TSCCRE02 reply, and stores the reply in the Environment tree
  • Compute node: interrogates the TSCCRE02 reply, and if necessary builds another TSCCRE02 request, otherwise builds the XML reply
  • MQOuput node: sends either another TSCCRE02 request or the XML reply
  • Connect the last MQOuput node to the Filter node and you're in a loop until further TSCCRE02 requests are no longer required. When you're ready to build the XML reply message, the aggregated CICS data is available via the Environment tree.
You can also employ variations, splitting the message flow into seperate flows and using a data/memory store to aggregate the replies. But the method above allows us to report to the front-end application the very nature of a problem/time-out of the back-end application
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Help with Message Flow Design
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.