concepts in mainframe computing

43
ANDREW COLLETT Concepts in Mainframe Computing

Upload: jewell

Post on 16-Jan-2016

65 views

Category:

Documents


1 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Concepts in Mainframe Computing

ANDREW COLLETT

Concepts in Mainframe Computing

Page 2: Concepts in Mainframe Computing

Contents

Brief History and General Information

Pros/Cons of Mainframes

Terminology

Concepts used in the mainframe world

Mainframe process example

Page 3: Concepts in Mainframe Computing

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

Page 4: Concepts in Mainframe Computing

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

Page 5: Concepts in Mainframe Computing

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

Page 6: Concepts in Mainframe Computing

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

Page 7: Concepts in Mainframe Computing

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

Page 8: Concepts in Mainframe Computing

Terminology

EBCDIC EBCDIC is a standard similar in concept to, but not

compatible with, ASCIICOBOL

A business-oriented programming languagez/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

Page 9: Concepts in Mainframe Computing

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 scriptsDB2

the IBM relational database management system, also available on other platforms

Page 10: Concepts in Mainframe Computing

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

Page 11: Concepts in Mainframe Computing

EBCDIC

Page 12: Concepts in Mainframe Computing

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

Page 13: Concepts in Mainframe Computing

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

Page 14: Concepts in Mainframe Computing

REXX

Page 15: Concepts in Mainframe Computing

REXX

Page 16: Concepts in Mainframe Computing

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.

Page 17: Concepts in Mainframe Computing

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

Page 18: Concepts in Mainframe Computing

IBM Rational Development for System Z

Page 19: Concepts in Mainframe Computing

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

Page 20: Concepts in Mainframe Computing

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.

Page 21: Concepts in Mainframe Computing

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

Page 22: Concepts in Mainframe Computing

JCL Example

Page 23: Concepts in Mainframe Computing

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

Page 24: Concepts in Mainframe Computing

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

Page 25: Concepts in Mainframe Computing

Zeke

Page 26: Concepts in Mainframe Computing

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

Page 27: Concepts in Mainframe Computing

DB2

Page 28: Concepts in Mainframe Computing

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

Page 29: Concepts in Mainframe Computing

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

Page 30: Concepts in Mainframe Computing

ZEnterprise Mainframe

z/OS

CICSDB2JCLREXXCOBOLBATCHEBCDICJAVAC++C#

Page 31: Concepts in Mainframe Computing

PC

ZEnterprise Mainframe

z/OS

CICSDB2JCLREXXCOBOLBATCHEBCDICJAVAC++C#

Rational Development for System Z(z/OS)

Page 32: Concepts in Mainframe Computing

PC

Rational Development for System Z(z/OS)

COBOL Program P1

JCL to run the program

Uses DB2Output - Report

Page 33: Concepts in Mainframe Computing

PC

Rational Development for System Z(z/OS)

COBOL Program P2

JCL to run the program

Input file is Prog1’sOutput report

Page 34: Concepts in Mainframe Computing

PC

ZEnterprise Mainframe

z/OS

CICSDB2JCLREXXCOBOLBATCHEBCDICJAVAC++C#

Rational Development for System Z(z/OS)

Batch Scheduler(Zeke)

Set Prog2 to rundirectly AFTERProg1 finishes

Page 35: Concepts in Mainframe Computing

ZEnterprise Mainframe

z/OS

CICSDB2JCLREXXCOBOLBATCHEBCDICJAVAC++C#

Nightly Batch Processing

Page 36: Concepts in Mainframe Computing

ZEnterprise Mainframe

z/OS

CICSDB2JCLREXXCOBOLBATCHEBCDICJAVAC++C#

Nightly Batch Processing

COBOL Program P1

JCL to run the program

Uses DB2Output - Report

Page 37: Concepts in Mainframe Computing

ZEnterprise Mainframe

z/OS

CICSDB2JCLREXXCOBOLBATCHEBCDICJAVAC++C#

Nightly Batch Processing

COBOL Program P1

JCL to run the program

Uses DB2Output - Report

Gets needed dataVia DB2

Page 38: Concepts in Mainframe Computing

ZEnterprise Mainframe

z/OS

CICSDB2JCLREXXCOBOLBATCHEBCDICJAVAC++C#

Nightly Batch Processing

COBOL Program P1

JCL to run the program

Uses DB2Output - Report

Output

Page 39: Concepts in Mainframe Computing

ZEnterprise Mainframe

z/OS

CICSDB2JCLREXXCOBOLBATCHEBCDICJAVAC++C#

Nightly Batch Processing

Output

Page 40: Concepts in Mainframe Computing

ZEnterprise Mainframe

z/OS

CICSDB2JCLREXXCOBOLBATCHEBCDICJAVAC++C#

Nightly Batch Processing

COBOL Program P2

JCL to run the program

Input file is Prog1’sOutput report

Output

Page 41: Concepts in Mainframe Computing

ZEnterprise Mainframe

z/OS

CICSDB2JCLREXXCOBOLBATCHEBCDICJAVAC++C#

Nightly Batch Processing

COBOL Program P2

JCL to run the program

Input file is Prog1’sOutput report

Input

Page 42: Concepts in Mainframe Computing

ZEnterprise Mainframe

z/OS

CICSDB2JCLREXXCOBOLBATCHEBCDICJAVAC++C#

Nightly Batch Processing

P2 finished

Page 43: Concepts in Mainframe Computing

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/>.