Mainframe

This section explains about Mainframe, their advantages, uses, workload, roles and important programing languages used for Mainframes.

Overview

The term mainframe, in this topic, refers to computers that can support thousands of applications and input/output devices to simultaneously serve thousands of users.

A business might have a large server collection that includes transaction servers, database servers, e-mail servers and Web servers. These large collections of servers are sometimes referred to as server farms. The hardware required to perform a server function can range from little more than a cluster of rack-mounted personal computers to the most powerful mainframes manufactured today.

A mainframe is the central data repository, or hub, in a corporation’s data processing centre, linked to users through less powerful devices such as workstations or terminals. The presence of a mainframe often implies a centralised form of computing, as opposed to a distributed form of computing. Centralising the data in a single mainframe repository saves customers from having to manage updates to more than one copy of their business data, which increases the likelihood that the data is current.

However, the distinction between centralised and distributed computing is rapidly blurring as smaller machines continue to gain in processing power and mainframes become ever more flexible and multi-purpose. Market pressures require that today’s businesses constantly re-evaluate their IT strategies to find better ways of supporting a changing marketplace. As a result, mainframes are now frequently used in combination with networks of smaller servers in a multitude of configurations. The ability to dynamically reconfigure a mainframe’s hardware and software resources (such as processors, memory, and device connections), while applications continue to run, underscores the flexible and evolving nature of the modern mainframes. While mainframe hardware has become harder to pigeon-hole, so have the operating systems that run on mainframes. Years ago, in fact, the terms defined each other: a mainframe was any hardware system that ran a major IBM operating system. This meaning has also blurred in recent years because these operating systems can be run on very small systems.

Computer manufacturers and IT professionals often use the term platform to refer to the hardware and software that are associated with a particular computer architecture. For example, a mainframe computer and its operating system (and their predecessors) are considered a platform; UNIX on a Reduced Instruction Set Computer (RISC) system is considered a platform; personal computers can be seen as several different platforms, depending on which operating system is being used. So, to return to the original question: “What is a mainframe?” Today, the term mainframe can best be used to describe a style of operation, applications, and operating system facilities. To start with a working definition, “a mainframe is what businesses use to host the commercial databases, transaction servers, and applications that require a greater degree of security and availability than is commonly found on smaller-scale machines.”

Early mainframe systems were housed in enormous, room-sized metal boxes or frames, which is how the term mainframe originated. The early mainframe required large amounts of electrical power and air-conditioning, and the room was filled mainly with I/O devices. Also, a typical customer site had several mainframes installed, with most of the I/O devices connected to all of the mainframes. During their largest period, in terms of physical size, a typical mainframe occupied 2,000 to 10,000 square feet (200 to 1000 square meters). Some installations were even larger than this.

Starting around 1990, mainframe processors and most of their I/O devices became physically smaller, while their functionality and capacity continued to grow. Mainframe systems today are much smaller than earlier systems—about the size of a large refrigerator. In some cases, it is now possible to run a mainframe operating system on a PC that emulates a mainframe. Such emulators are useful for developing and testing business applications before moving them to a mainframe production system.

Clearly, the term mainframe has expanded beyond merely describing the physical characteristics of a system. Instead, the word typically applies to some combination of the following attributes:

  • Backwards compatibility with previous mainframe operating systems, applications, and data.
  • Centralised control of resources.
  • Hardware and operating systems that can share access to disk drives with other systems, with automatic locking and protection against destructive simultaneous use of disk data.
  • A style of operation, often involving dedicated operations staff who use detailed operations procedure books and highly organised procedures for backups, recovery, training, and disaster recovery at an alternative location.
  • Hardware and operating systems that routinely work with hundreds or thousands of simultaneous I/O operations.
  • Clustering technologies that allow the customer to operate multiple copies of the operating system as a single system. This configuration known as Parallel Sysplex is analogous in concept to a UNIX cluster, but allows systems to be added or removed as needed, while applications continue to run. This flexibility allows mainframe customers to introduce new applications, or discontinue the use of existing applications, in response to changes in business activity.
  • Additional data and resource sharing capabilities. For example, in a Parallel Sysplex, it is possible for users across multiple systems to access the same databases concurrently, where database access is controlled at the record level.
  • Optimised I/O for business-related data processing applications supporting high speed networking and terabytes of disk storage.

As the performance and cost of such hardware resources such as the central processing unit (CPU) and external storage media improve, and the number and types of devices that can be attached to the CPU increase, the operating system software can now fully take advantage of the improved hardware.

Advantages of Mainframe

The reasons to use a mainframe are many, but most generally they fall into one or more of the following categories:

  • Reliability, availability, and serviceability
  • Security
  • Scalability
  • Continuing compatibility
  • Evolving architecture
  • Extensibility
  • Total cost of ownership
  • Environment friendly

Users of Mainframe Computers

