Concepts in Mainframe Computing

Download Report

Transcript Concepts in Mainframe Computing

Concepts in Mainframe
Computing
ANDREW COLLETT
Contents
 Brief History and General Information
 Pros/Cons of Mainframes
 Terminology
 Concepts used in the mainframe world
 Mainframe process example
History & General Information
 IBM Mainframe Definition
 ..”a large computer, in particular one to which other computers
can be connected so they can share facilities the mainframe
provides.... The term usually refers to hardware only, namely,
main storage, execution circuitry and peripheral units”
 MIPS
 Million instructions per second
 IBM’s way of rating their mainframes
History & General Information
 First IBM Mainframe
 April 7, 1964 - System/360 $5.5 Million to purchase or
~$3,000-$100,000/month rental
 0.0018 to 0.034 MIPS
 IBM zEnterprise System – 2010
 5.2Ghz per core with up to 96 cores on a single machine
 3 TB of main memory
 78,426 MIPS
 industry standard today – more variations
 ~$33 Million to buy/install and ~$256,000 / year to maintain
Pros of Mainframes
 Extremely fast
 Can handle a huge workload 24/7
 Consolidates the entire system together
 Easy to manipulate data quickly
 Great for transaction processing
 Ton of support through IBM
Cons of Mainframes
 Very expensive up front cost
 Expensive to maintain – MIPS and hardware maintenance
 Have to pay based on how many MIPS are actually being
executed - if renting
 Complex system – high learning curve
 Not good for number crunching or doing complex calculations
 Some systems can be old and outdated
Why are mainframes still around?
 Nothing can match the speed of data processing that
mainframes deliver
 Nothing can match the volume and reliability of data
processed
 Has a lot of money, time, and energy invested into it
 Esp. IBM – TON of support
 Older systems cost too much to replace
 Old systems need maintenance
 Trillions of lines of code that is used everyday
 Banks, financial institutions, big businesses, etc
Terminology
 EBCDIC
 EBCDIC is a standard similar in concept to, but not compatible
with, ASCII
 COBOL
 A business-oriented programming language
 z/OS
 A 64-bit operating system that allows for virtualization of
resources – what mainframes newer than 2000 run on
 REXX
 A scripting language that is similar in concept to Perl and
Python
Terminology
 CICS
 A transaction server for online and batch processing
 JCL
 A scripting language for executing batch programs
 Batch
 Schedule based jobs that runs every night with an
interconnected series of scripts
 DB2
 the IBM relational database management system, also
available on other platforms
EBCDIC
 Extended Binary Coded Decimal Interchange Code
 Devised in 1963-1964 by IBM to co-release with its
System/360 mainframe
 8-bit character encoding
 Developed separately from the 7-bit ASCII encoding scheme
EBCDIC
COBOL
 COmmon Business-Oriented Language
 Used in mainframes because they were built and
structured around each other
 Business oriented language so it is English like
 Easy to read in files and manipulate records while
applying business logic
REXX
 Restructured Extended Executor
 Developed by IBM
 Designed as a macro or scripting-like language so each
mainframe system can do unique things
 Allow for developers to make ‘App-like’ programs on the
mainframe.


Ex. Typing a shortcut on the command line
Small program to cleanup some files
REXX
REXX
z/OS
 64-bit operating system that runs on mainframes
designed by IBM

Needs to be at least a “zSeries” or newer mainframe
 Record-oriented data access methods
 Supports Java, C++, and C# (built in compiler)
 Comes with all the necessary tools to work on a
mainframe – CICS, DB2, JCL, REXX, etc.
z/OS
 Meant for continuous, high-volume operation with
high security and stability
 Newest version – IBM Rational Development for
System Z





z/OS on Windows
No ‘Green Screen’
Nice GUI – based on Eclipse client
Has subversion type software built in
Has ‘Content Assist’ – just like Intellisence
IBM Rational Development for System Z
CICS
 Customer Information Control System
 Is a Teleprocessing monitor server

a control program that monitors the transfer of data between
multiple local and remote terminals to ensure that the transaction
processes completely or, if an error occurs, to take appropriate
actions
 Transaction server that runs mostly on IBM
mainframe systems under z/OS
 Middleware designed to support high-volume online
transaction processing
CICS
 CICS transaction is a unit of processing initiated by a
single request that may affect one or more objects
 Interacts with resources such as files, database
connections, terminals, or to invoke functions such as
web services
 Manages the entire transaction – if transaction fails all
recoverable changes can be backed out
 90% of Fortune 500 companies run on CICS

Bank teller systems, ATMs, insurance agencies, record keeping, etc.
JCL
 Job Control Language
 Instruct the system on how/when to start a batch job
 Job, steps, and procedures
 JCL has scripting-like tools that can be used
depending on the system

Sort files before running, copy data to a different location, etc
JCL Example
JCL
 Once the JCL is made without syntax errors it can be
‘submitted’ to the mainframe
 The mainframe will run the job just as the card says
 The example shown will run the program named
‘COBPROG’ with the given input and output files in
addition to the ‘MYINPUT’ input
Batch Processing
 Jobs that run directly on the mainframe that do a lot of
