You are previewing Introduction to the New Mainframe: IBM z/VSE Basics.
O'Reilly logo
Introduction to the New Mainframe: IBM z/VSE Basics

Book Description

This IBM® Redbooks® publication is based on the book Introduction to the New Mainframe: z/OS Basics, SG24-6366, which was produced by the International Technical Support Organization (ITSO), Poughkeepsie Center. It provides students of information systems technology with the background knowledge and skills necessary to begin using the basic facilities of a mainframe computer.

For optimal learning, students are assumed to have successfully completed an introductory course in computer system concepts, such as computer organization and architecture, operating systems, data management, or data communications. They should also have successfully completed courses in one or more programming languages, and be PC literate.

This textbook can also be used as a prerequisite for courses in advanced topics, or for internships and special studies. It is not intended to be a complete text covering all aspects of mainframe operation. It is also not a reference book that discusses every feature and option of the mainframe facilities.

Others who can benefit from this course include experienced data processing professionals who have worked with non-mainframe platforms, or who are familiar with some aspects of the mainframe but want to become knowledgeable with other facilities and benefits of the mainframe environment.

As we go through this course, we suggest that the instructor alternate between text, lecture, discussions, and hands-on exercises. Many of the exercises are cumulative, and are designed to show the student how to design and implement the topic presented. The instructor-led discussions and hands-on exercises are an integral part of the course, and can include topics not covered in this textbook.

