- Batch Processing
- Online Transaction Processing
As technology improved, real time processing became available. Online Transaction Processing allows a user to enter a transaction to a program that can return the result in real time. If you go to an ATM and query your balance, your request is sent to an online program that accepts your query and returns the result in real time. THIS ARTICLE IS COPYRIGHTED. IF YOU CAN READ THIS, THE PERSON WHO COPIED THIS STOLE MY PROPERTY.
Batch ProcessingCopyright: http://www.conceptsolutionsbc.com
The JCL specifies the name of the job (job name), priority and class of the job. It also specifies the STEP within a job. A step is identified by a name (step name) that specifies the program to be executed. The step also specifies the different files used by the program. These file statements specify the attributes of the files being used. The file attributes include the name of the file (Data set name or DSN), the address of the unit where the file resides, the type of unit, the physical record length (Block Size or BLKSIZE) and logical length (logical record length or LRECL) of each record.
These JCL statements are read by a program called the Job Entry Subsystem (JES). The JCL statements are checked for syntax errors first. If there are errors, the job is terminated with a JCL error and processing stops. If the syntax is correct, the job continues in its life cycle.
The Job Entry Subsystem for z/OS is called JES2. JES2 is a task within z/OS that puts these jobs in a queue. JES2 controls Initiators. Each Initiator is defined to process one or more job classes. When an Initiator is available, it will process a job based on its class and priority.
Once the job is initiated, batch processing for that job begins. The initiator will allocate the files for the job to use. It will also load the program to be executed for that step. Once the program executes, there is no more intervention needed. The program reads the input files and writes the result to output files. When a step is done, the Initiator looks at the next step and based on the condition specified for that step, the Initiator will either bypass that step or will prepare the environment for the next step.
The job ends when all the steps have been executed for that job.
Sometimes, when a program encounters an error condition, the job will terminate with an Abnormal End or (ABEND). There are two kinds of ABENDs. A system ABEND is generated by the operating system. It is prefixed with S and followed by a 3 hexadecimal ABEND code that identifies the cause of the ABEND. A user ABEND is generated by the program and is prefixed with U and followed by 4 decimal numbers.
In z/OS, programs end with a return code. The return code can also indicate the result of the processing for that step. A normal or successful execution normally has a return code of 0.
I have articles that explain:
THIS ARTICLE IS COPYRIGHTED. IF YOU CAN READ THIS THE POSTER OF THIS ARTICLE STOLE MY WORK
These online systems also have JCL statements to control their execution. However, most of them are not classified as batch jobs. These are classified as z/OS system tasks because these are normally started from the system console by an operator or automatically by the system. They normally execute under operating system privilege and also are meant to execute while the system is running.
Most online systems have a control region that controls the traffic into and out of the system. Most of them also separate the data layer from the presentation layer. (For those using XML and SOA, does this sound familiar?).
Although there are technologies that now allow for more user-friendly interfaces, most of these interactive systems still display their output in what used to be 3270 terminals. The 3270 terminals were physical visual display units that could only display text in 80 columns and 24 rows. Other models could display 80 columns and 43 rows. These are what some call 'green screen terminals' or 'dumb terminals'. There are probably no 3270 terminals in use today. Most 3270 terminals are emulated on a desktop using emulation software.
The way data is displayed on the terminal has to be mapped. The mapping process depends on the interactive system used.
The online transaction processing control regions basically accept the data sent from these 3270 terminals and strips off the overhead characters based on the terminal map. The online transaction processing control region executes the corresponding online program based on the transaction entered. The control region will pass the input to the online program.
The online transaction program will process the input. Processing may involve accessing one or more databases. Once processing is done, the online transaction program will return the result to the online transaction processing control region. The online transaction processing control region will format the output based on the defined terminal map and send the output to the 3270 terminal.
If you wish to know more about online transaction processing, you may check my article on What is an IMS Transaction Manager.