⚙    -    🚧 sdlc    -    data    - -    ⚙ 👐 🎭 index - references    elucidation    metier 🎭 👐 📚    -    🚧 SDLC    -    Data    Meta    Math    📚
👐    Intro    Environment    AutoJob   StandardJob   DTA Support    Evaluate    👐    top bottom   👐

JST JCL Mainframe

Job Submit Tool, Test automatization - JCL structuring

Making work of ICT colleagues easier.

working with colleagues Looking and analyzing what the colleagues are doing, improvements and corrections getting planned (PDCA).

🔰 lost here, than.. devops sdlc.



Reference Topic Squad
Intro Making work of ICT colleagues easier 01.01
Environment JST Introduction environment 02.01
AutoJob Structure of Automated JOB Processing 04.01
ISTQB JST-JCL relationship 04.02
StandardJob Standard JCL JOB procedures 07.01
DTA Support DTA support procedures (develop Test Acceptance) 09.01
Evaluate Evaluating 11.00
Missing for deploying JST As A Service JST-AAS 11.01
Words of thank to my former colleagues 11.02

JST Introduction environment

What is JCL?
JCL (Job Control Language) is the script tool in a classic IBM Mainframe used to run processes for the business. JCL can also be used for a lot of other logic to run, as JCL is just a language.
Before you can do anything to optimize the JCL process running business processes you must structure the way of how JCL is coded.
hollerith oldtime
It has a hughe advantage in disconnecting the physical data reference out of source code to this JCL location. What you do by that is defining which data should be used on the moment the job is run. JIT,Just In Time definition..

Any business software logical progam can be reused in the DTAP setting wihtout having being modified. Avoiding not necessary modfications in business software (production, acceptance) is a quality and compliance requirement.

JCL script Structuring
In the old days everything was on Hollerith cards.
After migration those and eliminating these physical artifacts, nothing has changed very much.

Just in some rare cases some modern approach has been implemented. Putting a bunch of a hollrith cards into a mechanical reader for running something is hard manual work and limited by the paper weight and way of storing it as paper cards.

The first change step was converting those cards into digital datasets on DASD.
The next one is trying to foget the limitations of those old physical cards.
  1. the numbering in positions 73-80 is not needed anymore as the risk of physical dropping out of your hands is eliminated
  2. No need to build a complete card-deck as you can get jcl-modules easily from multiple digital datasets

JST Introduction environment (continued)

old days computer
Environment details
Not a single problem is to solve, there are more in this rather simple question. Job sumbmitting, Devlopment Life Cycle, Technical tools availability.

The IBM mainframe approach isn´t that major leading ICT solution suppliers anymore as in the 70´s. Better, cheaper options have been introduced since those early years.

As an example of analysing and solving an ICT problem it is still nice. In this case the way of structuring coding at development and the organizational impact.

Life cycle JCL transition
The change is a structured JCL generating and usage approach. I designed that in coöperation with others. Splitting up the old Job´s into basic building blocks, reuse them in every job for every type of usage.
When you can generate JCL, it is also possible to generate a lot of different ones with the goal of segregated parallel testing. Starting a next job when one is ready is as easy as a manual start.
💰 The cost saving in time is obvious: doing something once instead the same thing over and over again by different people.
💣 Difficult to get it accepted by ICT staf users. Remember: You are (I am) automating the daily work of some or more persons (ICT staff)

Goals Automated JOB Processing :
  1. Automated testing: regression approach and new logic or fixing found issues
  2. preparing the data needed for tests
  3. preparing jobs / scripts in a low code approach
  4. Automated running: all the jobs / scripts
  5. Saving & archiving & comparing the results.

Structure Automated JOB processing

Basic design
This looks at little bit complicated, the basics are:
Modelling the JST process
The proces model has several dimensions: Design JST The red arrows in the figure are indicating the optional selections for:
  1. jobs - All the defintions to get them run wiht predefined settings and values.
  2. testplans - The collection of jobs that make a testrun as unit.
  3. The fact in a star-schema ER-relationship is this the: "job".

Structure Automated JOB processing (continued)

Small - Big
Optimizing for mass processing
The ROI goes positive only hen used intensively.

Imagine: This is what happened, intensively used from the 1990´s, up to after 2015.

ISTQB JST-JCL relationship

All work at JST - JCL was done accordingly to the documentation found at ISTQB. However, it was done years before the ISTQB organization did exist.
Just the mainframe approach is what I have documented here. It is according to the design concepts chapters. The approach can be used using any tool any environment.
Remarks - #smta

Used environment & Experience
The main issue was structuring JCL so it could be automated and reused.
The tool it self was build with TSO/ISPF using REXX.
All work connecting to JCL was automated with those common available tools.

Optimizing - Performance & Tuning
The coding in TSO/ISPF Rexx is by a limited number of sources.
It is an interpreter having no optimized run-time environment. A huge monolithic program will avoid IO (dasd) compared to having been split up in many sources. The code is modulair and object oriented having a main program with a lot of subroutines.
The reason is that caching (dasd) was not present. The memory limit went op from 16Mb to 2Gb.
The compile step from develop to live can be seen as cocnatenation of all those lines.

