Choosing the appropriate processing mode
To provide a complete and comprehensive checkpoint/restart solution, the QUICKSTART for MVS (QSM) product includes a number of different checkpointing modes. These different modes provide the flexibility and functionality to ensure that QUICKSTART can be used regardless of the language/DBMS in use, or any specific requirements that a site may have.
The different modes include:
- Transparent mode—for COBOL II applications which access DB2 or perform no database activity (“non database”)
Transparent Mode provides the greatest ease of implementation. In this mode ALL checkpoint activity is automatically and transparently managed by QUICKSTART on behalf of the application based on JCL runtime parameters. In most cases there are no source code or QUICKSTART specific changes required. - API mode—the most general and flexible checkpointing mode supports all languages and databases without limitation.
With API mode the application explicitly invokes QUICKSTART checkpoint services. QUICKSTART’s Parallel Processing feature is a multitasking extension of the API mode. - IMS Checkpoint Replacement mode—for existing applications that use the IMS Checkpoint/Restart Facility; requires no modification to source code
QUICKSTART intercepts the IMS calls and automatically replaces those with the corresponding QUICKSTART call. - MVS Checkpointing mode—for applications such as packaged software for which the source code is not available
This mode is only recommended in limited situations.
With a variety of modes to choose from, inevitably the first question a new QUICKSTART user has to address is, “which mode should I use?”.
There are many factors that determine which QUICKSTART mode should be used. While Transparent Mode is the easiest mode to use, and therefore the obvious mode of choice, it can only be used with COBOL II and DB2 or non database applications and does have certain restrictions (e.g., the Parallel Processing Extension can only be used with API mode, not with Transparent Mode). As a result, this mode may not be able to support all of a site’s restart requirements.
The primary factors in determining the mode to use are:
The language and database in use (see the following table about features by Modes/DBMS cross-reference)
Feature
Applicable Mode
Unforced & Forced checkpoints in the same program
API Mode
ABEND Interception
Transparent Mod
QCF
API Mode
VSAM ESDS
API (QUICKSAM)
QSSTATS
ALL Modes / DB2 only
COBOL EXTERNAL files and EXTERNAL Working Storage
API Mode
DB2 -911 and IMS U0777 retry with no code changes
Transparent Mode
COBOL in-line sort
API Mode
RMODE (31) /RENT compile option
API Mode
For COBOL II and DB2 or non-database applications - Transparent Mode is a good choice. Other languages or databases should use one of the other modes.
- Application requirements
Checkpoint/Restart. While almost all of QUICKSTART’s features are supported by all of QUICKSTART’s modes (ALL features are supported in API Mode) some features are only applicable for certain DBMSs and other features can only be used in certain modes. For instance, you may only FORCE a checkpoint (CKPTREQUEST- TYPE = “F”) in API mode. Refer to the previous table for a cross-reference listing QUICKSTART’s features that are not available in all modes, and the mode that supports each specific feature. - Site standards
Some sites want to pick one standard for checkpoint/restart. While Transparent Mode will work for many of their applications, because it doesn’t support all of them, they choose API Mode. Please Note, QUICKSTART fully supports implementing different modes in different programs and the use of multiple modes executing at the same time. This consideration is purely based on an organization’s standards, and not on QUICKSTART limitations. - Restrictions
Transparent Mode has some compile and link restrictions which may require some applications to use API Mode. For more information, see Compile-and-Link-requirements.
QUICKSTART DB2 mode and language/DBMS are cross-referenced in the following table:
Language | DB2 |
|---|---|
COBOL II | TRANSPARENT or API |
IBM COBOL for OS/390 | API |
PL/1 | API |
IEF | TRANSPARENT or API |
ADW | TRANSPARENT or API |