This is a summary of the posted notes - Good luck on the Final Everyone!

OWNERS: Jason Rudolph and Steven Zakulec

Why Mainframes?

  • Large scale transaction processing – thousands per second
  • support thousands of users and application program
  • Simultaneously accessing resources
  • terabytes of information in databases
  • large bandwidth communications

What would you title this chart?

What is a mainframe?

  • a specialized computing system that provides greater security and availability than can be found on smaller machines
  • used for anything that requires high degrees of security and availability
  • provides lots of computing power and lots of capacity

What is a dataset?

  • on z/OS, files are called datasets
  • you must pre-allocate and pre-format data sets before they can be used
  • a dataset can be a source program, library of macros, file of data records used by a processing program
  • sequential or partitioned

How data is stored

  • stored on Direct Access Storage Device
  • DASD
  • records can be stored directly or sequentially and retrieved the same way


  • ancient IBM mainframes
  • extended binary coded decimal interchange
  • 8-bit character set, same as ASCII
  • z/OS web servers serve ASCII


  • Time Sharing Options/Extentions
  • single user login usability, most people use ISPF

  • Interactive System Productivity Facility
  • 2-Edit 3-Utilities 6-Command 13-SDSF

JCL Statements
  • Job Control Language
  • job statement must be the first statement
  • then exec statement, IDs program or procedure to be executed
  • then DD statement – allocates datasets (required)
  • compile, link, and go IGYWCLG

  • Virtual Storage Access Method
  • indexed

Advantages and Limitations of VSAM
  • Advantages:
    • Supports more data set types
    • simplifies record processing
    • supports a variety of I/O techniques
    • provides greater efficiency for the application program and for the overall environment

  • Disadvantages:
    • it's data sets must reside on DASD
    • they cannot be created on tape
    • non - human readable

Key Dataset Characteristics
  • organized either sequential, relative, or indexed
  • access is sequential, random, or dynamic

  • Entry Sequenced Data Set
  • records are stored in the order they are written
  • retrieved by addressed access
  • byte addresses cannot be changed

Problems with sequential files
  • easy to add records, but very difficult to delete or update records
  • the only way to delete the records is to create a new file without them

Sequential Data Set
  • Disadvantages:
    • Slow, complicated to change
  • Advantages:
    • Fast, when hit rate is high
    • most storage efficient
    • simple organization
    • recovers spaces from deleted records

  • Key Sequenced Data Set
  • Stored in Key sequence and controlled by an index
  • access it dynamically
  • sequential is useful for retrieving records in sorted form
  • random is useful in online applications

Indexed File Organization
  • A file that has two parts

Index component
  • data component
  • you can call it an indexed file
  • in the index, each entry contains a key value and where the record is in the data component
  • you have to have at least one index called the primary key
  • the first index is called the primary index
  • no duplicate keys
  • primary index and primary keys are in sequence, so dynamic access is possible
  • we can do sequential or random access
  • records are written in the primary key sequence in the data component
  • this reduces actuator movement during sequential access
  • Records may not be added in their sequential locations

Indexed Data Set

  • Disadvantages:
    • slowest, direct access organization
    • especially slow when adding or deleting records
    • not very storage efficient
      • must store
        • the indexed records
        • the alternate index records
        • the data records
        • and the alternate data record
  • Advantages:
    • Can use multiple alphanumeric keys
    • can have duplicate alternate keys
    • can be read sequentially on any of its keys
    • can partially recover space from deleted records

Transaction Processing

What is a transaction?
  • A set of actions that must all be completed or not completed
if it's completed, then it's committed
  • if it's not completed, it has to be rolled back to before the transaction started
  • Example

    • Money Transfer
      • you want to move money from a checking account to a savings account
        • both have to happen

Transactional Systems
  • Transaction must be able to pass the acid test
  • A: Atomicity – has to finish all the way or not at all
  • C: Consistency – has to remain consistent
    • can't debit one amount and have a different amount credited for the account
  • I: Isolation – each transaction must appear to occur before or after any other transaction
  • D: Durability – if the transaction completes successfully, the changes due to the transaction will survive any future failures

  • On line Transaction Processing
  • Class of software that administers transaction related programs
  • software functions include:
    • managing the user interface
  • retrieving and modifying data
    • tracking data locations and uses
  • handling communications
    • providing support functions for resource definition and use
  • interfacing with security software

  • Customer Information Control System
  • on OLTP product family from IBM
  • transactional subsystem of z/OS which
    • runs on line applications
    • supports many users running the same applications
    • manages the sharing of resources
    • insures the integrity of data
    • prioritizes the execution of transactions
    • insures fast response time
  • A transaction manager
  • transaction monitor
  • application server
  • used extensively
  • Systems that benefit from CICS include:
    • bank ATM
    • transaction processing systems
    • on line library catalogs
    • airline reservation systems
  • CICS functions
    • transaction processing systems perform interactive electronic commerce from a network of terminals processing both inquires and updates to the data stored in databases
    • a general purpose data communication system that can support the development of transaction processing applications in an OS390 environment
    • operating systems are designed to make the best use of a computers resources, CICS helps by behaving as a middle layer separating on line application programs from other programs and handling their administration itself
