Features

1. Overview

OpenFrame/Batch provides an open system environment where mainframe batch jobs can run without any modifications to the existing business logic. Furthermore, OpenFrame/Batch provides the following benefits.

  • Greatly reduces the cost of migrating to an open system environment (when compared to a full redevelopment) by allowing existing batch scripts to be reused.

  • Provides a range of batch system functions for data set management, HiDB, TACF authentication, and access control. These functions match the functions provided by mainframes, ensuring that rehosting is safe for the customer and that original business logic is maintained.

  • Allows users to use applications designed for UNIX, easing the development of new batch processes for users.

  • Supports a distributed environment that can rehost the batch system on multiple linked UNIX servers.

  • Uses Tmax® (Tmax), TmaxSoft’s powerful TP monitor, to provide superior failover and stability features, allowing scheduled batch jobs to proceed even when a hardware or database (network) error occurs.

2. TJES

The Tmax Job Entry System (TJES) is an OpenFrame module that manages batch jobs. It matches the functions that are provided by JES on a mainframe.

Built on a number of components such as the Tmax TP monitor, OpenFrame/Base, the lock server, and Tmax Access Control Facility (TACF), the TJES module interacts with other systems.

figure 3 1
Batch System Architecture

OpenFrame/Base system provides data manipulation (record read/write) functions and data set I/O functions that are essential for starting and executing the jobs defined in JCL. TJES uses a unique storage method, the spool data set, which stores the inputs required for job execution in addition to the execution results.

For more information about OpenFrame/Base, refer to OpenFrame Base Guide.

In terms of lock, security and integration with Tmax, TJES provides the following functions.

  • Lock

    The TJES system can handle parallel execution of multiple jobs based on a scheduling policy. When the TJES system performs an I/O operation on a data set, it requests that the lock server lock the data set that is being used. Then, the lock server use the DBMS_LOCK package to ensure that the I/O operation has exclusive access to the data set. If the data set has already been locked by another job, TJES waits until the previous job finishes and the data set lock is removed. This means that the TJES system uses the lock server to prevent different processes from simultaneously accessing a data set, which guarantees data integrity.

  • Security

    Batch jobs strain system resources, and protecting these resources from unauthorized users is critical. When the TJES system executes batch jobs, it first sends a request to the TACF (Tmax Access Control Facility) to ensure that the user has permission to access the particular resource. TACF then informs TJES about whether or not the user can access the resource. In this way, TJES protects important system resources by preventing unauthorized users from accessing system resources.

  • Linkage with Tmax

    Compared to other vendors' systems, TJES can reliably build multi-nodes for distributed processing and provides consistent fail-over protection since it uses the company’s proprietary Tmax.

    • Distributed processing

      All programs in the TJES system are based on the concept of Tmax server processes. These server processes handle the management and execution of batch jobs. If the number of batch jobs increases, the load can be balanced by distributing the load with Tmax or by increasing servers.

    • Fail-over

      It is important for users to be able to continue working in the event of an unexpected hardware or network failure. In the event of a failure, Tmax will detect and attempt to either fix or bypass the problem. For example, if one node shuts down for any reason, Tmax detects the error and restarts the node automatically. This ensures that batch jobs are able to continue uninterrupted even in the event of localized failure.

      Additionally, if a node is in an unrecoverable state, program control is passed automatically to another node. Users can continue running batch jobs without being affected by the inactive node.

3. Utilities

Utilities are written in the JCL PGM, and the program component that executes the actual batch jobs when the jobs are submitted.

Each utility can be classified by its function as follows:

  1. For more information about the utilities, refer to "Chapter 5. Other Utilities" in OpenFrame Utility Reference Guide.

  2. For more information about the DFSORT utility, refer to OpenFrame SORT Utility Reference Guide.

3.1. Data Set Manipulation Utilities