Used concepts & practical knowledge

Reconsidering this nice project, it was nice because it has that many connections to a diverse set of activities. It serves to connect all those topics.
detailed descriptive information at ..
Details to be found at:
👓 Software Life Cycle (business)..
👓 Security ..
👓 Data modelling ..
👓 EIS Business Intelligence & Analytics ..
👓 Tools Life Cycle (infrastructure)..
👓 Low code data driven work as design..

The security association may not that obvious.
Simulating the production using test-accounts, in a way they are like operational production usage, is a good practice.
Having the overall security and configuration in a way you can run a complete DTAP on a single box (Iron) having containerized anything, is a good practice.

Standard JCL JOB procedures

Structured scripting
header trailer Defining all globals, job environment settings.
Bodies - Frames
body frame Business logic software application programs.
Data Definitions
ddio1 ddio2 ddio3 Input, Output, Report -log for every step.
header trailer Defining actions, jobs after this one.
Head :
You need somehow to define the datasets output / print / mail / databases / transfers to be used. These definitions may not be hard coded in the business logic code. Why not?
Tail :

Standard JCL JOB procedures (continued)

Bodies - Frames (Unstructured) :

This will work and will be manageable when having not that many jobs to run. A next improvement is structuring this. Define steps conforming business logic using standard building patterns.
Support by functional- technical owners infrastructure middleware components.

Structured scripting
Common body / frame
body frame Used by business functional owners.
Common proc bodies
procedure body Technicals you can reuse very often.
These technicals are a limited number of JCL proc steps, like:
Other procedures needed are :

DTA support procedures

Acceptance testing is wiht more variations as is visible in the SDLC reference.
Activities can have origins in project planning, for example education of humans.
Witin the operations busienss requirements of continuity can get a solution.

Within A stage the business data can be different to it´s usage goal, as there are:

Structured scripting backup restore
Backup Restore script D, T, A,

Backup & restore is essential to D,T,A Develop & Test environments. The testenvironment results are important business assets.
Evidence of quality by audits.

body frame Used by Testers.

To allow many testers to work parallel, segregation in naming and environment should be possible. Verifying content of backups must be poosible.

Support by functional - technical owners infrastructure components.

Backup & Restore, Performance experiences
The backup and restore of a complete testplan used standard backup & restore utilities. These are optimize for that work collecting and compresing everything as first stage. In a next stage writing that optimized for a tape device doing sequential IO. When getting forced not to use those tools found a big performance penalty because of locking queuing on shared dasd is much slower.
It is not what is told as dasd is promoted to be faster.

DTA support procedures (continued)

Interactive Transactional Systems
batch - transactions Aside batch processing, interactive systems (transactional), are also part of business information system.
Mainframe workloads: Batch and online transaction processing
Most workloads fall into one of two categories: Batch processing or online transaction processing, which includes Web-based applications.

Integrated Data Dictionary (IDD IDMS Cullinet)
IDD Integrated Data Dictionary - Promoting Management CA IDMS Reference - Software Management
Promotion Management is the process wherein entities are moved from environment to environment within the software development life cycle. When these environments consist of multiple dictionaries, application development typically involves staged promotions of entities from one dictionary to another, such as Test to Quality Assurance to Production. This movement can be in any direction, from a variety of sources.

Structured scripting dedicated dbms
Dedicated DBMS script D, T, A,
This feature essential to D,T,A Test environments when transactional systems are involved.

The difference to backup restore support is: This implementation can be much more challenging is the complexity of startup DBMS support requires to do so.

Infra-Process transactional.
body frame Used by Testers.

Support by functional - technical owners infrastructure components.



Missing for deploying JST As A Service JST-AAS

Naming Conventions
Life Cycle Management
Security (business: data / code)

Interactive Transactional Systems - Integrated Data Dictionary
These experiences are essential building up my mind. An IDD concept is hot in data governance. The new word is "Metadata".
Same concepts and approaches can be used with all those new tools.

Having multiple IDD's needed for the required DTAP segregations, used was:

Evaluating (continued)


Words of thank to my former colleagues

We had a lot fun in stressfull times working out this on the mainframe in the nineties. The uniquenes and difficulties to port it to somewhere else realising.
A few names: Many more people to mention, sorry when I didn´t. (notes: 2008)

Not always unhappy on what is going on
Missing Link, search entry

Sometimes you get a feeling there is some path still to go, you are not at the real destination yet.

🔰 lost here, than.. devops sdlc.

👐    Intro    Environment    AutoJob   StandardJob   DTA Support    Evaluate    👐    top bottom   👐
⚙    -    🚧 sdlc    -    data    - -    ⚙ 👐 🎭 index - references    elucidation    metier 🎭 👐 📚    -    🚧 SDLC    -    Data    Meta    Math    📚

© 2012,2019 J.A.Karman