CICS tasks
  • CICS provides concurrent transaction processing
    • under CICS all users share application programs and data files
    • if one user updates a database, changes are available to everyone instantly
  • 8 Steps in processing a transaction
    • 1. entry a transaction ID enters the system
    • 2. Task creation – CICS creates a task to process the transaction
      • the task is no ready to be run
    • 3. Dispatch - CICS determines which of the ready tasks should be run next and dispatches that task to be started
    • 4. Execution – the task invokes the appropriate CICS program and runs
    • 5. Processing – when the invoked program calls CICS to perform a service on its behalf the task gives up control of the CPU and waits for the requested service to be completed
    • 6. Re-dispatch – after the requested service has been completed, the task is ready to run again and CICS dispatches it again
    • 7. Return – when all work required to process the transaction ID the program issues a return command to return control to CICS
    • 8. Termination – CICS removes the task from the system
CICS – data integrity
  • CICS uses ACID!
  • Good Luck on the final SPRING 2007

OWNERS: Ryan Shoultes & Meghan Sands
GOOD LUCK!!!!!!!!!!

- A data set is a collection of logically related
stored on one disk storage volume or a set of volumes.

- Direct Access Storage Disk: magnetic tape volume, hard drive
-You can store and retrieve records either directly or

- ASCII value but for cobol

- TSO: native mode/ like DOS
- ISPF: menu system/ simplified GUI

- It’s Fast
- These systems are sometimes referred to as
data intensive” systems


• A sequential data set is a collection of records written
and read in sequential order from beginning to end
• A partitioned data set (PDS) is a collection of
sequential data sets, called members.
– Consists of a directory and one or more members
– The members are sequential data sets
– Also called a library
• A VSAM data set (Virtual Storage Access Method)
provides more advanced capabilities in terms of storage
and access


Sequential: records organized serially
Relative: relative record number based
Indexed: index based organization


Sequential: accessed in order, one-by-one
Random: specify a key to get the data record
Dynamic: can access sequentially or randomly

To transfer a record from an input file to an output file we
will have to:
– read the record into the input record buffer
– transfer it to the output record buffer
– write the data to the output file from the output record buffer

- Records in a Sequential file can not be deleted or
updated “in situ” (unless the same size record).


Sequential Data Set
Slow - when the hit rate is low.
Complicated to change (insert, delete, amend)
Fast - when the hit rate is high.
Most storage efficient.
• Simple organization.
• Recovers space from deleted records.

Relative Data Set
Wasteful of storage if the file is only partially
Cannot recover space from deleted records.
• Only a single, numeric key allowed.
• Keys must map on to the range of the Relative Record
Fastest Direct Access organization.
• Very little storage overhead.
• Can be read sequentially.
Indexed Data Set
Slowest Direct Access organization.
Especially slow when adding or deleting records.
Not very storage efficient. Must store the Index
records, the alternate Index records, the data records
and the alternate data records.
• Can use multiple, alphanumeric keys.
• Can have duplicate alternate keys.
• Can be read sequentially on any of its keys.
• Can partially recover space from deleted records.

The advantages of VSAM are:
– VSAM supports more data set types
– Simplifies record processing
– Supports a variety of I/O techniques
– Provides greater efficiency for the application programs and for
the overall environment
The major limitation of VSAM is:
– Its data sets must reside on DASD. They cannot be created on


Life cycle of designing and developing an
application to run on z/OS includes phases of:
– Requirements gathering and analysis
– Design
– Development
– Test and debugging
– Production
– Maintenance

Analysis Design Build Test
15% 25% 25% 35%


• Batch processing is used for programs that can
be executed:
– With minimal human interaction
– At a scheduled time or on an as-needed basis.

Online processing is used for programs that
– Human interaction
– Can not be a scheduled

• Reasons for using batch:
– Data is stored on tape
– Transactions are submitted for overnight
– User does not require access to the data
Reasons for using online:
– Users require access to the data
– Short response time required


What is a transaction?
• A set of actions that must either all be
completed or non be completed.
– If the transaction completed, the transaction is
– If the transaction does not complete, all state
must be “Rolled-back” to the state of the
system prior to the transaction

