Java Stand-alone Applications on z/OS, Volume I

Book description

This IBM Redbooks publication is about using Java on z/OS to develop, deploy, and run stand-alone and batch applications.
Java has certainly become the most popular programming language, and it is the language of choice for many enterprise applications today.
This is the result of many advancements in the language itself as well as related technologies and tools that enable users to develop and run cost-effective, scalable, high-performance solutions.
IBM System z servers provide comprehensive support for deploying Java applications while providing the traditional quality of service, advanced security, and scalability that users have come to expect from this server family. IBM System zApplication Assist Processors (zAAP) further enhance the ability of an enterprise to implement complex and heavy workload applications on System z in a cost-effective and reliable manner.
There are many technical and business-oriented documents that describe the value of running J2EE applications on System z using WebSphere Application Server. However, less attention has been given to running stand-alone Java applications. This book shows how Java can leverage the power of IBM System z to run stand-alone and batch applications.
This book is a technical guideline for Java application developers who do not have prior experience with the System z operating environment, as well as System z operators who are new to the world of Java because of the inevitable transition occurring in the IT industry.
Chapters in this book are designed to be self-contained so that they can be read in any order.

Please note that the additional material referenced in the text is not available from IBM.

Table of contents

  1. Notices
    1. Trademarks
  2. Preface
    1. The team that wrote this redbook
    2. Become a published author
    3. Comments welcome
  3. Chapter 1: Scenarios for running Java stand-alone applications on z/OS
    1. Definition of Java stand-alone applications
      1. Definition of batch applications
    2. Legacy system modernization
    3. Reasons to use Java for stand-alone applications
      1. Functionality
      2. XML processing
      3. Reusing J2EE online program logic
      4. Migrating Java applications for QoS and server consolidation
      5. Availability of skill set for the future
      6. zAAP processor
    4. Topologies of Java stand-alone applications
  4. Chapter 2: Job management
    1. The first Java program on z/OS
    2. Running a Java program as a batch job
      1. Overview of Job Control Language
      2. Writing JCL for a Java batch job
      3. Limitations of BPXBATCH
      4. BPXBATSL
      5. Comparison of JCLBATCH and JCLBATSL
    3. Developing multi-step jobs
      1. Specifying multiple steps in a JCL script
      2. Conditions on a step
      3. Conditional step execution using IF-ELSE
    4. Design considerations for multi-step jobs
      1. What skill sets are available in the development team?
      2. How much integration with legacy applications is necessary?
      3. How much control is required between steps?
      4. Return code from BPXBATCH and BPXBATSL
  5. Chapter 3: Access to MVS data sets
    1. The JRIO library
      1. JRIO classes and interfaces
      2. JRIO usage examples (1/2)
      3. JRIO usage examples (2/2)
    2. Working with VSAM data sets
      1. VSAM overview
      2. Accessing records in a VSAM data set using the JRIO library
    3. Working with COBOL packed decimal numbers
      1. Converting from COBOL packed decimals to Java integers
      2. Converting from Java integers to COBOL packed decimals
    4. JRecord bean generator and supporting APIs
      1. JRecord utility APIs
      2. Generating a Java bean for a record
      3. JRecord runtime library and plug-in installation
  6. Chapter 4: Tools and techniques
    1. Introduction
    2. Application build and deployment
      1. Ant support in Eclipse
      2. Set up Ant ftp support in Eclipse
      3. Build and deployment Ant script
      4. Use the ANT buildfile
      5. Further discussion
    3. Debugging
      1. Remote debugging
      2. Preparing the Java program
      3. Creating a shell script and JCL
      4. Deploying and starting a Java application
      5. Work with the debugger in the Eclipse workbench (1/2)
      6. Work with the debugger in the Eclipse workbench (2/2)
      7. Local debugging
      8. Rational Application Developer considerations
  7. Chapter 5: Measuring performance and application profiling
    1. Performance analysis
      1. Tooling overview
      2. Establishing a goal
    2. Overview of analysis strategies
      1. Statistical
      2. Fractional
      3. Elimination
      4. Accurate
    3. Statistical analysis
    4. Fractional analysis (1/2)
    5. Fractional analysis (2/2)
      1. TIMEUSED (1/2)
      2. TIMEUSED (2/2)
    6. Elimination analysis
    7. Accurate analysis
      1. Installing TPTP
      2. Profiling an application on z/OS (1/6)
      3. Profiling an application on z/OS (2/6)
      4. Profiling an application on z/OS (3/6)
      5. Profiling an application on z/OS (4/6)
      6. Profiling an application on z/OS (5/6)
      7. Profiling an application on z/OS (6/6)
      8. Fractional analysis with TPTP (1/2)
      9. Fractional analysis with TPTP (2/2)
    8. Code listings (1/2)
    9. Code listings (2/2)
  8. Chapter 6: Exploiting zAAP
    1. zAAP prerequisites
    2. Overview of zAAP and runtime options
    3. Exploring zAAP utilization potentials
      1. zAAP utilization estimate and projection tool
      2. Experimental results of zAAP utilization estimates
      3. Hardware and software configuration
  9. Chapter 7: Problem determination
    1. Introduction
    2. Checking the z/OS environment
      1. Maintenance
      2. LE settings
      3. Environment variables
      4. Private storage usage
      5. Service Class for the application
    3. Collecting data for problem determination
      1. JVM dump control
      2. CEEDUMP, SYSTDUMP and SVCDUMP
      3. JAVADUMP and HEAPDUMP
      4. Other problem determination data
    4. Dump analysis and tools
      1. Analyzing SYSTDUMP and SVCDUMP
      2. Interpreting a JAVADUMP (1/2)
      3. Interpreting a JAVADUMP (2/2)
      4. HeapAnalyzer (1/2)
      5. HeapAnalyzer (2/2)
      6. Other analysis tools
    5. Problem determination scenarios
      1. Diagnose crashes
      2. Debugging hangs
      3. Debugging memory leaks
      4. Debugging performance problems
  10. Appendix A: Additional material
    1. Locating the Web material
    2. Using the Web material
    3. System requirements for downloading the Web material
  11. Related publications
    1. IBM Redbooks
    2. Other publications
    3. Online resources
    4. How to get IBM Redbooks
    5. Help from IBM
  12. Index (1/2)
  13. Index (2/2)
  14. Back cover

Product information

  • Title: Java Stand-alone Applications on z/OS, Volume I
  • Author(s): Alex Louwe-Kooijmans, Paul Anderson, Kenichi Yoshimura, Linfeng Yu
  • Release date: May 2006
  • Publisher(s): IBM Redbooks
  • ISBN: None