Software and system requirements

The following information contains a summary of the software and system requirements for using IBM® watsonx Code Assistant™ for Z.

Understand

Software Version Minimum Technical Requirements
IBM Application Discovery and Delivery Intelligence for IBM Z® (IBM ADDI) IBM Application Discovery and Delivery Intelligence for IBM Z version 6.1.2 iFix 2 or later
  • Windows Virtual Machine
  • Microsoft SQL Server 2014 or newer or Db2® Standard Edition 11.5.5 or newer
  • Db2 driver for transform
  • OpenSSL
IBM Application Discovery and Delivery Intelligence for IBM Z Connect for Mainframe (IBM ADDI Connect for Mainframe)   The maximum storage space is 5 cylinders.

For more information, see Understand Prerequisites.

Refactor

Software Minimum Technical Requirements
IBM watsonx Code Assistant for Z Refactoring Assistant
  • Red Hat® Enterprise Linux version 8. See the corresponding documentation here.
  • 2.4.10+ Ubuntu 22.04 LTS

For more information, see Refactor Prerequisites.

Transform

The developer client tool for IBM watsonx Code Assistant for Z is the extension for Microsoft Visual Studio Code (VS Code) that works in collaboration with IBM Z Open Editor VS Code extension. Table 1 provides a list of minimum technical requirements or prerequisites that must be installed before you start working with IBM watsonx Code Assistant for Z Visual Studio Code extensions.

It is recommended that you run your generated Java™ code on a minimum of z/OS® V2R5 to take advantage of Java optimizations. Table 2 lists the libraries that the generated code may use, with an accompanying description, the packages that are provided by the library, and information about where to find the library. The libraries are published to Maven Central and the build tool configuration to resolve them is provided for both Maven and Gradle.
Note: The package information is useful for determining whether the generated code uses the associated library. If the generated code contains import statements or other references to classes in a package listed in the table, you need to add the associated library to your project’s class path.
Table 1. IBM watsonx Code Assistant for Z Visual Studio Code extensions
Software Minimum Technical Requirements Notes
IBM watsonx Code Assistant for Z VS Code extension

Db2 Cloud instance

Requires Java SDK version 17 or later - 64 bit, IBM Semeru Runtime is recommended.

Microsoft Visual Studio Code version 1.91 or newer See the Visual Studio Code Requirements  
IBM Z Open Editor VS Code extension Requires Java SDK version 17 or later - 64 bit, IBM Semeru Runtime version 17 is recommended. Requires Zowe™ Explorer 3.1.0 or newer.
Microsoft VS Code Extension Pack for Java Visual Studio Code for Java Installer is a convenient installer that meets both the requirements of VS Code and this extension pack.
Table 2. IBM watsonx Code Assistant for Z Java libraries
Software Description Packages Maven Central location
Java Batch Launcher and Toolkit for z/OS (JZOS)

The JZOS Toolkit is a set of Java classes that give Java applications direct access to traditional z/OS data and key z/OS system services.

This is a nonfunctional version of the JZOS JAR file to be used for compiling applications only. Java 11 for z/OS distributions does have the full version included.

com.ibm.jzos
<groupId>com.ibm.jzos</groupId>
<artifactId>ibm.jzos</artifactId>
<version>3.1.3.1</version>
<scope>provided</scope>
IBM CICS® TS EXEC Utility Library for Java

Java utility library to aid in the mapping of COBOL applications by using EXEC CICS statements to Java. This library provides a collection of utility classes in the com.ibm.cics.exec.utils package that provide an API surface that’s close to the interface and semantics of the EXEC CICS API to facilitate translation to Java.

com.ibm.cics.exec.utils
<groupId>com.ibm.cics</groupId>
<artifactId>cics-exec-utils</artifactId>
<version>1.0.0</version>
IBM CICS JCICS, the Java API for CICS Transaction Server V2.0

You can write Java applications to access CICS services by using the Java APIs provided by CICS. The CICS API supports most of the CICS functions that are provided by the EXEC CICS API.

com.ibm.cics.server
<groupId>com.ibm.cics</groupId>
<artifactId>com.ibm.cics.server</artifactId>
<version>2.000.0-6.1</version>
<scope>provided</scope>

IBM Decimal Arithmetic Library for Java

A high-level object-oriented API for performing arithmetic with decimal values and variables, with flexible precision and scale specifications, similar to COBOL numeric PICs, highly performant on Z. The API also supports formatting with COBOL edited PICs.

com.ibm.arithmetic.decimal
<groupId>com.ibm.jzos</groupId>
<artifactId>decimal-arithmetic</artifactId>
<version>1.0.0</version>

IBM Data Server Driver for JDBC and SQLJ

IBM Data Server Driver for JDBC and SQLJ is a pure-Java driver (Type 4) that supports the JDBC 4 specification. You can use this JDBC driver for Java applications that access the Db2® LUW database server.

 
<groupId>com.ibm.db2</groupId>
<artifactId>jcc</artifactId>
<version>11.5.8.0</version>
Note: You need the JDBC library for the db2z license /usr/lpp/db2/<db2-subsystem-id>/db2jcc_license_cisuz.jar if you are using db2jcc-db2jcc4.jar. For Type-4 as well, you need a jdbc connection setup with ticket or user/pass and cacert equivalent, for example:jdbc:db2://<host>:<port>/<dbid>:sslConnection=true;sslCertLocation=common_cacert;

IBM Information Management System (IMS) Java driver

IBM Information Management System (IMS) Java driver provides the APIs that allow IMS applications to interface with IMS databases and the IMS message queues.

 
<groupId>com.ibm.ims</groupId>
<artifactId>udb</artifactId>
<version>15.161</version>
IBM MQ IBM® MQ classes for JMS is the JMS provider that is supplied with IBM MQ. IBM MQ classes for JMS implements the interfaces that are defined in the javax.jms package, and also provides two sets of extensions to the JMS API. Both Java Platform, Standard Edition (Java SE) and Java Platform, Enterprise Edition (Java EE) applications can use IBM MQ classes for JMS.

com.ibm.mq.jakarta.client.jar

com.ibm.mq.allclient.jar

wmq.jakarta.jmsra.rar

wmq.jmsra.rar

See the topic Java application development using a Maven repository - IBM MQ client files in the IBM MQ documentation for more information.
Project Lombok

Project Lombok is a Java library that helps reduce boilerplate code by automatically generating commonly used methods such as getters, setters, constructors, equals(), hashCode(), and toString() through simple annotations. It improves code readability and maintainability, without impacting performance or functionality.

Project Lombok can be enabled or disabled using the EnableLombokAnnotations in the wca4z-transform.yaml file.

To enable Project Lombok, set the lombok_library parameter to true. Set this parameter to false to disable the library.

lombok

lombok.experimental

<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.36</version>
<scope>provided</scope>