Concepts in Mainframe Computing Contents Brief History and General Information ProsCons of Mainframes Terminology Concepts used in the mainframe world Mainframe process example History amp General Information ID: 548615
Download Presentation The PPT/PDF document "Andrew Collett" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Andrew Collett
Concepts in Mainframe Computing Slide2
Contents
Brief History and General Information
Pros/Cons of Mainframes
Terminology
Concepts used in the mainframe world
Mainframe process exampleSlide3
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 mainframesSlide4
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 maintainSlide5
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 IBMSlide6
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 outdatedSlide7
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, etcSlide8
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 PythonSlide9
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 platformsSlide10
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 schemeSlide11
EBCDICSlide12
COBOL
CO
mmon
B
usiness-
O
riented
L
anguage
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 logicSlide13
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 filesSlide14
REXXSlide15
REXXSlide16
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.Slide17
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
IntellisenceSlide18
IBM Rational Development for System ZSlide19
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 processingSlide20
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.Slide21
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, etcSlide22
JCL ExampleSlide23
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’ inputSlide24
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 Slide25
ZekeSlide26
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 SQLSlide27
DB2Slide28
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 errorsSlide29
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 mainframeSlide30
ZEnterprise
Mainframe
z/OS
CICS
DB2
JCL
REXX
COBOL
BATCH
EBCDIC
JAVA
C++
C#Slide31
PC
ZEnterprise
Mainframe
z/OS
CICS
DB2
JCL
REXX
COBOL
BATCH
EBCDIC
JAVA
C++
C#
Rational Development for System Z
(z/OS)Slide32
PC
Rational Development for System Z
(z/OS)
COBOL Program P1
JCL to run the program
Uses DB2
Output - Report Slide33
PC
Rational Development for System Z
(z/OS)
COBOL Program P2
JCL to run the program
Input file is Prog1’s
Output reportSlide34
PC
ZEnterprise
Mainframe
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 finishesSlide35
ZEnterprise
Mainframe
z/OS
CICS
DB2
JCL
REXX
COBOL
BATCH
EBCDIC
JAVA
C++
C#
Nightly Batch ProcessingSlide36
ZEnterprise
Mainframe
z/OS
CICS
DB2
JCL
REXX
COBOL
BATCH
EBCDIC
JAVA
C++
C#
Nightly Batch Processing
COBOL Program P1
JCL to run the program
Uses DB2
Output - Report Slide37
ZEnterprise
Mainframe
z/OS
CICS
DB2
JCL
REXX
COBOL
BATCH
EBCDIC
JAVA
C++
C#
Nightly Batch Processing
COBOL Program P1
JCL to run the program
Uses DB2
Output - Report
Gets needed data
Via DB2Slide38
ZEnterprise
Mainframe
z/OS
CICS
DB2
JCL
REXX
COBOL
BATCH
EBCDIC
JAVA
C++
C#
Nightly Batch Processing
COBOL Program P1
JCL to run the program
Uses DB2
Output - Report
OutputSlide39
ZEnterprise
Mainframe
z/OS
CICS
DB2
JCL
REXX
COBOL
BATCH
EBCDIC
JAVA
C++
C#
Nightly Batch Processing
OutputSlide40
ZEnterprise
Mainframe
z/OS
CICS
DB2
JCL
REXX
COBOL
BATCH
EBCDIC
JAVA
C++
C#
Nightly Batch Processing
COBOL Program P2
JCL to run the program
Input file is Prog1’s
Output report
OutputSlide41
ZEnterprise
Mainframe
z/OS
CICS
DB2
JCL
REXX
COBOL
BATCH
EBCDIC
JAVA
C++
C#
Nightly Batch Processing
COBOL Program P2
JCL to run the program
Input file is Prog1’s
Output report
InputSlide42
ZEnterprise
Mainframe
z/OS
CICS
DB2
JCL
REXX
COBOL
BATCH
EBCDIC
JAVA
C++
C#
Nightly Batch Processing
P2 finishedSlide43
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/>.