What test is a transaction required to pass?
Atomicity - the transaction must execute completely, or not at
Consistency - Resources must remain consistent (ex. Same
amount of money debited and credited)
Isolation - each transaction must appear to occur before or after
any other transaction
Durability - If the transaction completes successfully, the state
(changes due to the transaction) will survive any future failures

“When two trains approach each other at a crossing, both shall come to a full stop and neither shall start up again until the other has gone.”

-When two or more processes are each waiting for another to release a resource, or more than two processes are waiting for resources in a circular chain

OLTP: All about it
• An OLTP is a class of software that
administers transaction-related programs.
• OLTP software functions include:
– Managing the user interface
– Retrieving and modifying data
– Tracking data locations and uses
– Handling communications
– Providing support functions for resource definition
and use
– Interfacing with security software

CICS: All About It
Customer Information Control System
• CICS is an OLTP product family from IBM.
• Transactional subsystem of z/OS which:
– Runs online applications
– Supports many users running the same application(s)
– Manages the sharing of resources
– Ensures the integrity of data
– Prioritizes the execution of transactions
– Ensures fast response time

What is a database
  • A Database is a collection of interrelated data items, stored once and
    organized in a form for easy retrieval.
  • Store and control large amounts of data
  • If properly designed it provides a consistent view of the data
  • All entities have a relationship between them
Why use a database?
  • Reduces programming effort
  • Easier to create and modify data (compared to individual files)
  • Only need to update one location - one copy of all information

What is a database management system (DBMS)?

  • Provides a method of storing and using data in a database
  • "Nothing more than a computerized data-keeping system"
  • Several types that can be used on z/OS: inverted list, hierarchic, network, and relational

Why are DBMS useful?

  • A database stores the data only once in one place and makes it
    available to all application programs and users.
  • Data can also be backed up and recovered more easily in a
    single database than in a collection of flat files.
  • Databases provide security by limiting access to data. The ability
    to read, write, update, insert, or delete data can be restricted.
  • Database structures offer multiple strategies for data retrieval
    (sequentially or go directly to the desired data).
  • Finally, an update performed on part of the database is
    immediately available to other applications. Because the data
    exists in only one place, data integrity is more easily ensured.

The role of a DBMS is to provide:
  1. Enable concurrent access (I.e. multiple users,
    multiple applications) to a single copy of the data
  2. Control concurrent access via a locking
    mechanism with ACID properties (ACID is an
    acronym for atomicity, consistency, isolation, and
    durability) so as to maintain integrity for all
  3. Reduce data redundancy by maintaining only one
    copy of the data
  4. Automated rollback, restart and recovery

What is the role of a DBA (Database Administrator)

  • Provides standards for databases
  • Determines rules for accessing data and monitors its security
  • Approves the use of any programs that access production databases
  • Controls database integrity & availability; monitors activities for backup and recover
  • Guides, reviews and approves database designs
What is DB2?
  • Short for database 2
  • A relational database produced in 1982 by IBM, was one of the first dbms to use sql
  • Relational database has no or little redundancy in data so it can efficiently store large volumes of data
  • Significantly slower than ims or idms databases

What Is IMS (Information Management System)

  • A hierarchal database produced by IBM in 1972
  • Originally designed for the Apollo space program
  • Hierarchal system contains redundancy in data but is extremely fast

Database Comparison

Hierarchical (IMS):
– Data is relatively static (can not just "add a column")
– Navigational : need to know the structure to get to the data
– Faster & more efficient - once Segment Search Arguments (SSAs) are coded

– Changeable info
– Change in structure : no impact on existing application
– Non-Navigational : no need to know the structure right data (just tablename and columnname(s))

Benefits Of Database On A Mainframe

  • All data is kept on one system limiting io time

SYSPLEX: Systems Complex
A Sysplex is an instance of a computer system running on one or more physical computers. Sysplexes are often isolated to a single system, but Parallel Sysplex technology allows multiple mainframes to act as one. Sysplexes can be broken down into LPARs, or logical partitions, each running a different operating system. ßthanks wiki
Benefits of a Sysplex include:
– Improved growth potential
– Improved load balancing
– Improved level of availability
What kind of work is a Sysplex good for?
_Large business problems that involve hundreds of end
users, or deal with volumes of work that can be counted
in millions of transactions per day.
_Work that consists of small work units, such as online
transactions, or large work units that can be subdivided
into smaller work units, such as queries.
_Concurrent applications on different systems that need
to directly access and update a single database without jeopardizing data integrity and security.

A Sysplex Timer:
Synchronizes all member systems' clocks.
Server Time Protocol (STP) replaced the Sysplex Timers in 2005
While the Sysplex Timers are physically separate machines,
STP is an integral feature within the mainframe itself..