OpenFrame/Batch provides a number of utilities for managing data sets. They are intended to match the data set management utilities provided by mainframes. Generally, these utilities are used for deleting, renaming, cataloging/uncataloging, moving, copying, merging, or modifying data sets. The utilities can be divided into three types: system utilities, data set utilities, and the VSAM utility.

  • System Utilities

    The following describes each utility.

    Utility Description

    IEHLIST

    Provides information about partitioned data sets (PDS) with the members list or volume information with the list of data sets included in the volume.

    IEHPROGM

    Manages non-VSAM data sets.

  • Data Sets Utilities

    The following describes each utility.

    Utility Description

    ADRDSSU

    Used when using JCL to call DFSMSdss functions supported by the IBM Mainframe MVS environment.

    DFHJUP

    Retrieves and processes CICS log data in SMF data sets.

    IEBCOMPR

    Compares two SDSs or PDSs through comparison conditions and displays the results.

    IEBCOPY

    Copies or merges all or some members of one or more PDS.

    IEBDG

    Creates test data sets.

    IEBEDIT

    Writes or edits job stream data sets.

    IEBGENER

    Copies sequential data sets or PDS members.

    IEBPTPCH

    Creates data for sequential data sets or all/some of PDS members in the actual display format.

    IEBUPDTE

    Creates, updates and copies resources (application sources, JCL sources and others).

    IFASMFDP

    Dumps SMF data sets to normal data sets or initializes the contents of SMF data sets.

  • VSAM Utilities

    The following describes each utility.

    Utility Description

    IDCAMS

    Creates and manages VSAM and non-VSAM data sets and catalogs.

3.2. Database Utilities

The following describes each utility.

Utility Description

DSNMTV01

Enables connection when an application uses certain database access methods such as ESQL or ODBC.

DSNTEP2

Issues SQL statements to DB2 databases.

DSNTIAD

Executes Data Manipulation Language (DML) which queries and updates database information.

DSNTIAUL

Unloads DB2 database table data onto OpenFrame data sets, using the IKJEFT01 utility.

DSNUTILB

Issues commands to databases.

INZUTILB

Unloads DB2 database table data to OpenFrame data sets.

3.3. DFSORT Utility

DFSORT allows large quantities of data to be quickly sorted, merged, and copied. These functions are not provided by the utility itself, but rather by ProSort, an external high-performance sort program offered by TmaxSoft.

Since external high-performance sort programs run in Unix, they are unable to recognize scripts with the existing formats used in mainframes. Also, non-VSAM or VSAM data used in mainframes cannot be processed.

To address such issues, the SORT utility provided by OpenFrame is linked with external high-performance sort programs to convert the existing mainframe sort scripts into compatible formats for the external programs. Also, the OpenFrame SORT utility reads and sends non-VSAM or VSAM data to external sort programs so that they can sort, merge and copy the data. After this, the data is saved again to the non-VSAM or VSAM data sets.

3.4. Miscellaneous Utilities

There are utilities that do not belong to any of the previously mentioned categories.

The following describes each utility.

Utility Description

ADAPT

Manipulates data sets with simple commands.

DSDIFF

Displays differences between different records in data sets.

EZTPA00

Executes CA-Easytrieve Plus scripts written in JCL SYSIN.

FTP

Sends data sets from batch jobs to remote hosts or receives data from remote hosts and saves it to data sets.

ICETOOL

Uses SORT utilities to display multiple data sets in different ways from a single job step.

IEFBR14

Checks JCL statements for any issues.

IKJEFT01

Allowing access to database system before running application when executing JCL to run a batch application using a database.

When running a business COBOL application that uses a database, any information required to access the database, including the name of database and user as well as password, is not coded in the application sources, but rather specified in the input script of the KEQEFT01 utility.

ISRSUPC

Compares two data sets or searches for a specific string in a single data set.

PGMRTS00

Controls application operating environments by running through JCL runner, a batch engine module, when required to run a batch application compiled by shared objects under JCL.

4. Tools

In Batch, tools are not directly used for running jobs. They provide rather a range of different functions necessary for operating OpenFrame systems such as creating or initializing system data sets and receiving batch job submissions.

Batch supports the following tools.

  • TJES initialization tool

    Tool Description

    tjesinit

    Initializes spool data sets as well as system tables used by TJES.

  • Tools for user convenience

    Tool Description

    dlclean

    Automatically deletes libraries that have been moved to temporary data sets.

    dlupdate

    Updates user-defined libraries and allows modifications even without shutting down the libraries in use.

    textrun

    Receives batch jobs from external schedulers, such as Control-M or A-AUTO, and monitors the batch jobs. After execution is complete, textrun returns the results to the external scheduler.

For more information about the tools, refer to OpenFrame Tool Reference Guide.