The CICS® management client interface (CMCI)
supports deploying CICS bundles into a region through the CICS bundle deployment API. This API can be used by HTTP
clients, including a Gradle or Maven plug-in. To use the CICS bundle deployment API, system programmers must
perform additional configuration for the CMCI JVM server.
Before you begin
It's recommended that you understand how the API works before
configuring for it. See How it works: CICS bundle deployment API.
- Software requirements
- The CICS bundle deployment API is supported by
the CMCI JVM server.
- For a CICSPlex® SM environment, set up the
CMCI JVM server in the WUI region of the
CICSplex that contains the deployment target region. The WUI region must be at CICS TS 5.6 or later. See Setting up CMCI with CICSPlex SM.
- For a single CICS region
environment, set up the CMCI JVM server
in the deployment target region. The region must be at CICS TS 5.6 with APAR PH35122, or a later
release. See Setting up CMCI in a single CICS region.
- Set the system initialization parameter
SEC=YES
.
Procedure
- Enable the CICS bundle deployment API by
specifying the bundles directory
(-Dcom.ibm.cics.jvmserver.cmci.bundles.dir) in your JVM profile of the CMCI JVM server, that is,
EYUCMCIJ.jvmprofile for a CICSplex or EYUSMSSJ.jvmprofile for a single CICS region.
Add the
following
line:
-Dcom.ibm.cics.jvmserver.cmci.bundles.dir=<bundles_directory>
Tips: It's recommended that you create a directory on zFS dedicated
for the use of the API in managing bundles. If you are configuring the API for
multiple single CICS regions (SMSS), you are also advised to create a
separate dedicated bundles directory for each of them. Bundles pushed to the CICS bundle deployment API are stored in the bundles directory and accessed by the CICS target region.
- Optional: In the JVM profile, you can also add specifications about the data
that's allowed to pass the API.
- -Dcom.ibm.cics.jvmserver.cmci.deploy.timeout={120000|timeout_limit}
- Specifies the timeout limit for deploying a CICS bundle, in milliseconds. This includes the time for all bundle lifecycle actions, including disable, discard, install and enable.
The default value is 120000 (120 seconds).
- -Dcom.ibm.cics.jvmserver.cmci.max.file.size={52428800|max_file_size}
- Specifies the maximum size allowed for the uploaded CICS bundle, in bytes. The default size is 52428800 (50 MB).
If the size of any uploaded bundle is greater
than this size, you'll receive a 400 Bad Request message SRVE8021E: The file being uploaded
is too large.
- -Dcom.ibm.cics.jvmserver.cmci.max.request.size={104857600|max_request_size}
- Specifies the maximum size allowed for a multipart or form-data
request, in bytes. The default size is 104857600 (100 MB).
The web container will throw an
exception if the overall size of all uploaded files exceeds this threshold.
- Configure security levels in the CLIST.
If you're using RACF®, you can copy and update the sample
CLIST in SEYUSAMP. Use the EYU$BUND sample for CICSPlex SM or EYU$BNDS for SMSS.
Specify the following required options:
Table 1. Required CLIST options for
CICS bundle deployment API setup
Required options |
Description |
Applicable to CICSPlex SM
(EYU$BUND) |
Applicable to single CICS regions
(EYU$BNDS) |
deploy_userid |
The user ID with permission to deploy the bundle. You are recommended to create a functional
ID (for example, DPLYUSR) for this purpose. Alternatively, make sure your region user ID has
sufficient permissions and specify it in place of the functional ID. |
✓ |
✓ |
mngdbndl_access_list |
The user groups that have access to the CICS bundle deployment API, for example,
DEVELOPER. |
✓ |
✓ |
profile_prefix |
The SAF profile prefix of the regions that contain the CMCI JVM server, as defined in your JVM
profiles. |
✓ |
✓ |
region_userid |
The user ID of the single CICS region
that is configured with the CMCI JVM server. |
NA |
✓ |
wui_region_userid |
The user ID of the CICSPlex SM WUI region that is
configured with the CMCI JVM server, for
example, CICSRGN. |
✓ |
NA |
cmas |
The CMAS that deploy_userid, usually the deployment functional ID, is
authorized to
query. |
✓ |
NA |
cicsplex |
The CICSplex that deploy_userid, usually the deployment functional ID, is
authorized to query and deploy bundles to.
|
✓ |
NA |
region |
The target CICS region that
deploy_userid, usually the deployment functional ID, is authorized to query and
deploy bundles to in the specified CICSplex.
|
✓ |
NA |
The following options are optional. If not specified, the default value is used.
Table 2. Optional CLIST options for
CICS bundle deployment API setup
Optional options |
Description |
Applicable to CICSPlex SM
(EYU$BUND) |
Applicable to single CICS regions
(EYU$BNDS) |
command_class |
The name of the RACF command grouping class. The
default value is VCICSCMD . |
NA |
✓ |
resource_class |
The name of the RACF resource grouping class. The
default value is WCICSRES . |
NA |
✓ |
transaction_class |
The name of the RACF transaction grouping class. The
default value is GCICSTRN . |
✓ |
✓ |
notify |
The TSO user ID to be notified in case of access violations. The default value is
IBMUSER . |
✓ |
✓ |
owner |
The TSO user ID of the profile owner. The default value is IBMUSER . |
✓ |
✓ |
Then run the CLIST.
- Give user IDs access to the bundles directory on zFS using the UNIX command chmod or by applying access
control lists (ACLs). For more information, see Implementing security for z/OS UNIX files and Giving CICS regions access to z/OS UNIX directories and files.
- The user ID specified on the deploy_userid CLIST option (usually the deployment
functional ID) needs READ, WRITE, and EXECUTE access to the bundles directory.
- The target CICS region's region user ID needs READ and
EXECUTE access to the directory.
What to do next
After you have configured CICS for the CICS bundle deployment API, Java™ developers can deploy CICS bundles
using clients including the CICS-provided Gradle or Maven
plug-in. For instructions, see their GitHub repositories: cics-bundle-maven and
cics-bundle-gradle.