Developing a RESTful Web application for Liberty in CICS

An IBM Redbooks video course

by Ian Burnett, Phil Wakelin

This course provides a step-by-step guide for creating a simple RESTful Java application, then deploying it into WebSphere Liberty running in IBM CICS Transaction Server. Topics covered include:

  • Concepts and terms used in Java and RESTful applications
  • Creating an environment suitable for developing Java applications for deployment into CICS
  • Configuring CICS to run Java applications in a Liberty JVM server
  • Developing the application, using supplied sample course materials
  • Deploying and testing the application in CICS
  • Extending the sample application in order to access other CICS applications

Target audience

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

Materials students need for the course

  • Access to a z/OS system with CICS TS V5.x installed
  • Access to a development workstation
  • Ability to download and install Eclipse software on development machine
  • Ability to download materials from the samples repository on

Course materials

Section 01

An overview of this course, with an introduction to the overall learning objectives and the application we will create in CICS.

Lecture 1: Getting started with Java application development in a CICS Liberty environment (1 min 42 secs)
This lecture provides an introduction to the course, explaining at a high-level the application we will be creating, and some important pre-requisites.

Section 02
Creating the development environment

This section covers the creation and configuration of a workstation development environment, suitable for the development of CICS Java applications. The IDE is also configured to remotely manage the CICS environment.

Lecture 1: Introduction to Eclipse (3 mins 58 secs)
An introduction to the Eclipse development environment and IBM Explorer for z/OS. Provides a high-level description of Eclipse, IBM Explorer for z/OS, and the CICS Explorer SDK, along with information on the installation options available.

Lecture 2: Installing IBM Explorer for z/OS (2 mins 14 secs)
Provides a simple guide to configuring your Eclipse development environment. This includes the download, install, and configuration of the IDE in order to successfully compile CICS Java applications.

Lecture 3: Configuring CICS Explorer (3 mins 27 secs)
A step-by-step guide for configuring your workstation CICS Explorer instance to connect to a remote z/OS system in order to deploy Java applications into CICS.

Section 03
Configuring a CICS Liberty JVM server

This section provides a general overview of Liberty in CICS and how the JVM server sits within a CICS address space. We then look in more detail at configuring and managing a Liberty JVM server in CICS, suitable for deploying our simple application.

Lecture 1: Introduction to the Liberty JVM server (1 min 51 secs)
This lecture provides an overview of the purpose of a Liberty JVM server, along with a demonstration of how the Liberty JVM server runs inside CICS.

Lecture 2: Configuring a Liberty JVM server (4 min 30 secs)
In this lecture, we create the CICS and zFS definitions required in order to create a Liberty JVM server. Step-by-step guides correctly configure the CICS SIT parameters, CICS resource definitions, and zFS configuration files, in order to successfully initialize a Liberty JVM server in CICS.

Lecture 3: Starting and validating the Liberty JVM server (5 mins 24 secs)
This lecture builds on Lecture 2 by starting the Liberty JVM server, and provides a guide on some key log files and CICS Explorer views used when understanding the status of a JVM server. The lecture also provides the final configuration steps required to support the sample application we will be creating.

Section 04
Creating a RESTful service for Liberty in CICS

This section takes the sample application, imports it into the development environment, and then exports it for deployment into CICS. Once deployed in CICS, the application is tested to verify correctness.

Lecture 1: Introduction to our RESTful web application (2 mins 27 secs)
This lecture describes in detail the RESTful application we will be creating inside CICS. The basic concepts of JSON and RESTful applications are addressed, along with a view of our application's architecture.

Lecture 2: Developing the application (7 mins 25 secs)
This lecture shows how to code the Java application for execution in CICS. Step by step instructions are provided to import the sample materials into your development environment. Once imported, the project is configured correctly in order to allow the code to compile. We then examine in detail some of the key classes involved in the sample application.

Lecture 3: Deploying the application to the dropins directory (5 mins 06 secs)
Having coded the application in Lecture 2, this lecture takes the Java code in the development environment and deploys it into a CICS region using the Liberty dropins mechanism. Log messages are checked to ensure the application has started correctly, and once deployed, we look at how the application's URI constructed, and we test the RESTful service using a web browser.

Lecture 4: Deploying the application in a CICS bundle (6 mins 54 secs)
This lecture examines in more detail the method of deployment used when installing the Java application into CICS. Some of the shortcomings of the dropins directory are addressed, and the concept of CICS bundles are introduced. A CICS bundle is created in the development environment that is suitable for deploying the application. We install this CICS bundle and again verify the application has been deployed correctly.

Section 05
Linking to a CICS COBOL program

This section extends the simple application created in Section 4, by including the ability to invoke a simple COBOL application. Various CICS concepts are covered, including an in-depth look at the required JCICS API calls.

Lecture 1: Introduction to linking to a CICS program (6 mins 17 secs)
This lecture covers the terminology and Java API used when communicating with non-Java applications in CICS. Topics covered include the use of COMMAREAs, channels and containers, and some key classes used when invoking other CICS programs.

Lecture 2: Using JCICS to link to a CICS program (6 mins 12 secs)
In this lecture, we use the concepts explored in lecture 1 to extend our existing application in order to call sample COBOL program. Each API call is examined to understand how control and data flow between Java and non-Java applications.

Section 06

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

Lecture 1: Review of what we have learned (1 mins 36 secs)
This lecture provides a recap of what we learned in the course, looking at the steps used when creating the development and Liberty environments, developing the code, and the choice of deployment options for installing the application into CICS.

Published 13 February 2017

Follow IBM Redbooks

Follow IBM Redbooks