Skip to main content

Extending a CICS web application using JCICS

An IBM Redbooks course


First available 15 May 2017


This course provides Java application developers with a step-by-step guide to CICS Java development, demonstrating how to access common CICS resources using the JCICS API. Topics covered include:

  • Fundamentals of using the JCICS API

  • Using JZOS to map native record-based language structures to Java data types
  • Communicating with other CICS programs using a COMMAREA
  • LINKing to a Java application deployed in Liberty
  • Accessing CICS resources, including VSAM and temporary storage queues
  • Managing the CICS unit of work scope in Java
  • Handling errors in Java

Students should be familiar with the concepts and techniques discussed in Developing a RESTful Web application for Liberty in CICS before taking this course.

    • Primary: Java application developers who want to understand CICS Java application development.
    • Also applicable to: COBOL, PL/I and other application developers who understand CICS programming and are learning Java.

    menu icon
    Section  01


    An overview of this course, with an introduction to the overall learning objectives.

    Lecture 1: Course introduction (3 min 28 secs)

    This lecture introduces the course, explaining at a high-level the topics to be covered, along with a reference to the sample material and some important pre-requisites.

    Section  02

    Using Java to access CICS

    This section describes at a high-level the record-based data structures used by non-Java languages and demonstrates how to efficiently pass data to COBOL or Assembler programs using the JZOS record generator.

    Lecture 1: Mixed-language communication (4 mins 25 secs)

    This lecture looks at the different approaches to accessing data from Java and non-Java languages. A sample COBOL copybook is introduced, which will be used throughout the course.

    Lecture 2: Java record generation (3 mins 18 secs)

    Introduces the JZOS record generator and outlines the process used to generate Java source code from a COBOL copybook.

    Section  03

    Communication with CICS

    This section covers the LINK command. Two scenarios are examined: using the JCICS API to call other CICS programs; and how to expose Java classes in a Liberty application as CICS programs.

    Lecture 1: Linking to CICS programs (7 min 17 secs)

    An overview of the LINK command, along with a basic example of achieving a LINK operation using the JCICS API. This is extended by passing a COMMAREA constructed using a generated Java bean, and further optimizations are examined.

    Lecture 2: Linking to a Java program in Liberty (3 min 24 secs)

    This lecture demonstrates how to annotate Java methods in a Liberty application, enabling CICS programs to LINK to Java components deployed in a Liberty JVM server.

    Section  04

    Using CICS resources

    Several important CICS resource types are covered, with details on how to access them using the JCICS API.

    Lecture 1: Accessing VSAM data (12 mins 14 secs)

    A brief overview of VSAM is provided, with a focus on accessing VSAM data from CICS. This lecture looks at the sample course materials, examining how to perform the basic operations of reading, writing, updating, and deleting records.

    Lecture 2: Accessing temporary storage queues (5 mins 56 secs)

    A simple introduction to CICS temporary storage queues is provided, along with an introduction to the JCICS methods used when reading from and writing to queues.

    Lecture 3: CICS units of work (2 mins 54 secs)

    This lecture covers CICS unit of work support, and how this can be managed using the JCICS API.

    Section  05

    Coping with errors

    An overview of coping with error conditions when writing Java applications in CICS.

    Lecture 1: Error and exception handling (10 mins 55 secs)

    This lecture looks at the types of error conditions a CICS application may encounter, and how these error conditions map to exceptions in the Java language.

    Section  06


    A summary of the key points we have learned in this course.

    Lecture 1: Course review (1 mins 09 secs)

    This lecture provides a recap of what we learned in the course, looking at the resources covered and the sample materials used.