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 » General Discussion » Triggering methods on Z/OS

Post new topic  Reply to topic
 Triggering methods on Z/OS « View previous topic :: View next topic » 
Author Message
vsridhara
PostPosted: Thu Feb 12, 2009 12:08 am    Post subject: Triggering methods on Z/OS Reply with quote

Novice

Joined: 12 Feb 2009
Posts: 10

Hi,
we are implementing MQ on our Z/OS system and would want to have triggering methodology implemented. Can any of the gurus enlighten me about the triggering methodologies available and how we can implement them? To note here is we are only using DB2, JCL, PL/1 and no IMS/CICS interaction with MQ.
also please address if asynchronous reads happen from the queue due to triggering, the jobs still will be held in the queue due to identical job names. How to handle this?

Thank you in advance
Vijay S
Back to top
View user's profile Send private message
Mr Butcher
PostPosted: Thu Feb 12, 2009 12:32 am    Post subject: Reply with quote

Padawan

Joined: 23 May 2005
Posts: 1716

for triggering you need a trigger monitor. as you require triggering for batch jobs (thats what i read from your question) you should download the proper sample from the MQSeries supportpac site and modify it to fit your needs. There are different ways to start the application job... some submit jobs directly from the trigger monitor, either by using the supplied data from process definition, or by using jcl templates from pdf libraries, some call the proper scheduler e.g. ca7 to submit the job, some do this, some do that...

of course you should not use trigger every when triggering batch jobs, i suggest to use trigger first, have the application program process all messages on the queue and then wait for some time if more messages arrive. then you will have no jobs piling up ......
_________________
Regards, Butcher
Back to top
View user's profile Send private message
bruce2359
PostPosted: Thu Feb 12, 2009 6:22 am    Post subject: Reply with quote

Poobah

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

SupportPac MA12 is a good place to start.
_________________
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
zpat
PostPosted: Thu Feb 12, 2009 6:49 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5849
Location: UK

You don't have to use triggering.

You could have a long running batch job (scheduled via your OPCS or similar) which processes messages as they arrive (MQGET with WAIT).

If your messages arrive frequently (eg more than one per minute) then I would suggest this method is more efficient.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Thu Feb 12, 2009 7:57 am    Post subject: Reply with quote

Poobah

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

Quote:
of course you should not use trigger every when triggering batch jobs

Trigtype(every) is a choice on all MQ platforms, but is appropriate only when SLAs demand multiple, concurrent application instances; and when message affinity is not involved, and sufficient resources exist to handle the potential application storm. What better place to have such an application than z/OS.

Given the mainframes abundant resources, and its long history of meeting enormous workload demands, I would not summarily rule out trigtype(every). Again, every is a choice.
_________________
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
Mr Butcher
PostPosted: Thu Feb 12, 2009 8:00 am    Post subject: Reply with quote

Padawan

Joined: 23 May 2005
Posts: 1716

Quote:
Again, every is a choice.


not for batch triggering. if you use cics or ims, yes.

do you really want 10.000 batch jobs being triggered when 10.000 messages arrive within 5 seconds?
_________________
Regards, Butcher
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Feb 12, 2009 8:02 am    Post subject: Reply with quote

Grand High Poobah

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

bruce2359 wrote:
Given the mainframes abundant resources, and its long history of meeting enormous workload demands, I would not summarily rule out trigtype(every). Again, every is a choice.


In this specific instance, we're talking about batch triggering. So the appliction storm, while it won't cause machine wide resource shortages or instability, will fill the JES queues quite effectively and make you fairly unpopular with a diverse group of people.

Where trigger(every) is commonly used in mainframe online triggering, where you've access to the failicities CICS offers to control application storms. Which of course is just moving the control from WMQ to CICS, but CICS is more configurable and tends to be preferred.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Thu Feb 12, 2009 8:26 am    Post subject: Reply with quote

Poobah

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

Quote:
will fill the JES queues quite effectively

I'm thinking of transactions that, for whatever reason, can't/don't run in traditional transaction processores like CICS or IMS. Yes, they might be initiated from CICS or IMS, or from a triggered batch application. But short of rewriting batch jobs to run in transaction-friendly CICS/IMS environments, batch storms work, and with planning will not be fatal.

An aside: when 10,000 tso users log on at the same time, like 8:00am, MVS barely notices.

I'm certainly not recommending long-running batch jobs or those that produce lots of sysout. A transaction by definition is short-running, low output.

