Table of Contents
Mainframe Computers
Mainframe computers are big computers used mainly for processing huge data and to maintain critical applications. They form the central processing unit of most of the Fortune 500 companies. Mainframe computers are known for high data security and has the capability to process data uninterrupted for a long period of time. and usually measured in terms of MIPS(Million Instructions per second).
A Mainframe system will have different cabinets for
- Storage units
- I/O units
- Random Access Memory (RAM)
Mainframe will have separate process/program management for the following tasks
- Job management
- Serialization
- Catalogs
- inter address space
- communication
The main advantages of Mainframe computers over other computers are listed below
- Mainframe supports huge memory space which helps in maintaining large database required for industries like Banking, Financial Institutions, Government agencies and Retails chain stores.
- Data retrieval is very fast when compared to the amount of data it supports.
- Impeccable data security.
- High data processing capability.
- Zero downtime.
- Scalability and stability.
IBM Mainframe History
IBM 700 – These are initial Mainframe computers designed by IBM which used Vacuum Tubes, these computers became obsolete with the introduction of new generation of Mainframes which used transistors.
IBM 7000 – These computers replaced IBM 700, IBM 7000 Mainframes used transistors which enhanced the performance of the computer with less power consumption.
The IBM 700/7000 are used in the 1950s and early 1960s.
System 360 – These are the Mainframe computers that succeeded IBM 7000 in the late 1960s, System 360 Mainframes used 32 bit data and 24 bit addressing
System 370 – System 370 Mainframes replaced System 360 with 32 bit data and 31 bit addressing in the early 1970s. The main advantage with System 370 is backward compatibility with IBM 360 which helped easy migration of customers to IBM 370 from IBM 360.
System 390 – System 390 succeeded System 370 with the same 32 bit data and 31 bit addressing but with significant architectural change which includes separate hardware for Input output operations. These systems are introduced in the early 1990s.
System Z – These Mainframe computers succeeded System 390 computers with significant improvement in performance and availability, the letter “Z” in System Z denotes ‘Zero’ downtime as the computer will be available for processing with minimal downtime. The Z system is constructed with back up components to handle severe system failures. System Z has the capacity to process up to 78,000 MIPS(Million Instructions Per Second). These Mainframe has 64 bit operating system and has a Unix subsystem.
zEnterprise – zEnterprise is the latest series of IBM Mainframes. These Mainframes are designed to provide both Mainframe and distributed server technology in a single platform.
The zEnterprise System consists of three components as below
- System Z Server
- IBM zEnterprise Blade Center Extension – the infrastructure designed to provide logical integration and host IBM WebSphere Data Power Integrated Appliance.
- IBM zEnterprise Unified Resource Manager – Management Layer
The zEnterprise delivers new levels of performance and capacity for large scale consolidation and growth, support for next generation of digital signature security, support cutting edge pattern recognition analytics for smart monitoring of system health and proven hybrid computing design for mainframe and distributed workloads.
The zEnterprise is also designed for high level of operational security, it has the capability for protecting critical data with high-speed encryption and centralized key management.
Other Mainframe Computers and Manufacturers:
Mainframe | Manufactures |
ClearPath | Unisys |
Bull DPS-9000 | Groupe Bull |
BS2000 | Fujitsu |
ICL 2900 | Fujitsu |
Mainframe Storage Device
Mainframe computers are connected to Storage devices. The storage devices are either Magnetic Tapes or Disk storage
Disk Storage
Two types of disk storages are available to Mainframe – IBM Total Storage DS8000 and Enterprise storage server (ESS) 800
IBM Total Storage DS8000 – It is a high performance and reliable storage device used by the Z series Mainframe computers, these storage devices are very secure and supports self encrypting for data security.
Enterprise storage server (ESS) 800 – These storage devices are based on Seascape architecture which includes RS/6000 processors and Serial Storage Architecture.
Magnetic Tapes
IBM System Storage TS 3500 Tape Library is widely used for Tape storage in Mainframe computers. These Tape storages are scalable and supports up to 16 frames.
Mainframe Tape storages are costly when compared to Disk storages, the main advantage of a tape storage is that the cartridges in tape drives can be changed, this means the desired tape cartridge can be mounted while accessing and can be stored separately while not in use. The disk storage on the other hand is fixed and they cannot be changed or swapped.
Mainframe Infrastructure
Mainframe Infrastructure uses a layered network architecture model, components are classified on four physical layers in a Mainframe architecture.
Physical Layer 1 – Physical Media
A Mainframe is usually connected to other devices by using an integrated LAN adapter (Network Interface Card (NIC)) called Open System Adapter-Express (OSA-Express). The OSA-Express card is connected to a Redundant Backbone switch/router that implements the connection to the outside world which can be the primary backbone network of a given organization.
Physical Layer 2 – Data Link Layer
This is the Link Layer which is used for Data Link and is also called as the link layer, the most common topology used for Mainframe connectivity is Star Topology. The protocol that is used in the link layer is the Ethernet protocol. The Ethernet protocol package the data send to it from the above layer and do the vice versa when data is send to it through the physical layer. The packaged envelope the protocol creates while data is passed to it from the above layer is called as a Frame.
Physical Layer 3 – Network Layer
The protocol used in this layer is the Internet protocol, this protocol is similar to Ethernet in encapsulating the data. In layer 3 the Address Resolution Protocol (ARP) is used to map between the IP and MAC (NIC). This layer routes packets of data around the interconnected networks.
Physical Layer 4 – Transport Layer
Two types of protocol are used in this layer.
- Transmission Control Protocol
- User Datagram protocol
The transport layer is used for physically transporting the data between the interconnected networks.
Mainframe Operating System
IBM mainframes commonly runs on the MVS operating system which was released in 1974. Following are the different MVS evolved over the period of time
- MVS/XA (eXtended Architecture)
- MVS/ESA (Enterprise Systems Architecture)
- OS/390 (With UNIX system Services added)
- Z/OS ( 64-bit on zSeries model)
In spite of these changes to the OS, portability of the program is ensured and still the program written in MVS can run on Z/OS without any need of source code changes.
Functions of MVS:
Performs all traditional operating system tasks
- Memory management
- Control of I/O
- Overall control of the machine
- Security
- Management of peripherals
Time Sharing Option
Time Sharing Option (TSO) is a facility that allows multiple users to use the Mainframe operating system at the same time. TSO is the facility that actually submit jobs and store data sets via the Mainframe computer’s operating system. Most of the interactive programs like SAS are executed by TSO.
TSO is a tool which can be used to:
- Create, maintain and compile programs
- Create, maintain and submit JCL to run jobs
- Inspect the printed or displayed output of JCL jobs
- Develop and maintain programs in languages such as COBOL, REXX, PL/I, etc.,
- Data Processing
- Manage communication with other TSO users.
- Accessing the Mainframe operating system.
Interactive test of both batch and on-line programs.
The Interactive System Productivity Facility (ISPF) and the Program Development Facility (ISPF/PDF) are available under TSO. ISPF and ISPF/PDF provide a full-screen editor and data set manager which offers a menu-driven environment for working with z/OS data sets.
ISPF/PDF are used for:
- Dataset creation, edit, and delete in TSO
- Browsing of data sets
- Processing of members(Move or Copy) from one partitioned data set (PDS) to another
- Compare two data sets
- Execute application programs
- Create user defined panels, dialogs, and applications.
Job Entry Subsystem : JES
IBM mainframe Operating System (OS) use JES as the job entry subsystem to receive the jobs into OS. Once the jobs are received JES will schedule for processing and control output processing.
Two versions of JES are available – JES2 and JES3.
JES2 : Will decentralize the environment
JES3: Will centralize the environment
If a job with more than one step is submitted and also requires data set allocation, in JES2 data set allocation will happen just before the step, where as in JES3 it completes allocation of datasets before the job schedules.
Job Control Language : JCL
JCL (Job Control Language) is a language, which is an interface between the Operating system and the programs developed for the application.
JCL consists of control cards, which allows to specify the work to be carried out.
It communicates with OS for the following:
- About the details for running a job
- To set priority for the job
- For required space and execution time
- About the programs to be loaded
- About the required datasets
The 3 basic JCL statements used are:
- JOB
- EXEC
- DD
Customer Information Control System : CICS
- Customer Information Control System (CICS) is an online application and it is called as OLTP (Online Transaction Processing), which can process billions of transactions per day
- CICS is a transaction management system that can be used on different operating systems, it can be used in OS/390, MVS. VSE, UNIX, Windows and other systems too.
- CICS can be considered as middleware, or also as an “application server” which provides the customer services and helps them in implementing online business applications.
- It is a data (base) communications system that provides the user access to online business systems and data with security.
Batch transaction and online transaction processing
On-line Programs:
- Develop an interactive application in C, and execute it.
- The program runs interactively, by getting some input data from the user, the application responds with an output.
- These kind of programs or systems are classified as Online Systems or Transaction Processing Systems.
- These systems are always in active mode, they give immediate response, and performs operations interactively.
Batch Programs:
- Batch programs are opposite to Online programs which runs interactively
- With Batch Mainframe systems, information on what input data to use, what program needs to be run and where to store the output are provided right at the beginning of the program execution.
- Batch Mainframe programs are called as Jobs.
Mainframe Batch Processing:
- Preparing transaction statements, creating payroll for employees, taking a backups are typically batch mode JOBS.
- Typically Batch jobs involve huge amount of data – These jobs can be submitted and Mainframe will execute the jobs and produce the output.
- Automatic notifications will be generated when the batch JOB is completed.
- This systems of Jobs are called as Batch Processing Systems.
- In early times batch process will lock the system and will not allow another process to run simultaneously but with modern day operating systems like MVS Batch process can be run simultaneously without any conflict.
- User interaction is not required in Mainframe Batch processing.
When a batch job is submitted, the job reads the specific data and process them in bulk, it then produces the output in the desired format.
Following process are typical to Batch process.
- Input data will be processed in large quantities and output data are produced and stored, records are accessed in large numbers and output records in large volumes are produced.
- Response time in Batch process is usually larger and immediate response is not always a requirement, but the response time should be within the specific expected timeframe
- Batch process has the capability to process Information about huge numbers of users or data entities (for example, Banking system).
- A batch process will be consisting of hundreds or thousands of jobs which are executed in a pre-established sequence.
Online transaction Processing:
Interactive transaction processing that occurs with the end user is referred as online transaction processing or OLTP.
Online transactions are familiar to most people.
Examples include:
- Transactions in ATM machine
- Payments systems processing
- Purchase done over the Internet
In fact, an online system performs many of the same functions as an operating system
- Managing and dispatching tasks
- Managing access authority to resources
- Managing the use of memory
- Controlling simultaneous access of data files
- Providing device independence
Some industry which use mainframe-based online systems are:
- Banks – ATMs, teller systems for customer service
- Insurance – Policy processing and claims management for Agent System
- Travel and transport – Airline reservation systems
- Manufacturing – Employee data, Inventory and production control
- Government – Tax processing, license issuance and management, census etc
The end users of these systems should interact with the backend Mainframe system and this can be done by Online transaction processing tools.
Multiple factors are there that can influence the requirement of a company’s processing system, some of them are
- Total no. of Transactions processed per second (TPS).
- Application availability requirements.
- Total no. of users using the system at any point of time
Mainframe Programming Languages
Programming languages are used to create the desired application that can be run on the Operating system, many different programming languages are used in Mainframe, some of them are listed below.
- Assembler
- COBOL
- PL/I
- C/C++
- Java
- CLIST
- REXX
- Natural
Apart from the Assembler which is a machine level language all the other languages listed above are High level languages(HLL). The application programs written in the high level languages needs to be compiled in the Mainframe platform for the Mainframe operating system to recognize it. Most of the Mainframe high level language are procedural language which are well suited for structured programming.
Choosing a programming language for developing an application in Mainframe depends on the type of application, following are the other criteria that are to be considered while choosing the language
- Response and Performance of the application being developed
- Data usage of the application
- Compatibility between different languages as some applications needs to be developed with more than one programming language
- Budget for developing the application
Some programming language in Mainframe are compiled while others are interpreted. COBOL, Assembler, PL/1 and C/C++ are compiled by using a compiler while CLIST is interpreted.
A compiled program can be run any number of times as the compiled load module is available for execution after a single compilation, whereas an interpreted program is parsed, interpreted and executed each time it is run, this consumes more time for each execution. Programming language like REXX can be compiled as well as interpreted.
A Mainframe application created can have multiple programs created by using the same programming language or multiple languages. A single program can call multiple programs, subprograms or subroutines to perform the desired task.
In z/OS a separate Language environment is provided which eliminates the requirement for creating individual program libraries, so applications created using multiple programming languages can be maintained in a single Mainframe environment without any conflict.
A program written in a language should pass through two steps before it can be executed by the Mainframe operating system, the two steps are Compile and Link Edit.
The compile step is used for validating the source code and translating it to the machine language to create the object code. The Link Edit step use the object code and other load modules(e.g. sub programs) then bind together them to create the executable module. For source code embedded with CICS or SQL an additional step called pre processing is required, the output of preprocessing step is fed to the compiler step.
The complied load modules are then loaded into the central storage for execution.
Mainframe Database
Database denotes the structure in which the required data are stored in the storage device. Mainframe Databases can be of varied structure like Network, hierarchical or relational database. Following are some of the database which are used in Mainframe systems.
- DB2
- IMS
- ADABAS
- Teradata
- Oracle
- IDMS
In a hierarchical database data is stored the data in a tree like structure. IMS database is a widely used hierarchical database. The data in a hierarchical database are represented with a parent child relationship, in this representation a parent can have any number of child while each child should have only one parent.
In Relational database data is stores in first order predicate logic, DB2 is an example of relational database. In this type of database the user directly specifies how the data should be stored and what all the data that are to be retrieved.
In Network database like IDMS has as very efficient retrieval process, the database design is simple design and provides high data integrity. This database model helps application program to work independently of data.
In Mainframe the application programs are embedded with the data querying language for the processing the data in the database. For application that use DB2 database SQL queries are embedded in the application program which performs the data processing.
There are specific query languages which are used to query the data from the database (e.g. Structured Query Language SQL). These query languages should be provided with precise information of the required data for it return the required data.
For application programs that include embedded query statements the source code has to be pre compiled before the actual compilation process. This pre compile step[ separates the database query from the source code and create the Database request module (DBRM). This DBRM is then used for creating the access path for the data during the BIND process. This access path is then bound as a package list and the Plan is created. When executing the program the Plan name has to specified along with the load module name.
Mainframe Middleware
A Mainframe middleware is a system between the different application residing in different platforms or between the end user and the operating system. Many middleware software are available for z/OS.
Example of Mainframe Middleware application is the Websphere MQ, the Websphere MQ provides cross platform messaging service and allows messaging between application in different platforms like Mainframe and UNIX.
A typical middleware software comes with a Application Programming Interface(API). API is an interfacing protocol used by the different systems.
Some of the z/OS Middleware are listed below.
- Web servers
- Transaction Managers
- Message queueing etc.
Mainframe Computer Usage
Mainframe computers are widely used across the globe by different industries, below is the geographic wise usage of Mainframe . North America and Europe consumes most of the Mainframe processor time world wide.
Below is the Industry wise usage of Mainframe across the globe.
There are widespread speculation on the future of Mainframe computing, but still Mainframe computers are making a comeback because of the reliability, security and scalability it provides. Below is the result of the industry wide analysis done by specialists on future of Mainframe usage.