In this course, we use simplified examples and focus mainly on basic system functions. Hands-on exercises are provided throughout the course to help students explore the mainframe style of computing. At the end of this course, you will be familiar with the following information:

  • Basic concepts of the mainframe, including its usage and architecture

  • Fundamentals of IBM z/VSE® (VSE), an IBM z™ Systems entry mainframe operating system (OS)

  • An understanding of mainframe workloads and the major middleware applications in use on mainframes today

  • The basis for subsequent course work in more advanced, specialized areas of z/VSE, such as system administration or application programming

  • Table of Contents

    1. Front cover
    2. Notices
      1. Trademarks
    3. IBM Redbooks promotions
    4. Preface
      1. How this text is organized
      2. How each chapter is organized
      3. About the authors
      4. Acknowledgements
      5. Comments welcome
    5. Summary of changes
      1. March 2016, Second Edition
    6. Part 1 Introduction to IBM z/VSE and the mainframe environment
    7. Chapter 1. Introduction to the new mainframe
      1. 1.1 The new mainframe
      2. 1.2 The IBM S/360: A turning point in mainframe history
      3. 1.3 An evolving architecture
      4. 1.4 Mainframes in our midst
      5. 1.5 What is a mainframe?
      6. 1.6 Who uses mainframe computers?
      7. 1.7 Factors contributing to mainframe use
        1. 1.7.1 Reliability, availability, and serviceability
        2. 1.7.2 Security
        3. 1.7.3 Scalability
        4. 1.7.4 Continuing compatibility
      8. 1.8 Typical mainframe workloads
        1. 1.8.1 Batch processing
        2. 1.8.2 Online transaction processing
      9. 1.9 Roles in the mainframe world
        1. 1.9.1 Who is the system programmer?
        2. 1.9.2 Who is the system administrator?
        3. 1.9.3 Who are the application designers and programmers?
        4. 1.9.4 Who is the system operator?
        5. 1.9.5 Who is the production control analyst?
        6. 1.9.6 What role do vendors play?
      10. 1.10 IBM z/VSE and other mainframe operating systems
        1. 1.10.1 IBM z/VSE
        2. 1.10.2 IBM z/VM
        3. 1.10.3 IBM z/OS
        4. 1.10.4 Linux for z Systems
        5. 1.10.5 IBM z/Transaction Processing Facility
      11. 1.11 Summary
      12. 1.12 Questions for review
      13. 1.13 Topics for further discussion
    8. Chapter 2. Mainframe hardware systems
      1. 2.1 Introduction to mainframe hardware systems
      2. 2.2 Early system design
      3. 2.3 Current design
        1. 2.3.1 I/O connectivity
        2. 2.3.2 System control and partitioning
        3. 2.3.3 Characteristics of LPARs
        4. 2.3.4 Consolidation of mainframes
      4. 2.4 Processing units
      5. 2.5 Multiprocessors
      6. 2.6 Disk devices
      7. 2.7 Typical mainframe systems
        1. 2.7.1 Low to mid-range systems
        2. 2.7.2 Larger systems
      8. 2.8 Summary
      9. 2.9 Questions for review
      10. 2.10 Topics for further discussion
      11. 2.11 Exercises
    9. Chapter 3. IBM z/VSE overview
      1. 3.1 What is an operating system?
      2. 3.2 What is z/VSE?
        1. 3.2.1 PIE Strategy
        2. 3.2.2 History of z/VSE
        3. 3.2.3 Hardware resources used by z/VSE
        4. 3.2.4 Multiprogramming and multiprocessing
        5. 3.2.5 Phases, modules, and macros
        6. 3.2.6 Control blocks
        7. 3.2.7 Physical storage used by z/VSE
      3. 3.3 Overview of z/VSE facilities
      4. 3.4 Virtual storage and other mainframe concepts
        1. 3.4.1 What is virtual storage?
        2. 3.4.2 What is an address space?
        3. 3.4.3 What is dynamic address translation?
        4. 3.4.4 Virtual storage overview
        5. 3.4.5 What is paging?
        6. 3.4.6 What is storage protection?
        7. 3.4.7 Storage management in z/VSE
        8. 3.4.8 A brief history of virtual storage and 64-bit addressability
        9. 3.4.9 What is meant by below-the-16-MB-line storage?
        10. 3.4.10 What is in an address space?
        11. 3.4.11 System functions and the partition BG
      5. 3.5 I/O and data management
      6. 3.6 Supervising the execution of work in the system
        1. 3.6.1 What is interrupt processing?
        2. 3.6.2 Creating dispatchable units of work
        3. 3.6.3 Preemptable versus non-preemptable
        4. 3.6.4 What does the dispatcher do?
        5. 3.6.5 Serializing the use of resources
      7. 3.7 Defining characteristics of z/VSE
      8. 3.8 Additional software products for z/VSE
      9. 3.9 Middleware for z/VSE
      10. 3.10 A brief comparison of z/VSE and UNIX/LINUX
      11. 3.11 Summary
      12. 3.12 Questions for review
      13. 3.13 Topics for further discussion
    10. Chapter 4. The Interactive Interface of IBM z/VSE
      1. 4.1 How do we interact with z/VSE?
      2. 4.2 Log on to z/VSE
      3. 4.3 Interactive Interface overview
        1. 4.3.1 Navigating through Interactive Interface menus
        2. 4.3.2 Using PF1-HELP and the z/VSE tutorial
      4. 4.4 Task-oriented dialogs
        1. 4.4.1 Administrator tasks
        2. 4.4.2 Operator tasks
        3. 4.4.3 Important tasks for a programmer
      5. 4.5 Summary
      6. 4.6 Questions for review
      7. 4.7 Exercises
        1. 4.7.1 Logging on to z/VSE
        2. 4.7.2 Navigating through some provided dialogs
        3. 4.7.3 Using the ICCF editor
    11. Chapter 5. Working with files
      1. 5.1 What is a data set?
      2. 5.2 Where are files stored?
      3. 5.3 What are access methods?
      4. 5.4 How are DASD volumes used?
        1. 5.4.1 DASD terminology for UNIX and PC users
        2. 5.4.2 What are DASD labels?
        3. 5.4.3 What is a VTOC?
      5. 5.5 What is VSAM?
        1. 5.5.1 What is a VSAM catalog?
        2. 5.5.2 How VSAM files are named
      6. 5.6 Libraries in z/VSE
        1. 5.6.1 What is a VSE library?
        2. 5.6.2 What is a VSE/ICCF library?
      7. 5.7 Summary
      8. 5.8 Questions for review
      9. 5.9 Exercises
        1. 5.9.1 Defining a VSAM file with Interactive Interface
        2. 5.9.2 Listing catalog contents with Interactive Interface
        3. 5.9.3 Working with a batch job
    12. Chapter 6. Using job control language
      1. 6.1 What is JCL?
      2. 6.2 Basic JCL statements
      3. 6.3 Parameters for the basic JCL statements
        1. 6.3.1 JOB statement parameters
        2. 6.3.2 ASSGN statement parameters
        3. 6.3.3 DLBL statement parameters
        4. 6.3.4 EXTENT statement parameters
        5. 6.3.5 LIBDEF statement parameters
        6. 6.3.6 EXEC statement parameters
      4. 6.4 Specifying continuation and concatenation
      5. 6.5 Using JCL procedures
        1. 6.5.1 Using symbolic parameters
      6. 6.6 What are utilities?
      7. 6.7 What are system libraries?
      8. 6.8 Summary
      9. 6.9 Questions for review
      10. 6.10 Topics for further discussion
      11. 6.11 Exercises
        1. 6.11.1 Creating simple jobs and procedures using dialogs
    13. Chapter 7. Batch processing and IBM VSE/POWER
      1. 7.1 What is batch processing?
      2. 7.2 What is VSE/POWER?
      3. 7.3 Static and dynamic partitions
      4. 7.4 What job control does
      5. 7.5 Job and output management with VSE/POWER
      6. 7.6 Job flow through the system
      7. 7.7 Summary
      8. 7.8 Questions for review
      9. 7.9 Exercises
    14. Part 2 Application programming on IBM z/VSE
    15. Chapter 8. Designing and developing applications for IBM z/VSE
      1. 8.1 Application designers and programmers
      2. 8.2 Designing an application for z/VSE
        1. 8.2.1 Designing for z/VSE: Batch or online?
        2. 8.2.2 Designing for z/VSE: Data sources and access methods
        3. 8.2.3 Designing for z/VSE: Availability and workload requirements
        4. 8.2.4 Designing for z/VSE: Exception handling
      3. 8.3 Application development lifecycle: An overview
        1. 8.3.1 Gathering requirements for the design
      4. 8.4 Developing an application on the mainframe
        1. 8.4.1 Using the EBCDIC encoding scheme
        2. 8.4.2 Unicode on mainframe
        3. 8.4.3 Interfaces for z/VSE application programmers
        4. 8.4.4 Using application development tools
        5. 8.4.5 Conducting a debugging session
        6. 8.4.6 Performing a system test
      5. 8.5 Going into production on the mainframe
      6. 8.6 Summary
      7. 8.7 Questions for review
    16. Chapter 9. Using programming languages on IBM z/VSE
      1. 9.1 Overview of programming languages
      2. 9.2 Choosing a programming language for z/VSE
      3. 9.3 Using Assembler language on z/VSE
      4. 9.4 Using COBOL on z/VSE
        1. 9.4.1 COBOL program format
        2. 9.4.2 COBOL relationship between job control language and program files
      5. 9.5 HLL relationship between JCL and program files
      6. 9.6 Using PL/I on z/VSE
        1. 9.6.1 PL/I program structure
        2. 9.6.2 Preprocessor
      7. 9.7 Using C on z/VSE
      8. 9.8 Using REXX on z/VSE
        1. 9.8.1 Compiling and running REXX command lists
        2. 9.8.2 Host commands and host command environments
      9. 9.9 Compiled versus interpreted languages
        1. 9.9.1 Advantages of compiled languages
        2. 9.9.2 Advantages of interpreted languages
      10. 9.10 What is Language Environment for z/VSE?
        1. 9.10.1 How Language Environment is used
        2. 9.10.2 A closer look at Language Environment
        3. 9.10.3 Running your program with Language Environment
      11. 9.11 Using Java to access z/VSE resources
      12. 9.12 Traditional languages and web orientation in z/VSE
      13. 9.13 Summary
      14. 9.14 Questions for review
    17. Chapter 10. Compiling and link-editing a program on IBM z/VSE
      1. 10.1 Source modules, object decks, and phases
      2. 10.2 What are source members?
      3. 10.3 Compiling programs on z/VSE
        1. 10.3.1 What is a precompiler?
        2. 10.3.2 What is an object deck?
        3. 10.3.3 Where are object decks stored?
        4. 10.3.4 How is a linkage editor used?
        5. 10.3.5 How a phase is created
      4. 10.4 Creating phases for executable programs
      5. 10.5 Overview of compilation to run time
      6. 10.6 Using procedures
      7. 10.7 Summary
      8. 10.8 Questions for review
    18. Part 3 Online workloads for IBM z/VSE
    19. Chapter 11. Transaction management systems on IBM z/VSE
      1. 11.1 Online processing on the mainframe
      2. 11.2 Example of global online processing: The new big picture
      3. 11.3 Transaction systems for the mainframe
        1. 11.3.1 What are transaction programs?
        2. 11.3.2 What is a transaction system?
        3. 11.3.3 What are the typical requirements of a transaction system?
        4. 11.3.4 What are commit and roll back?
      4. 11.4 What is CICS?
        1. 11.4.1 CICS in a z/VSE system
        2. 11.4.2 CICS programs, transactions, and tasks
        3. 11.4.3 Using programming languages
        4. 11.4.4 Conversational and pseudo-conversational programming
        5. 11.4.5 CICS programming commands
        6. 11.4.6 How a CICS transaction flows
        7. 11.4.7 CICS services for application programs
        8. 11.4.8 Program control
        9. 11.4.9 CICS programming roadmap
        10. 11.4.10 Our online example
      5. 11.5 Summary
      6. 11.6 Questions for review
      7. 11.7 Exercise: Create a CICS program
    20. Chapter 12. Database management systems on IBM z/VSE
      1. 12.1 Database management systems for the mainframe
      2. 12.2 What is a database?
      3. 12.3 Why use a database?
      4. 12.4 Who is the database administrator?
      5. 12.5 How is a database designed?
        1. 12.5.1 Entities
        2. 12.5.2 Data attributes
        3. 12.5.3 Entity relationships
        4. 12.5.4 Application functions
        5. 12.5.5 Access paths
      6. 12.6 What is a database management system?
        1. 12.6.1 What structures exist in a relational database?
      7. 12.7 What is DB2?
        1. 12.7.1 Data structures in DB2
        2. 12.7.2 Storage concept
        3. 12.7.3 Schema structures
        4. 12.7.4 System structures
        5. 12.7.5 Integration of the basic DB2 components in z/VSE
        6. 12.7.6 Database administration
      8. 12.8 What is SQL?
        1. 12.8.1 Using SQL and ISQL on VSE
        2. 12.8.2 Connecting to the application server in different environments
      9. 12.9 Application programming with DB2 Server for VSE
        1. 12.9.1 How do you write a DB2 application program?
      10. 12.10 What is DL/I?
        1. 12.10.1 The DL/I hierarchical database model
        2. 12.10.2 Defining a database
        3. 12.10.3 Processing a database
        4. 12.10.4 DL/I environments
      11. 12.11 Summary
      12. 12.12 Questions for review
    21. Chapter 13. IBM z/VSE connectors
      1. 13.1 What are z/VSE connectors?
      2. 13.2 Overview of the Java-based connector
        1. 13.2.1 Overview of the VSE Connector Client
        2. 13.2.2 Overview of the VSE Connector Server
      3. 13.3 Overview of the VSAM Redirector Connector
        1. 13.3.1 Synchronous data redirection
        2. 13.3.2 Asynchronous redirection
      4. 13.4 Overview of the VSE script connector
      5. 13.5 Support in z/VSE for web services and SOAP
        1. 13.5.1 Overview of the SOAP syntax
        2. 13.5.2 How the z/VSE host can act as the SOAP server
        3. 13.5.3 How the z/VSE host can act as the SOAP client
        4. 13.5.4 XML parser
        5. 13.5.5 HTTP client
      6. 13.6 Overview of CICS connectivity
      7. 13.7 IBM z/VSE Database Connector
      8. 13.8 IBM WebSphere Application Server connectivity
        1. 13.8.1 Java EE connector architecture overview
        2. 13.8.2 Using the VSE connector class library as a resource adapter
      9. 13.9 Mapping VSE/VSAM data to a relational structure
      10. 13.10 Using a servlet to display VSAM clusters
      11. 13.11 Using the VSE Navigator application
      12. 13.12 Summary
      13. 13.13 Questions for review
    22. Chapter 14. Messaging and queuing
      1. 14.1 What is IBM MQ (formerly IBM WebSphere MQ)?
      2. 14.2 Synchronous communication
      3. 14.3 Asynchronous communication
      4. 14.4 Messages
      5. 14.5 Message queues and the queue manager
        1. 14.5.1 What is a queue manager?
        2. 14.5.2 Types of message queues
      6. 14.6 What is a channel?
      7. 14.7 How transactional integrity is ensured
      8. 14.8 Example of messaging and queuing
      9. 14.9 IBM MQ for VSE
      10. 14.10 Summary
      11. 14.11 Questions for review
    23. Part 4 System programming on IBM z/VSE
    24. Chapter 15. Overview of system programming
      1. 15.1 The role of the system programmer
      2. 15.2 Customizing the system
        1. 15.2.1 z/VSE system libraries
        2. 15.2.2 IJSYSRS
        3. 15.2.3 PRD1
        4. 15.2.4 PRD2
        5. 15.2.5 Console definitions
        6. 15.2.6 I/O device configuration
        7. 15.2.7 Customization parameters for the z/VSE configuration
      3. 15.3 Initializing the system
        1. 15.3.1 IPL from channel-attached disk
        2. 15.3.2 IPL from Fibre Channel Protocol-attached SCSI disk
        3. 15.3.3 IPL and system startup
      4. 15.4 Displaying system status
      5. 15.5 Installing and maintaining the system
      6. 15.6 Summary
      7. 15.7 Questions for review
      8. 15.8 Exercises
    25. Chapter 16. Security on IBM z/VSE
      1. 16.1 Why security?
      2. 16.2 Security facilities of z/VSE
      3. 16.3 Security roles
      4. 16.4 z/VSE security components
        1. 16.4.1 Basic Security Manager
        2. 16.4.2 System Authorization Facility
      5. 16.5 Security administration
        1. 16.5.1 BSM with middleware
      6. 16.6 Summary
      7. 16.7 Questions for review
      8. 16.8 Topics for further discussion
      9. 16.9 Exercises
    26. Chapter 17. Network communications on IBM z/VSE
      1. 17.1 Communications in z/VSE
      2. 17.2 Brief history of data networks
        1. 17.2.1 SNA and TCP/IP on z/VSE
        2. 17.2.2 Layered network models
        3. 17.2.3 Network reliability and availability
        4. 17.2.4 Factors contributing to the continued use of SNA
      3. 17.3 TCP/IP overview
        1. 17.3.1 Available TCP/IP implementations on z/VSE
      4. 17.4 VTAM overview
        1. 17.4.1 Network topologies supported by VTAM
        2. 17.4.2 What is a subarea network topology?
        3. 17.4.3 What is an APPN network topology?
        4. 17.4.4 Summary of VTAM topologies
        5. 17.4.5 Using commands to monitor VTAM
        6. 17.4.6 Background: 3270 data stream
      5. 17.5 Summary
      6. 17.6 Questions for review
      7. 17.7 Exercises
    27. Chapter 18. Cryptographic support in IBM z/VSE
      1. 18.1 Why cryptography?
      2. 18.2 Overview of data encryption
        1. 18.2.1 Encryption key
        2. 18.2.2 Encryption algorithm
        3. 18.2.3 Stream cipher
        4. 18.2.4 Block cipher
        5. 18.2.5 Stream cipher based on block ciphers
        6. 18.2.6 Encryption mode
        7. 18.2.7 Hash algorithm
        8. 18.2.8 Secure communication protocols
        9. 18.2.9 SSL/TLS cipher suites
      3. 18.3 Cryptographic hardware on IBM mainframes
        1. 18.3.1 Crypto cards
        2. 18.3.2 Considerations on AP interrupts
        3. 18.3.3 The CPU assist feature
      4. 18.4 The z/VSE crypto device driver
      5. 18.5 Provided cryptographic functions
        1. 18.5.1 SSL/TLS
        2. 18.5.2 TS1150 family of tape drives
        3. 18.5.3 Encryption Facility for z/VSE
      6. 18.6 Summary
      7. 18.7 Questions for review
      8. 18.8 Exercises
    28. Appendix A. A brief look at IBM mainframe history
    29. Appendix B. Utility programs
      1. Basic utilities
      2. System-oriented utilities
      3. Printing or displaying system information
    30. Appendix C. EBCDIC - 7-bit ASCII table
    31. Appendix D. Programming experience
      1. Basic language samples in COBOL, PL/I, and C
      2. LE/VSE callable services (all languages)
      3. Involving Assembler routines
        1. General help for developing applications under CICS
      4. Interlanguage communication
      5. Programming with other products
      6. Fourth-generation language programming and VSE
    32. Appendix E. Back matter
      1. Related publications
        1. IBM Redbooks
        2. Online resources
        3. How to get IBM Redbooks
        4. Help from IBM
    33. Glossary
    34. Back cover