Includes tutorials that walk you through the process of using
Enterprise Developer and
Enterprise Server to generate and run several types CICS Web services.
Assumptions
These tutorials are written from the perspective that all of the following is true. Specific instructions for setting up your
environment to adhere to these assumptions is found in the
Before you begin a CICS Web service tutorial section that follows
- You have reviewed the
Assumptions and
Before you begin these tutorials sections in the
Tutorials: CICS topic to ensure that your environment is set up properly.
- You have extracted all provided demonstration files to a temporary directory on your local drive.
- You have installed a SOAP and/or a JSON requester tool.
Before you begin a CICS Web service tutorial
- Install a SOAP and/or JSON requester tool
- Each of the
Tutorial: CICS Web Service Provider... tutorials require that you have either a SOAP or a JSON requester tool installed, depending on the type of provider you create.
The tutorials are not specific to any particular requester tools; therefore install those of your choice.
- Extract demonstration files
-
- Extract the
CICSWebServicesProjectTemplate_Eclipse.zip file, located in the
$COBDIR/demo/cics/cws directory, to a temporary directory on your local drive.
- Take note of the location as you need to reference it when working through the CICS Web services tutorials.
Demonstration Project
Rather than creating new projects from scratch,
Enterprise Developer provides a template project to use as a starting point for each tutorial. The template project contains most of the project
components and files you need to complete all of the tutorials, although not all are used in every tutorial. The template
is contained in the
CICSWebServicesProjectTemplate_Eclipse.zip archive file, located in the
$COBDIR/demo/cics/cws directory. A few of the required files that, by design, are not contained in the
.zip file are stored in the directory itself.
- CICS COBOL applications
- Components for each of the following CICS COBOL applications are provided in the template:
- Reverse Application
- The Reverse application is a CICS COBOL application that takes one or more character strings as input, reverses each of them,
and sends the reversed strings as output.
- InvokeReverse Application
- The InvokeReverse application is generated from an existing WSDL file. With it, you invoke the Reverse application running
in an
enterprise server region.
- ReverseJSON Application
- The ReverseJSON application is a CICS COBOL application that takes a character string as input, reverses it, and sends the
reversed string as output.
- InvokeReverseJSON Application
- The InvokeReverseJSON application is generated from an existing JSON file. With it, you invoke the Reverse application running
in an
enterprise server region.
- LoanDemo and
LoanDemoJSON Applications
- LoanDemo
consist of a CICS application, loanPaym, that simply accepts a Principal amount, a Loan Term amount, and a Rate amount.
These three input values are required to calculate and return a Monthly Payment amount.
- filmsREST Application
- The filmsREST application is a CICS COBOL application that stores and retrieves film records, which include the title, year
released, director, and media format for each film.
- Project files
- The CWSProject includes the following files:
- .cobolBuild,
.cobolProj, and
.project
- Eclipse template files used to create each tutorial project.
- RESTLogic.cpy
- A copybook that contains the logic required to create a RESTful Web service provider.
- loanPaym.cbl
- A CICS COBOL program used to create a CICS Web service provider using the bottom-up method.
- LOANINP.cpy
- A copybook that contains the input structure for the loanPaym program.
- LOANOUT.cpy
- A copybook that contains the output structure for the loanPaym program.
- revLogic.cpy
- For WSDL tutorials, a copybook that contains the business logic for the generated Web service.
- revLogicJ.cpy
- For JSON tutorials, a copybook that contains the business logic for the generated JSON Web service.
- invkRevJ.cbl
- For JSON tutorials, a program that invokes a JSON request.
- RESTLogic.cpy
- Contains procedure-division logic for the filmsREST application.
- CICSWebServicesTemplate.xml
- An
Enterprise Server template used to create an
enterprise server region on which to run CICS Web services.
- films.json
- A JavaScript Object Notation (JSON) file that describes a RESTful CICS Web service.
- reverse.json
- A JavaScript Object Notation file that describes both the input and the output structures for a CICS Web Service.
- loadlib
- As you work through the tutorials, you create this folder to contain
files generated by
Enterprise Developer.
Initially, it does not appear listed on the project.
- dfhdrdat
- A resource definition file that defines the resources required to run the Web service on
Enterprise Server.
- reverse.wsdl
- A Web Service Description Language (WSDL) file that describes a CICS Web service.
- basicsoap11provider.xml
- A basic SOAP configuration file used for the provider pipeline.
- basicsoap11requester.xml
- A basic SOAP configuration file used for the requester pipeline.
- JSONConfig.xml
- A basic JSON configuration file used for the provider pipeline.
Project configuration
The
template project is configured to use the following settings. All other settings remain set to their respective defaults:
- Output path
- This is set to write generated
files to the
loadlib project folder.
- Build path
- Includes the
cpy project subfolder, ensuring that the compiler finds all included copybooks.
- Preprocessor
- Set to build the project using the CICS preprocessor.
- Character set
- Set to use the ASCII character set.
- Dialect
- Set to use the
Micro Focus COBOL dialect.
- Mode
- Sets the mode to word-storage by setting the IBMCOMP compiler directive.
Sequence
Each
Tutorial: CICS Web Service Requester... tutorial requires that you complete its corresponding
Provider... tutorial as a prerequisite. Details are provided as part of the tutorial itself. Otherwise, you may complete these tutorials
in any order. They are not interdependent.