Some planning to accomodate more jes jobnumbers, more intiators, jes spool, more whatever, will be required. These are not show-stoppers usually.
_________________
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
Vitor
PostPosted: Thu Feb 12, 2009 8:35 am    Post subject: Reply with quote

Grand High Poobah

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

bruce2359 wrote:
Some planning to accomodate more jes jobnumbers, more intiators, jes spool, more whatever, will be required. These are not show-stoppers usually.


You've met some nicer sys progs than I have. Getting another job class running typically takes weeks of reports, impact analysis, scheduling evaluation and meetings. And a new initiator? Starting another one of those could cause earthquakes, plague, drought and a rain of fire!

I mean, it's not like either thing is a one line command on the console.....
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Thu Feb 12, 2009 8:45 am    Post subject: Reply with quote

Poobah

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

Some additional comments...

There are two schools of thought, two philosophies at work here.

1) use all the resources necessary to meet SLAs
2) conserve resources (for emergency and future use)

As a consultant, I'm not burdened with the second one. If your SLA calls for more hardware, software, whatever, then you need to acquire it or renegotiate your SLAs. I'm thinking that you own this Boeing 777; why are you only filling 2/3s of the seats? Are you expecting additional passengers after you depart?

As a manager, operations and tech-support person, I must pay attention to the second for continuous operation and in anticipation of unplanned demand.

My post replies here are in the spirit of 1) above. There's a requirement; z/OS can meet it easily. I certainly can't say the same for Windows and UNIX.

I've worked for many organizations that were so focused on 2) that they spent far too much effort and $ deploying applications to meet the existing environment - an environment that history has proved changes every few years.
_________________
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
bruce2359
PostPosted: Thu Feb 12, 2009 8:54 am    Post subject: Reply with quote

Poobah

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

Quote:
You've met some nicer sys progs than I have.

Perhaps one or two.

Most sysprogs, like other employees, are in the conservation of resources mode, not the use all resources mode. I understand and expect this view of the computer room. And, ultimately, I support it - there need to be some restrictions.

However, new business requirements require new stuff - change. Who would have thought sysprogs don't like change!
_________________
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
zpat
PostPosted: Thu Feb 12, 2009 10:49 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5849
Location: UK

Speaking as a former SysProg - I think you will find they love change. It's their management that like to restrict it.

Triggerevery does not sound like a good idea. As I have said already, triggering is not even needed.

If you are going to start more than about 100 jobs a day, I would recommend a long-running job, or a started task that waits for messages to arrive.

z/OS will swap out an inactive job and very few resources will be used by a job waiting for messages to arrive. Much better than starting and stopping the job each time.

In any case you have to run the trigger monitor waiting for trigger messages, so why not just run the actual application to wait for application messages and cut out the middle-man!

Triggering is a terminally old-fashioned concept, except where you have a variety of different applications which are occasionally started.

If you are frequently needing to run the same application - just leave the thing running all the time!

Make sure the MQGET uses MQGMO_WAIT, CONVERT, FAIL-IF-QUIESCING (and syncpoint if you want to ).
Back to top
View user's profile Send private message
bruce2359
PostPosted: Thu Feb 12, 2009 11:03 am    Post subject: Reply with quote

Poobah

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

Quote:
why not just run the actual application to wait for application messages and cut out the middle-man!

No argument from me on this subject, other than ruling it out sumarily.

If more concurrency is required, then why not start 5 or 10 instances of the same actual application, and let them get as many messages as they can?
_________________
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
zpat
PostPosted: Thu Feb 12, 2009 1:19 pm    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5849
Location: UK

Because he's not asked for that and one batch program will process a considerable number of messages per second anyway.

After all what is a CICS region other than a type of batch job?

Starting a load of batch jobs fighting for the same messages is unlikely to be necessary.

If one long running batch job (or started task) is not enough (seems unlikely) then run two or more, still no need for triggering.

I have programmed for z/OS extensively in supervisor state, key zero, Assembler code and I really do know what I am on about here.

There is a considerable overhead in JES2 job initation and termination.

My advice - do not use batch triggering. Never use trigger every.
Back to top
View user's profile Send private message
Mr Butcher
PostPosted: Fri Feb 13, 2009 4:33 am    Post subject: Reply with quote

Padawan

Joined: 23 May 2005
Posts: 1716



i fully agree to the second one...... for the first one ... we do trigger batch, but we never use every, and only for low message traffic and for "special" applications (more system related rather than application related, like DLQ handling or similiar)

hovever if somebody really wants to go for trigger every in batch .... everybody is free to learn by his own mistakes
_________________
Regards, Butcher
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 » General Discussion » Triggering methods on Z/OS
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.