Modern Mainframe Development

Book description

Even as spending on digital transformation continues to skyrocket, mainframes nevertheless have major advantages for global enterprises. These systems still process huge amounts of information and allow for highly secure transactions. In this practical book, author Tom Taulli shows software developers how to pursue a hybrid approach by integrating traditional mainframes and applications with modern digital systems.

By the end of this book, you'll have a solid understanding of the mainframe architecture and ecosystem, including core concepts and technologies such as COBOL, REXX, JCL, Db2, VSAM, and CICS. You'll also learn how to blend in newer technologies such as the cloud, AI and machine learning, and microservices. This handbook is indispensable for enterprises looking to thrive in the new digital world.

  • Learn strategies and approaches for mainframe DevOps
  • Create, update, and maintain existing mainframe code, and analyze and resolve common errors
  • Apply modern approaches to the mainframe, including microservices, APIs, cloud, and AI and machine learning
  • Work with datasets and databases and put together effective reports
  • Understand how to work with modern cloud systems, like AWS, for pursuing data migration

Publisher resources

View/Submit Errata

Table of contents

  1. Foreword
  2. Preface
    1. What’s Covered
    2. Who Is This Book For?
    3. The Approach to This Book
    4. Conventions Used in This Book
    5. Using Code Examples
    6. O’Reilly Online Learning
    7. How to Contact Us
    8. Acknowledgments
  3. I. Fundamentals of the Mainframe
  4. 1. Why Be a Mainframe Developer?
    1. Fear of Disruption
    2. Software Is Eating the World
    3. COVID-19
    4. Government Modernization
    5. Future of Mainframe Development
    6. Career Opportunities
    7. Conclusion
  5. 2. World of the Mainframe
    1. What Does “Mainframe” Mean Anyway?
    2. A Brief History
      1. What Are Punch Cards?
      2. Growth of the Mainframe
      3. Mainframe Innovation
      4. The Terminal
    3. Mainframe Challenges
    4. Why Have a Mainframe?
    5. The OS
      1. z/VSE
      2. z/TPF
      3. z/VM
      4. Linux
      5. KVM
    6. Processor Architecture
    7. LPAR
    8. Disks
    9. Batch and Online Transaction Processing
    10. Mainframe Trends
    11. The Mainframe “Shop”
    12. Conclusion
  6. 3. The Development Environment
    1. Accessing a Mainframe
      1. TSO
      2. ISPF
    2. Datasets
    3. Main Types of Datasets
      1. Sequential File
      2. Partitioned Dataset
      3. Virtual Storage Access Method
    4. Catalogs
    5. ISPF and Datasets
    6. Creating a File with ISPF
    7. System Display and Search Facility
    8. Job Control Language
    9. Unix System Services
    10. Mainframe Tools
    11. Modern IDEs
      1. IBM Developer for z/OS
      2. BMC Compuware Topaz Workbench
      3. Che4z
      4. Visual Studio Code
      5. Standardizing on Visual Studio
    12. Simple IDEs
    13. Web-Based Editors
    14. Development Process
    15. Conclusion
  7. 4. The COBOL Language
    1. COBOL’s Background, in Brief
    2. COBOL Versions
    3. Why Use COBOL?
    4. COBOL Program Structure: Columns
    5. COBOL Program Structure: Divisions
      1. IDENTIFICATION DIVISION
      2. ENVIRONMENT DIVISION
      3. DATA DIVISION
      4. PROCEDURE DIVISION
    6. Conclusion
  8. 5. File Handling
    1. Records and Files
    2. Sequential File
    3. File Errors
    4. WRITE to a File
    5. JCL for File-Handling Programs
    6. Inventory Update Program
    7. File with Multiple Records
    8. Variable-Length Records
    9. Indexed Files
    10. Updating an Indexed File
    11. VSAM Files
    12. Conclusion
  9. 6. COBOL Tables and Reports
    1. Introduction to Tables
    2. Tables and Reading Files
    3. Multilevel Tables
    4. Indexes
    5. Searching a Table
    6. Binary Search
    7. Reports
      1. The PROCEDURE DIVISION for Reports
      2. Testing a Report
    8. Reporting Tools
    9. Working with Characters and Strings
      1. STRING
      2. UNSTRING
      3. INSPECT
    10. Conclusion
  10. 7. Other Languages and Programming Techniques
    1. What Language to Use?
    2. Assembler Language
      1. Memory
      2. Registers
      3. Base Displacement Addressing
      4. Sample Assembler Language Code
    3. Java
    4. C and C++
    5. PL/I
    6. CLIST and REXX
      1. REXX Variables
      2. REXX Comparisons
      3. Control Structures
      4. Calling Functions
      5. Arrays
    7. Object-Oriented COBOL
    8. Programming Techniques
      1. Copy Member
      2. Subprograms
    9. Conclusion
  11. 8. Databases and Transaction Managers
    1. Information Management System
      1. IMS Database Manager
      2. IMS Transaction Manager
      3. IMS Services and Tools
      4. IMS Programming Language
    2. Db2 and the Relational Database
      1. Benefits of Relational Databases
      2. Using Db2
      3. Structured Query Language
      4. Joins
      5. Database Administrator
      6. Application Development with Db2
      7. Db2 Ecosystem
    3. Customer Information Control System
      1. Working with the CICS Platform
      2. Programming in CICS
    4. Conclusion
  12. II. Modern Topics
  13. 9. DevOps
    1. Advantages of DevOps
    2. Waterfall Method Model
    3. Agile Method
      1. Scrum
      2. Kanban
      3. Lean
      4. Agile: It’s Not All About Speed
    4. Mainframes and the Challenges for DevOps
    5. DevOps Best Practices
    6. Configuration Management
    7. Issues with DevOps
    8. Metrics
    9. Mainframe DevOps Tooling
      1. Automation
      2. CI/CD
      3. Zowe
      4. BMC Jenkins Plug-ins
      5. Zigi
    10. Conclusion
  14. 10. Artificial Intelligence
    1. What Is AI?
    2. Why Use AI?
    3. Downsides of AI
    4. Machine Learning
      1. Binary Classification
      2. Multiclass Classification
      3. Multilabel Classification
      4. Imbalanced Classification
    5. Types of Machine Learning
      1. Supervised Learning
      2. Unsupervised Learning
      3. Reinforcement Learning
    6. Deep Learning
    7. Data
      1. Big Data
      2. Data Management
      3. Log Data
      4. Data Wrangling
    8. The AI Process
    9. Accuracy
    10. An AI Demo
    11. AI on Z
    12. AIOps
    13. Conclusion
  15. 11. Robotic Process Automation, and Low-Code and No-Code Systems
    1. What Is RPA?
    2. The Disadvantages of RPA
    3. Macros, Scripts, and APIs
    4. Types of RPA
    5. Process Methodologies
    6. RPA Roles
    7. Evaluating RPA Software
    8. Process Mining
    9. How to Create a Bot
      1. Creating a UiPath Bot
      2. Creating a Bot for the Mainframe
    10. RPA Issues with Mainframes
    11. Low-Code and No-Code Systems
    12. Conclusion
  16. 12. Mainframe Modernization Strategies
    1. Why Modernize?
    2. Using a Hybrid Cloud
    3. Setting Goals
      1. Encapsulating
      2. Rehosting or Replatforming
      3. Refactoring or Rearchitecting
      4. Replacing or Rebuilding
    4. Working with the Hyperscalers
      1. Amazon Web Services
      2. Microsoft
      3. Google Cloud
    5. Automation Tools
      1. Heirloom Computing
      2. EvolveWare
      3. Advanced’s Automated COBOL Refactoring
      4. Astadia
      5. Data Migration
    6. Conclusion
  17. 13. The Future
    1. Innovation of the Mainframe
    2. Enterprise Integration
    3. The Hybrid Model
    4. Mainframe as a Service
    5. Conclusion
  18. Additional Resources
  19. Glossary
  20. Index
  21. About the Author

Product information

  • Title: Modern Mainframe Development
  • Author(s): Tom Taulli
  • Release date: March 2022
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9781098107024