Just about everyone has used a mainframe computer at one point or another. If you ever used an automated teller machine (ATM) to interact with your bank account, you used a mainframe. Today, mainframe computers play a central role in the daily operations of most of the world’s largest corporations. While other forms of computing are used extensively in business in various capacities, the mainframe occupies a coveted place in today’s e-business environment. In banking, finance, health care, insurance, utilities, government, and a multitude of other public and private enterprises, the mainframe computer continues to be the foundation of modern business.

Until the mid-1990s, mainframes provided the only acceptable means of handling the data processing requirements of a large business. These requirements were then (and are often now) based on large and complex batch jobs, such as payroll and general ledger processing.

The mainframe owes much of its popularity and longevity to its inherent reliability and stability, a result of careful and steady technological advances that have been made since the introduction of the System/360 in 1964. No other computer architecture can claim as much continuous, evolutionary improvement, while maintaining compatibility with previous releases. Because of these design strengths, the mainframe is often used by IT organisations to host the most important, mission-critical applications. These applications typically include customer order processing, financial transactions, production and inventory control, payroll, as well as many other types of work. One common impression of a mainframe’s user interface is the 80x24-character “green screen” terminal, named for the old cathode ray tube (CRT) monitors from years ago that glowed green. In reality, mainframe interfaces today look much the same as those for personal computers or UNIX systems. When a business application is accessed through a Web browser, there is often a mainframe computer performing crucial functions “behind the scene.” Many of today’s busiest Web sites store their production databases on a mainframe host. New mainframe hardware and software products are ideal for Web transactions because they are designed to allow huge numbers of users and applications to rapidly and simultaneously access the same data without interfering with each other. This security, scalability, and reliability is critical to the efficient and secure operation of contemporary information processing. Corporations use mainframes for applications that depend on scalability and reliability. For example, a banking institution could use a mainframe to host the database of its customer accounts, for which transactions can be submitted from any of thousands of ATM locations worldwide. Businesses today rely on the mainframe to:

  • Perform large-scale transaction processing (thousands of transactions per second).
  • Support thousands of users and application programs concurrently accessing numerous resources.
  • Manage terabytes of information in databases.
  • Handle large-bandwidth communication.

The roads of the information superhighway often lead to a mainframe.

Typical Mainframe Workloads

Most mainframe workloads fall into one of two categories: batch processing or online transaction processing (including Web-based applications).

Specialty Engines to Characterise Workload

A feature of the mainframe provides customers the capability to characterise their server configuration to the type of workload they elect to run on it. The mainframe can configure CPUs as specialty engines to off-load specific work to separate processors. This enables the general CPUs to continue processing standard workload increasing the overall ability to complete more batch jobs or transactions. In these scenarios the customer can benefit from greater throughput and eases the overall total cost of ownership.

Roles in the Mainframe World

Mainframe systems are designed to be used by large numbers of people. Most of those who interact with mainframes are end users—people who use the applications that are hosted on the system. However, because of the large number of end users, applications running on the system, and the sophistication and complexity of the system software that supports the users and applications, a variety of roles are needed to operate and support the system.

Mainframe Programming Languages Overview

Computer programming languages can be classified as follows:

  • Machine language, the 1st generation, direct machine code.
  • Assembler, 2nd generation, using mnemonics to present the instructions to be translated later into machine language by an assembly program, such as Assembler language.
  • Procedural languages, 3rd generation, also known as high-level languages (HLL), such as Pascal, FORTRAN, Algol, COBOL, PL/I, Basic, and C. The coded program, called a source program, has to be translated through a compilation step.
  • Non-procedural languages, 4th generation, also known as 4GL, used for predefined functions in applications for databases, report generators, queries, such as RPG, CSP, QMF™.
  • Visual Programming languages that use a mouse and icons, such as VisualBasic and VisualC++.
  • Hyper Text Markup Language, used for writing of World Wide Web documents.
  • Object-oriented language, OO technology, such as Smalltalk, Java™, and C++.
  • Other languages, for example 3D applications.

Each computer language has evolved separately, driven by the creation of and the adaptation to new standards. The most widely used computer languages supported by z/OS include:

  • Assembler
  • COBOL
  • PL/I
  • C/C++
  • Java
  • CLIST
  • REXX™

Choosing a programming language depends on a number of different things, the following are some of the considerations, when choosing a programming language to develop an application:

  • What is the type and nature of the application (e.g. on-line or batch)?
  • Is performance a consideration?
  • What are the budget constraints for development and ongoing support?
  • What are the time constraints of the project?
  • Do we need to write some of the subroutines in different languages because of the strengths of a particular language versus the overall language of choice?
  • Do we use a compiled or an interpreted language?

The sections that follow look at considerations for several languages commonly supported on the mainframe.

Copyright © 2020- Temenos Headquarters SA

Published on :
Wednesday, October 12, 2022 7:00:32 PM IST

Feedback
x