You are previewing Batch Modernization on z/OS.
O'Reilly logo
Batch Modernization on z/OS

Book Description

Mainframe computers play a central role in the daily operations of many of the world's largest corporations, and batch processing is a fundamental part of the workloads that run on the mainframe. A large portion of the workload on IBM® z/OS® systems is processed in batch mode. Although several IBM Redbooks® publications discuss application modernization on the IBM z/OS platform, this book specifically addresses batch processing in detail.

Many different technologies are available in a batch environment on z/OS systems. This book demonstrates these technologies and shows how the z/OS system offers a sophisticated environment for batch. In this practical book, we discuss a variety of themes that are of importance for batch workloads on z/OS systems and offer examples that you can try on your own system.

The audience for this book includes IT architects and application developers, with a focus on batch processing on the z/OS platform.

Table of Contents

  1. Front cover
  2. Notices
    1. Trademarks
  3. Preface
    1. The team who wrote this book
    2. Now you can become a published author, too!
    3. Comments welcome
    4. Stay connected to IBM Redbooks
  4. Summary of changes
    1. July 2012, Second Edition
  5. Chapter 1. Executive overview of batch modernization on z/OS
    1. 1.1 Do you still need batch?
    2. 1.2 Is replacing batch with OLTP an option?
    3. 1.3 Strengths of z/OS for batch
    4. 1.4 Batch modernization on z/OS
    5. 1.5 New technologies can help
    6. 1.6 Conclusion
  6. Part 1 Overview of batch processing
  7. Chapter 2. Introduction to batch modernization on z/OS
    1. 2.1 Differences between OLTP and batch processing
      1. 2.1.1 Reasons for using batch
    2. 2.2 Taking advantage of z/OS features for batch processing
      1. 2.2.1 Centralized computing model
      2. 2.2.2 Security
      3. 2.2.3 Manageability
      4. 2.2.4 Workload management
      5. 2.2.5 Reliability
      6. 2.2.6 Scalability
      7. 2.2.7 Availability
      8. 2.2.8 Batch processing environment
    3. 2.3 Drivers for change
      1. 2.3.1 Existing programs are not adequate for new requirements
      2. 2.3.2 Necessary skills to maintain and use the current technology are no longer available
      3. 2.3.3 The batch window needs to be shortened or made more efficient
      4. 2.3.4 Running batch at any time
      5. 2.3.5 Maintaining the actual batch programs is too complex
  8. Chapter 3. Bulk processing reference architecture
    1. 3.1 Why do we need a reference architecture?
    2. 3.2 Overview
    3. 3.3 Bulk reference architecture
      1. 3.3.1 Infrastructure services
      2. 3.3.2 Data access management services
      3. 3.3.3 Bulk application container
      4. 3.3.4 Invocation services
      5. 3.3.5 System management and operations
      6. 3.3.6 Bulk application development
      7. 3.3.7 Analytics
    4. 3.4 Building up the bulk processing reference architecture
  9. Part 2 Serving new functional requirements in z/OS batch
  10. Chapter 4. Implement new functionality using traditional languages
    1. 4.1 Why use traditional languages for new functionality?
    2. 4.2 XML support in COBOL and PL/I
      1. 4.2.1 Using built-in XML support in COBOL
      2. 4.2.2 Using built-in XML support in PL/I
      3. 4.2.3 Using the XML Toolkit for z/OS
      4. 4.2.4 Using z/OS XML System Services
      5. 4.2.5 Solving the “XML problem” by combining XML technologies
      6. 4.2.6 Using pureXML capabilities in DB2 9 for z/OS
      7. 4.2.7 Summary
    3. 4.3 Implementing new functionality in C/C++
  11. Chapter 5. Introduction to Java on z/OS
    1. 5.1 The basics of Java
    2. 5.2 Special Java APIs for batch processing on z/OS
    3. 5.3 Data access with Java on z/OS
      1. 5.3.1 Summary
    4. 5.4 Encoding issues
    5. 5.5 Java Interoperability with COBOL and PL/I
      1. 5.5.1 Enterprise COBOL
      2. 5.5.2 Enterprise PL/I
  12. Chapter 6. Implement new functionality using Java in traditional containers
    1. 6.1 Java in CICS
    2. 6.2 Java in IMS
      1. 6.2.1 Introduction to IMS databases
      2. 6.2.2 Object mapped access to hierarchical data
      3. 6.2.3 Java applications in IMS
    3. 6.3 Java in DB2 for z/OS
      1. 6.3.1 Java interoperability with other languages
      2. 6.3.2 Configuring the system environment
      3. 6.3.3 Development of the sample application
  13. Chapter 7. Implement new functionality using stand-alone Java
    1. 7.1 Running Java with the BPXBATCH or BPXBATSL utilities
    2. 7.2 Running Java with JZOS
    3. 7.3 Interoperability with other languages
    4. 7.4 Development tools
    5. 7.5 Sample stand-alone Java batch application
      1. 7.5.1 Creating invoice data with COBOL
      2. 7.5.2 Generating a PDF in Java
  14. Chapter 8. Implement new functionality using Java in WebSphere XDCompute Grid
    1. 8.1 Java and Java Platform, Enterprise Edition
    2. 8.2 The Java EE runtime environment on z/OS
    3. 8.3 WebSphere XD Compute Grid overview
    4. 8.4 Quality of service in a WebSphere environment on z/OS
      1. 8.4.1 Security
      2. 8.4.2 High availability and scalability
    5. 8.5 Interoperability with other languages
    6. 8.6 Batch programming using WebSphere XD Compute Grid
    7. 8.7 Developing a WebSphere batch application
      1. 8.7.1 Setting up the environment
      2. 8.7.2 Creating a batch application using the BDS Framework
      3. 8.7.3 Testing the batch application
      4. 8.7.4 Running Echo batch application on WebSphere XD Compute Grid z/OS
      5. 8.7.5 Debugging your application in the Unit Test Server
      6. 8.7.6 Reusing the Echo application for huge data processing using BDS
      7. 8.7.7 Conclusion
    8. 8.8 Summary
  15. Chapter 9. Implement new functionality using PHP on z/OS
    1. 9.1 Introduction to PHP for z/OS
    2. 9.2 PHP Interoperabilty with other languages
    3. 9.3 Development tools
    4. 9.4 Sample application for using PHP in stand-alone batch
      1. 9.4.1 Eclipse setup
      2. 9.4.2 Importing and customizing the sample project
      3. 9.4.3 Implementing and deploying the PHP application
  16. Chapter 10. Summary of new functional requirements in z/OS batch
  17. Chapter 11. Batch environment enhancements in z/OS V1R13
    1. 11.1 Introduction to z/OS Batch Runtime
      1. 11.1.1 Java COBOL with DB2 interoperability
      2. 11.1.2 JZOS Batch Launcher enhancements
    2. 11.2 JES2 batch modernization
      1. 11.2.1 Instream data in PROCs and INCLUDEs
      2. 11.2.2 Support for JOBRC (job return code)
      3. 11.2.3 Spin and SPIN data set
      4. 11.2.4 Evict a job on a step boundary
  18. Part 3 Implement agile batch
  19. Chapter 12. Create agile batch by optimizing theInformation Management architecture
    1. 12.1 Data Warehousing on System z
    2. 12.2 ETL
      1. 12.2.1 Overcoming operational inefficiency with ETL
      2. 12.2.2 ETL Accelerator with DataStage
  20. Chapter 13. Create agile batch by optimizing DB2 access
    1. 13.1 Data caching
    2. 13.2 Optimizing data access using SQL functionality
      1. 13.2.1 Joining tables
      2. 13.2.2 Using SELECT FROM INSERT/UPDATE/DELETE/MERGE
      3. 13.2.3 Multi-row processing
      4. 13.2.4 Explain SQL statements
    3. 13.3 Optimizing data access using system functionality
      1. 13.3.1 Optimizing using DB2 for z/OS functionality
      2. 13.3.2 Optimizing using I/O features
      3. 13.3.3 Optimizing using JDBC functionality
      4. 13.3.4 Checkpoint and restart functionality
  21. Chapter 14. Create agile batch by implementing trigger mechanisms
    1. 14.1 Job submission with native Java technology
      1. 14.1.1 Developing the code
      2. 14.1.2 Configuring WebSphere Application Server z/OS for deployment
    2. 14.2 Using WebSphere XD Compute Grid trigger mechanisms
      1. 14.2.1 The Job Management Console
      2. 14.2.2 The command-line interface
      3. 14.2.3 The WSGrid command-line utility
      4. 14.2.4 Web services and EJB interfaces for the Job Scheduler
    3. 14.3 Exploiting enhanced features of Tivoli Workload Scheduler for z/OS
      1. 14.3.1 Strengths of Tivoli Workload Scheduler for z/OS
      2. 14.3.2 Integrate Tivoli Workload Scheduler for z/OS with WebSphere XDCompute Grid
    4. 14.4 Triggering a DB2 stored procedure
      1. 14.4.1 Using WebSphere MQ to trigger a DB2 stored procedure
      2. 14.4.2 DB2 as a Web service provider
  22. Part 4 Improve batch efficiency
  23. Chapter 15. Approaches and techniques to reduce the batch window
    1. 15.1 Project Management techniques
      1. 15.1.1 Gantt charts
      2. 15.1.2 Dependency diagrams
      3. 15.1.3 Critical Path Analysis
    2. 15.2 Seven key strategies
      1. 15.2.1 Ensuring the system is properly configured
      2. 15.2.2 Implementing data in memory
      3. 15.2.3 Optimizing I/O
      4. 15.2.4 Increasing parallelism
      5. 15.2.5 Reducing the impact of failures
      6. 15.2.6 Increasing operational effectiveness
      7. 15.2.7 Improving application efficiency
    3. 15.3 Non-window batch
  24. Chapter 16. Increasing concurrency by exploiting BatchPipes
    1. 16.1 Basic function
    2. 16.2 Implementation
      1. 16.2.1 Setting up the Pipes subsystem
      2. 16.2.2 Implementing Individual Pipes
    3. 16.3 New Pipes connectors
    4. 16.4 Additional Pipes functions
      1. 16.4.1 BatchPipePlex
      2. 16.4.2 BatchPipeWorks
  25. Chapter 17. Batch application design and patterns in WebSphere XDCompute Grid
    1. 17.1 The Strategy pattern as the foundation for designing batch applications
      1. 17.1.1 The Batch Data Stream Framework and its implementation of these patterns
      2. 17.1.2 Sharing business services across batch and OLTP
    2. 17.2 Conclusions
  26. Chapter 18. Java performance best practices
    1. 18.1 Java performance in common
      1. 18.1.1 Garbage collection
      2. 18.1.2 Profiling
    2. 18.2 Stand-alone Java batch
      1. 18.2.1 JVM startup cost
  27. Chapter 19. Increasing batch efficiency by using performance instrumentation
    1. 19.1 System-level and WLM workload SMF
    2. 19.2 DB2 Subsystem-level instrumentation
      1. 19.2.1 DB2 Statistics Trace
      2. 19.2.2 DB2 Catalog
      3. 19.2.3 SMF 42-6
      4. 19.2.4 Putting Statistics Trace, DB2 Catalog and SMF 42-6 together
    3. 19.3 Batch suite instrumentation
    4. 19.4 Job-Level SMF
      1. 19.4.1 Data Set OPENs And CLOSEs
      2. 19.4.2 DB2 job-level Accounting Trace and deeper
      3. 19.4.3 DFSORT
      4. 19.4.4 BatchPipes/MVS
      5. 19.4.5 DFSMShsm functional statistics
    5. 19.5 Other job-level instrumentation
      1. 19.5.1 SYSIBM.SYSCOPY for DB2 utility jobs
      2. 19.5.2 Tivoli Workload Scheduler information
      3. 19.5.3 Step-Termination Exit
      4. 19.5.4 System Log
  28. Part 5 Reduce batch complexity
  29. Chapter 20. Reduce batch complexity using a Business Rules ManagementSystem
    1. 20.1 Introduction to Business Rule Management
    2. 20.2 Overview of IBM WebSphere ILOG WebSphere BRMS
    3. 20.3 Using ILOG BRMS on System z
      1. 20.3.1 Option 1: ILOG JRules on System z using Rule Execution Server
      2. 20.3.2 Option 2: IBM WebSphere ILOG Rules for COBOL
    4. 20.4 Using ILOG BRMS in batch
  30. Chapter 21. Reduce batch complexity using middleware for transformation logic
    1. 21.1 WebSphere Transformation Extender: Enabling universal transformation
    2. 21.2 Business value of WebSphere Transformation Extender
    3. 21.3 Sample using WebSphere Transformation Extender in z/OS batch
      1. 21.3.1 Creating the mapping file
      2. 21.3.2 Transferring files to z/OS
      3. 21.3.3 Running the job on z/OS to transform input data
  31. Chapter 22. Reduce batch complexity by eliminating custom file transfer logic
    1. 22.1 Using WebSphere MQ FTE to perform managed file transfers
    2. 22.2 Initiating file transfer using a Java job
    3. 22.3 Initiating file transfer using an Ant job
    4. 22.4 Summary
  32. Chapter 23. Reduce complexity by exploiting DFSORT / ICETOOL
    1. 23.1 Invoking DFSORT functions
    2. 23.2 Data that DFSORT can process
    3. 23.3 Beyond sorting
      1. 23.3.1 Record selection
      2. 23.3.2 Record reformatting
      3. 23.3.3 Parsing
      4. 23.3.4 Report writing
      5. 23.3.5 Record combining
      6. 23.3.6 Checking data
      7. 23.3.7 IFTHEN conditional processing
    4. 23.4 Symbols
      1. 23.4.1 Converting COBOL copybooks to DFSORT symbols
    5. 23.5 Invoking DFSORT from Java with JZOS
      1. 23.5.1 JZOS invoking DFSORT sample
  33. Part 6 Appendixes
  34. Appendix A. DB2 configuration
    1. Data Definition Language for Java stored procedure
    2. Data Definition Language for stand-alone Java application
    3. DB2 SQL Insert statements for sample data
  35. Appendix B. Source code
    1. Java stored procedure to generate PDF files
    2. Java PDF creator
    3. PHP PDF creator
    4. Dynamic batch Web application
    5. JCL for running WebSphere Transformation Extender transformation in batch mode
    6. Triggering Java Stored procedure to generate PDF files
  36. Appendix C. Additional material
    1. Locating the Web material
    2. Using the Web material
  37. Related publications
    1. IBM Redbooks publications
    2. Other publications
    3. Online resources
    4. How to get IBM Redbooks publications
    5. Help from IBM
  38. Back cover