2.5.3 Non Concurrent Synchronous Transaction Servers (MAXACTIVE = 1 (ARTSTR1))

  • On CICS:
    • Transactions that are defined as belonging to a transaction class are subject to scheduling constraints before they are allowed to execute.
    • If transactions belonging to an active transaction class are already running, any new transactions are queued.
    • The MAXACTIVE attribute is used to specify the maximum number of transactions that you want to run.
    • By putting your transactions into transaction classes, you can control how CICS dispatches tasks.
  • In CICS Runtime:
    • The scheduling of transactions and the affectations of resources to group of transactions is performed differently. The number of servers offering transactions determines the scheduling of transactions, and the relative amount of resources affected to a group of transactions.
    • The special case of MAXACTIVE 1:
      • This case is very specific, because it impacts the functional characteristics of the application.
      • It ensures that two transactions of the same class will never execute concurrently. It defines a mutually exclusive behavior that is preserved on the target platform to guarantee correct behavior of the application.

The transactions belonging to a tranclass with a maxactive =1, will not be offered by ARTSTRN servers, because several such servers can automatically be started to manage parallel processing.

Instead, a dedicated type of server—ARTSTR1—is allocated to this role. An ARTSTR1 server publishes the transactions belonging to one TRANCLASS with MAXACTIVE = 1, guaranteeing that two transactions of the same tranclass with maxactive =1, will not execute concurrently. In Tuxedo terms, guaranteeing than two such transactions are not published by two different servers.

To summarize the differences:

  • ARTSTR1: Publishes only once transactions belonging to a MAXACTIVE 1 tranclass.
  • ARTSTRN: Publish as many times as needed, transactions with MAXACTIVE >1.