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 » Mainframe, CICS, TXSeries » Writing a browser application and running it parallely.

Post new topic  Reply to topic Goto page Previous  1, 2
 Writing a browser application and running it parallely. « View previous topic :: View next topic » 
Author Message
Vitor
PostPosted: Wed Nov 26, 2008 2:27 am    Post subject: Re: The whole picture Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

hilla wrote:
The rates of the messages can get to 30 msgs per second at the peak and our cics system programer would like to have the means to run more than one semi-ckbr (browser application) for the times the TOR won't gave enought resources to deal with the msgs.


Taking this into account, and messages greater than 32K, I'd stand by my design. It'll give your sys prog more control, visability and options for scaling.

Which is not to say there are not other methods. But for your situation I still prefer mine.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Wed Nov 26, 2008 6:45 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9471
Location: US: west coast, almost. Otherwise, enroute.

Quote:
30 msgs per second at the peak

Unless your system is incredibly overloaded (CPU, I/O, central storage), I'd be surprised that a peak of 30 msgs per second would be noticed.

What performance/throughput issues is your cics sysprog seeing now that demands an application redesign?

If you want to spread the workload across a parallel sysplex, have the inbound messages arrive at a shared-queue on the CF; let your AORs pull the transactions.
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Wed Nov 26, 2008 11:22 am    Post subject: Re: The whole picture Reply with quote

Grand High Poobah

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

hilla wrote:
Hey,

I'm about to give you the whole story so hold tight

The thing is that We wrote an alternative for the IBM DPL bridge.
We wanted the alternative code to be as similar to the native one, but to add more features: The ability to run it in a TOR+AORs system and route transaction dynamicly by CICSPLEX, add more logging possibilities, support more than 32K.

All messages arive to the same queue and each message is supposed to be read by a different transaction, that why we need the system application to browse the messages for the CIH header and start the transaction written there.

The way we implemented it, is that the transaction is connected to application program (Which was re-written to support this) which calls a number of system routines that gets the msg, builds the reply, send the msg.


Bad design. Go back the drawing board. Have the system program call the application program/transaction and pass the information in shared storage.

hilla wrote:
The rates of the messages can get to 30 msgs per second at the peak and our cics system programer would like to have the means to run more than one semi-ckbr (browser application) for the times the TOR won't gave enought resources to deal with the msgs.

That's the whole story....


And you are having MQ do double duty. First by browsing than by reading.
If you want a faster way try following. Have MQ read the message, copy it to a different queue and pass the message identifier as you already do to the processing program. You still read twice but you have some advantages... like only 2 queues, no browsing.

Ideally refer to the dispatcher as mentioned above passing the message info in shared memory. However you need some special attention to make this thread safe and allow you to process / dispatch to multiple threads. Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
bob_buxton
PostPosted: Sat Nov 29, 2008 6:26 am    Post subject: Reply with quote

Master

Joined: 23 Aug 2001
Posts: 266
Location: England

The Browse with mark function in MQ version 7 was specifically designed to allow for this type of content based dispatching.

Each dispatcher can browse the queue using the options MQGMO_BROWSE_FIRST +
MQGMO_UNMARKED_BROWSE_MSG +
MQGMO_MARK_BROWSE_CO_OP +
MQGMO_ACCEPT_TRUNCATED_MSG +
MQGMO_WAIT +
MQGMO_FAIL_IF_QUIESCING +
MQGMO_CONVERT
to get a message that hasn't been seen by any other dispatcher.
It can then start the appropriate transaction passing the unique message token of the message to the transaction which can then do a MQGET with MQMO_MATCH_MSG_TOKEN.

If for any reason the transaction backs out or does not run within the Mark Interval the mark will be released and the dispatcher will see the message again.

An alternative to using the Browse with Mark function is for the dispatcher to destructively get the message and pass it to the transaction in a CICS channel Container which avoids the overheads of two MQGETs but this approach may not be suitable for persistent messages since you would need to think about message loss in failure scenarios.
_________________
Bob Buxton
Ex-Websphere MQ Development
Back to top
View user's profile Send private message
bruce2359
PostPosted: Sat Nov 29, 2008 7:31 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9471
Location: US: west coast, almost. Otherwise, enroute.

Quote:
The rates of the messages can get to 30 msgs per second at the peak and our cics system programer would like to have the means to run more than one semi-ckbr (browser application) for the times the TOR won't gave enought resources to deal with the msgs.

What leads you to believe that your TOR and AOR can't keep up with 30 messages per second? Are you missing SLAs now? What tuning efforts have your CICS and MVS sysprogs performed? What were the results? How were the results evaluated?

Additional layers of home-grown software to workload-balance seems to me to be an overreaction.
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page Previous  1, 2 Page 2 of 2

MQSeries.net Forum Index » Mainframe, CICS, TXSeries » Writing a browser application and running it parallely.
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.