Notes
Slide Show
Outline
1
Enterprise COBOL Education Using Rational Developer for System Z

z/OS Terms and Concepts
  • Jon Sayles, IBM EcoSystems Team
2
IBM Trademarks and Copyrights
    • © Copyright IBM Corporation 2007,2008.  All rights reserved.


    • The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied.  IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials.  Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement  governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates.


    • This information is based on current IBM product plans and strategy, which are subject to change by IBM without notice. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way.


    • IBM, the IBM logo, the on-demand business logo, Rational, the Rational logo, and other IBM Rational products and services are trademarks or registered trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.
3
Course Contributing Authors
  • Thanks to the following individuals, for assisting with this course:
    • David Myers/IBM, Ka Yin Lam/IBM,



4
Purpose of This Document
    • Course Name:  COBOL Foundation Training - with RDz


    • Course Description:  Learn the COBOL language, RDz and learn z/OS terms, concepts and development skills in this course.


    • Pre-requisites: Some experience in a 3rd or 4th Generation Language is expected.  SQL is also recommended.


    • Course Length: 10 days


    • Topics (Agenda)
      • Getting Started - installing and configuring RDz - and the course  materials, and using Eclipse to edit COBOL
      • z/OS Terms and Concepts
      • COBOL General Language Rules
      • Basic COBOL Statements
      • Data records and table handling
      • Debugging Programs - Note: Deep dive on using RDz for common COBOL programming errors (001, 0C4, 0C7, infinite loops, fall-thru, etc.)
      • Input/Output and Report Writing Patterns
      • Sequential File Match/Merge Patterns
      • COBOL Subprograms and the Linkage Section
      • Structured Programming Concepts and Coding Patterns
      • Advanced Character Manipulation, COBOL Intrinsic Functions, Date and Time coding patterns, and Language Environment calls
      • OS/390 Concepts and JCL
      • Compile/Link & Run Procs on the mainframe
      • Indexed file Coding Patterns
      • Sort/Merge and Master File Update Coding Patterns
      • Accessing DB2 Data and Stored Procedures
      • COBOL in the Real World:
        • CICS - lecture only
        • IMS (DL/I and TM) - ditto
        • Batch processing - ditto
        • Java calling COBOL
        • COBOL and XML Statements
        • SOA and COBOL - creating and calling Web Services
        • Web 2.0 using Rich UI


5
Course Details
  • Audience
    • This course is designed for application developers who have programmed in some language before, and who wish to learn COBOL.

  • Prerequisites
    • This course assumes that the student has the basic knowledge of IS technologies, data processing, software and have programmed for at least two or more years in a language such as: Java, VB, RPG, PL/1, Pascal, or some 4th Generation Language or tool.
    • Knowledge of SQL (Structured Query Language) for database access is assumed as well.
    • Basic PC and mouse-driven development skills is also assumed.
    • Finally, it is assumed that you have been following along in this course, and have successfully completed the learning modules in sequence.
      • Or have the equivalent COBOL background obtained through some other form of COBOL study or on-the-job work.
6
z/OS Terms and Concepts
7
Topic objectives
  • After completing this topic, you should be able to:
    • Describe the characteristics and define the following IBM hardware:
      • Mainframes
      • 3390 disk packs
      • LPARs
      • EBCDIC
      • Multi-tier environments


8
Why Learn About the z/OS?
9
Terms and Concepts – Hardware
10
Logical Partition – LPAR
  • LPARs are the equivalent of a separate mainframe for most practical purposes
  • Each LPAR runs its own operating system
  • Devices can be shared across several LPARs
  • Processors can be dedicated or shared
  • When shared each LPAR is assigned a number of logical processors (up to the maximum number of physical processors) and a weighting
  • Each LPAR is independent