transaction processing need to be scheduled
 No manual intervention – controlled automatically
 ProgA needs to run before ProgB because ProgB has
input that is created by ProgA
 Most companies have their own software on their
mainframe that will do job scheduling

Zeke for z/OS Event Scheduling
Zeke
DB2 for z/OS
 Database server product developed by IBM – DBMS

manages incoming data, organizes it, and provides ways for the data
to be modified or extracted by users or other programs
 Supports SQL and XQuery
 Primary way of getting and storing usable data for
programs that need it
 Integrated into Rational Development for System Z
where it can generate usable error free SQL
DB2
DB2 Error Processing
 3 Types of return codes
 0 – successful execution
 Positive number – successful execution with one or
more warnings
 Negative number – unsuccessful with an error
 Easy to handle errors
Conclusion
 All of these concepts work together
 Huge sandbox with many tools
 Mainframe advancements will continue to be made
through these tools along with new mainframe
hardware
 These are the things that a developer must know in
order to be a successful programmer on a mainframe
ZEnterprise Mainframe
z/OS
CICS
DB2
JCL
REXX
COBOL
BATCH
EBCDIC
JAVA
C++
C#
ZEnterprise Mainframe
PC
z/OS
CICS
DB2
JCL
REXX
COBOL
BATCH
EBCDIC
JAVA
C++
C#
Rational
Development
for System Z
(z/OS)
PC
Rational
Development
for System Z
(z/OS)
COBOL Program P1
Uses DB2
Output - Report
JCL to run the program
PC
Rational
Development
for System Z
(z/OS)
COBOL Program P2
Input file is Prog1’s
Output report
JCL to run the program
ZEnterprise Mainframe
PC
z/OS
CICS
DB2
JCL
REXX
COBOL
BATCH
EBCDIC
JAVA
C++
C#
Rational
Development
for System Z
(z/OS)
Batch Scheduler
(Zeke)
Set Prog2 to run
directly AFTER
Prog1 finishes
ZEnterprise Mainframe
z/OS
CICS
DB2
JCL
REXX
COBOL
BATCH
EBCDIC
JAVA
C++
C#
Nightly
Batch
Processing
ZEnterprise Mainframe
COBOL Program P1
z/OS
CICS
DB2
JCL
REXX
COBOL
BATCH
EBCDIC
JAVA
C++
C#
Uses DB2
Output - Report
Nightly
Batch
Processing
JCL to run the program
ZEnterprise Mainframe
z/OS
CICS
DB2
JCL
REXX
COBOL
BATCH
EBCDIC
JAVA
C++
C#
COBOL Program P1
Gets needed data
Via DB2
Nightly
Batch
Processing
Uses DB2
Output - Report
JCL to run the program
ZEnterprise Mainframe
Output
COBOL Program P1
z/OS
CICS
DB2
JCL
REXX
COBOL
BATCH
EBCDIC
JAVA
C++
C#
Uses DB2
Output - Report
Nightly
Batch
Processing
JCL to run the program
ZEnterprise Mainframe
Output
z/OS
CICS
DB2
JCL
REXX
COBOL
BATCH
EBCDIC
JAVA
C++
C#
Nightly
Batch
Processing
ZEnterprise Mainframe
Output
z/OS
CICS
DB2
JCL
REXX
COBOL
BATCH
EBCDIC
JAVA
C++
C#
COBOL Program P2
Input file is Prog1’s
Output report
Nightly
Batch
Processing
JCL to run the program
ZEnterprise Mainframe
Input
z/OS
CICS
DB2
JCL
REXX
COBOL
BATCH
EBCDIC
JAVA
C++
C#
COBOL Program P2
Input file is Prog1’s
Output report
Nightly
Batch
Processing
JCL to run the program
ZEnterprise Mainframe
P2
finished
z/OS
CICS
DB2
JCL
REXX
COBOL
BATCH
EBCDIC
JAVA
C++
C#
Nightly
Batch
Processing
References
 "ASG-Zeke." ASG Software Solutions. 10, July 2013. Web. 14 Oct. 2013.
<http://www.asg.com/Products/View/ASG-Zeke.aspx>.
 "CICS." CICS LU6.2 User Data. Microsoft, 2013. Web.
<http://msdn.microsoft.com/en-us/library/gg166110.aspx>.
 Grega, Al. "A Brief History of the Mainframe World." IBM Destination Z -.
Destination Z, 20 June 2012. Web. 15 Oct. 2013.
 Hansen, Kris D. "Z/OS Concepts for Java Developers." Z/OS Concepts for
Java Developers. IBM, 03 Oct. 2006. Web. 17 Oct. 2013.
 "IBM DB2 Database Software." IBM DB2 Database Software. IBM, 1 Oct. 2013.
Web. 20 Oct. 2013. <http://www01.ibm.com/software/data/db2/>.
 "IBM ZEnterprise System." IBM System Z. IBM, Mar. 2012. Web. 18 Oct. 2013.
<http://www-03.ibm.com/systems/z/hardware/zenterprise/>.