11
Disk Devices
  • Current mainframes use 3390 disk devices
  • The original configuration was simple with a controller connected to the processor and strings of devices attached to the back end
  • The DS8000 Enterprise Storage Server is a device that can manage disk devices
  • It emulates a large number of control units and 3390 disks. It can also be partitioned and connect to UNIX and other systems as SCSI devices.
  • There are 11/196 Terra-bytes of disk space up to 32 channel interfaces, 16/256 Giga-bytes cache and 284/Mega-Bytes of non-volatile memory
12
EBCDIC
  • The IBM S/360 through to the latest zSeries machines use the Extended Binary Coded Decimal Interchange character set for most purposes
  • This was developed before ASCII and is also an 8 bit character set
  • z/OS Web Server stores ASCII data as most browsers run on PCs which expect ASCII data
  • UNICODE is used for JAVA on the latest machines
13
Modern Multi-Tier Mainframe Systems
14
z/OS Terms and Concepts
15
Topic objectives
  • After completing this topic, you should be able to:
    • Describe the characteristics and define the following IBM software terms and concepts:
      • z/OS and mainframe operating system software
      • Batch processing
      • Online applications
        • Transactions
        • BMS
        • MFS
      • Mainframe file and database systems:
        • VSAM/QSAM files
        • DL/I (IMS) databases
        •  DB2 databases
      • Mainframe development software (traditional)
        • Tools
        • Development process
        • Procedural languages


16
Terms and Concepts – Operating Systems
17
Traditional "Online" …vs… "Batch" Applications
18
z/OS Online Application Systems
19
Traditional Batch Processing Software
20
Databases – DB2
21
Databases – IMS
22
Files and Databases – VSAM
23
Files and Databases – Other
24
Traditional Development Environment
25
Terms and Concepts – TSO/ISPF Development
26
Terms and Concepts – Compile/Link/Run Environment
27
Development File Types - Introduction
28
Programming Languages
29
Software – Programming Languages – "Hello World" Comparison
30
z/OS Links and
  • Here are some links for additional study on mainframe software terms and concepts:
    • http://publib.boulder.ibm.com/infocenter/zos/basics/index.jsp
      • An excellent set of organized categories of info – that backstop a lot of the material in this Unit
    • http://en.wikipedia.org/wiki/Z/OS
      • What can we say… it's Wikipedia
    • http://www.trainersfriend.com/Papers/Future_of_Mainframe.pdf
      • A somewhat advanced but excellent next-level-down dive on the technology terms and concepts in this Unit
    • http://www-03.ibm.com/systems/z/destinationz/
      • IBM's site for mainframe – and z/topic communities

31
z/OS Terms and Concepts
32
Topic objectives
  • After completing this topic, you should be able to:
    • Describe how COBOL programs:
      • Are executed at run-time by operating system
      • Attach to and read/write data from external data
      • Interface with other business logic

33
Review – Online and Batch
  • Recall from the previous slide that there are two "modes" of z/OS applications:
    • Batch: Where "Jobs" are executed through "JCL" (Job Control Language) cards that are read and understood by z/OS







    • Online: Where transactions ("trancodes") are entered into a z/OS sub-system that "listens" for them.  These sub-systems (either IMS/TM or CICS) are responsible for:
        • Security – ensuring authentication and authorization from those entering the TRANCODE and connecting to the online system
        • Attaching the proper initial process (COBOL program) responsible for handling the transaction
        • More…
34
Batch Processing (only slightly) Deeper Dive
  • There are only a few places in a batch COBOL program that interface with z/OS.  It's easiest to understand by studying a little (!) JCL
    • JCL is an operating system language that has three major keywords (aka "cards")







35
COBOL and Batch
  • In COBOL – every QSAM and VSAM file you access will need a "SELECT/ASSIGN" statement – that essentially defines a "logical" external file name which must have a matching //DD card in the JCL that runs your code.  See the pictures below.







36
COBOL and Online Transactions
  • Online applications run under the supervision of a transaction management system (in z/OS either: CICS or IMS TM).
  • The transaction manager connects to a series of system tables with entries defined for resources necessary to fulfill run-time transaction requests:
37
z/OS Terms and Concepts
38
z/OS – COBOL              Java - Equivalence Chart