Liberty features

CICS® supports features from WebSphere® Application Server Liberty, which enables Java™ EE applications to be deployed into a Liberty JVM server.

All features in Tables 2-10 relate to CICS integrated-mode Liberty. The features are also supported in CICS standard-mode Liberty without any of the restrictions, unless noted otherwise. Table 11 provides a set of CICS features to integrate Liberty features with the CICS qualities of service.

The features from Java EE 6 and Java EE 7 must not be used concurrently. For information about editing the server.xml, see Server configuration.

Table 1. Liberty features alphabetically
Features A-D Features E-Jd Features Jm-MpJ Features MpM-Z
appClientSupport-1.0 ejb-3.2 jms-1.1 mpMetrics-1.0
appSecurity-1.0 ejbHome-3.2 jmsMdb-3.1 mongodb-2.0
appSecurity-2.0 ejbLite-3.1 jndi-1.0 monitor-1.0
batch-1.0 ejbLite-3.2 jpa-2.0 oauth-2.0
batchManagement-1.0 ejbPersistentTimer-3.2 jpa-2.1 openidConnectClient-1.0
beanValidation-1.0 for JEE7 ejbRemote-3.2 jsf-2.0 openidConnectServer-1.0
beanValidation-1.0 for JEE6 el-3.0 jsf-2.2 osgiConsole-1.0
beanValidation-1.1 for JEE7 j2eeManagement-1.1 json-1.0 osgi.jpa-1.0
beanValidation-1.1 for JEE6 jacc-1.5 jsonp-1.0 restConnector-1.0
blueprint-1.0 jaspic-1.1 jsp-2.2 servlet-3.0
cdi-1.0 javaMail-1.5 jsp-2.3 servlet-3.1
cdi-1.2 javaee-7.0 jta-1.1 sessionDatabase-1.0
cicsts:core-1.0 jaxb-2.2 for JEE7 jta-1.2 ssl-1.0
cicsts:defaultApp-1.0 jaxb-2.2 for JEE6 jwt-1.0 wab-1.0
cicsts:distributedIdentity-1.0 jaxrs-1.1 ldapRegistry-3.0 wasJmsClient-1.1
cicsts:jcaLocalEci-1.0 jaxrs-2.0 localConnector-1.0 wasJmsClient-2.0
cicsts:jdbc-1.0 jaxrsClient-2.0 managedBeans-1.0 wasJmsSecurity-1.0
cicsts:link-1.0 jaxws-2.2 for JEE7 mdb-3.1 wasJmsServer-1.0
cicsts:security-1.0 jaxws-2.2 for JEE6 mdb-3.2 webCache-1.0
cicsts:standard-1.0 jca-1.6 microProfile-1.0 webProfile-6.0
cicsts:zosConnect-1.0 jca-1.7 microProfile-1.2 webProfile-7.0
cicsts:zosConnect-2.0 jcaInboundSecurity-1.0 for JEE7 mpConfig-1.1 websocket-1.0
concurrent-1.0 jcaInboundSecurity-1.0 for JEE6 mpFaultTolerance-1.0 websocket-1.1
distributedMap-1.0 jdbc-4.0 mpHealth-1.0 wmqJmsClient-2.0
  jdbc-4.1 mpJwt-1.0 zosTransaction-1.0
Table 2. Liberty features supported for Java EE 7 Web Profile
Liberty feature Liberty feature description Using this feature in CICS
beanValidation-1.0 Provides an annotation-based model for validating JavaBeans.  
beanValidation-1.1 Provides an annotation-based model for validating JavaBeans.  
cdi-1.2 Provides a mechanism to inject components such as EJBs or Managed Beans into other components such as JSPs or EJBs.  
ejbLite-3.2 Enables support for Enterprise JavaBeans written to the EJB Lite subset of the EJB specification.
Important: When using EJB-related features, the transaction attribute NotSupported is respected by the JTA Liberty transaction system but not the CICS unit of work.
el-3.0 Enables support for the Enterprise Language (EL) 3.0 specification.  
jaxrs-2.0 Provides support for the Java API for RESTful Web Services (JAX-RS) in Liberty.  
jaxrsClient-2.0 Enables support for the Java Client API for JAX-RS 2.0. The jaxrsClient-2.0 feature is enabled by jaxrs-2.0. Configuring JAX-RS 2.0 client.
jdbc-4.1 Enables the configuration of DataSources to access Databases from applications. Creating a default CICS DB2 DataSource with type 2 connectivity for Liberty
Note: The jdbc-4.0 and jdbc-4.1 implementations reside in the same DB2® JCC driver and are mutually exclusive.
jndi-1.0 Provides support for a single Java Naming and Directory Interface (JNDI) entry definition in the server configuration of Liberty.  
jpa-2.1 Enables support for applications that use application-managed and container-managed JPA.
Note: If you are using jpa-2.1 and you have applied CICS APAR PI67640, which supplies fixpack 16.0.0.4 for Liberty, you might see the following warning message: CWWJP9991W Exception Description: Server platform class is not valid: null This message can be ignored.
jsf-2.2 Provides support for web applications that use the JavaServer Faces (JSF) framework.  
jsonp-1.0 Supports the definition of a Java API to process JavaScript Object Notation. Including the support for the JSON parse, generate, transform, and query function.  
jsp-2.3 Enables support for servlet and JavaServer Pages (JSP) applications. Java EE and Liberty applications
managedBeans-1.0 Provides a common foundation for different Java EE components types that are managed by a container. Common services provided to Managed Beans include resource injection, lifecycle management and the use of interceptors.  
servlet-3.1 Provides support for HTTP Servlets written to the Java Servlet specification. Java EE and Liberty applications
Restriction: The use of servlet login and logout API does not propagate the user ID to the CICS task.
webProfile-7.0 Provides a convenient combination of the Liberty features that are required to support the Java EE 7 Web Profile.  
websocket-1.0 Enables a web browser or client application and a web server application to communicate by using one full duplex connection.  
websocket-1.1 Enables a web browser or client application and a web server application to communicate by using one full duplex connection.  
Table 3. Liberty features supported for Java EE 7 Full Platform
Liberty feature Liberty feature description Using this feature in CICS
appClientSupport-1.0 Enables the Liberty server to process client modules and support remote client containers.
Tip: The Application Client module runs in both the client and the server. The client executes the client specific logic of the application. The other portion of code runs in a client container on the server and communicates data from the business logic running on the server to the client. For more information, see Preparing and running an application client.
batch-1.0 Enables support for the Java Batch 1.0 API defined in JSR-352. This feature does not support Java batch applications that are packaged in an Enterprise Bundle Archive (EBA).  
concurrent-1.0 Enables managed executors to be created, which then permit applications to submit tasks that can run concurrently.
Restriction: The transaction property ManagedTask.SUSPEND is not supported by a Liberty JVM server.
Restriction: The user ID that is attached to the transaction of a new thread is always the user ID that is attached to the parent transaction.
Restriction: Use of a ManagedThreadFactory creates standard Java threads, not CICS-enabled Java threads.
Enables support for Enterprise JavaBeans written to the EJB 3.2 specification. Enterprise JavaBeans (EJB)
Important: When using EJB-related features, the transaction attribute NotSupported is respected by the JTA Liberty transaction system but not the CICS unit of work.
ejbHome-3.2 Provides support for the EJB 2.x APIs.  
ejbPersistentTimer-3.2 Provides support for persistent EJB timers.
Restriction: DB2 JDBC type 2 connectivity is not supported for persisting EJB timers.
ejbRemote-3.2 Provides support for remote EJB interfaces.  
jacc-1.5 Enables support for Java Authorization Contract for Containers (JACC) version 1.5. Developing a Java Authorization Contract for Containers (JACC) Authorization Provider
jaspic-1.1 Java Authentication SPI for Containers (JASPIC) allows a Java EE Application Server to use custom authentication. JASPIC providers are defined in JSR-196. If a JASPIC provider and a TAI are configured in the same server, then the TAI has no effect. Therefore, JASPIC is a standard Java EE technology and a more portable solution than a TAI for Java EE applications.  
j2eeManagement-1.1 Provides a set of interfaces to manage and monitor applications within the JEE application server.  
javaMail-1.5 Enables applications to use the JavaMail 1.5 API.  
javaee-7.0 Combines the Liberty features that support the Java EE 7.0 Full Platform.  
jaxb-2.2 Provides support to map between Java classes and XML representations.  
jaxws-2.2 Provides support for SOAP web services.  
jca-1.7 Enables the configuration of resource adapters to access Enterprise Information Systems (EIS) from applications. Java EE Connector Architecture (JCA)
Restriction: The use of JCICS API and DB2 JDBC type 2 connectivity capabilities is not supported in threads that are created by the JCA API javax.resource.spi.BootstrapContext.createTimer(). For the same effect, use the concurrent APIs (javax.enterprise.concurrent.ManagedScheduledExecutorService).
jcaInboundSecurity-1.0 Allows JCA inbound resource adapters to flow security contexts by extending the javax.resource.spi.work.SecurityContext abstract class.  
mdb-3.2 Enables the use of Message-Driven Enterprise JavaBeans written to the EJB 3.2 specification. MDBs allow asynchronous processing of messages within a Java EE component.  
wasJmsClient-2.0 Provides applications with access to message queues hosted in Liberty through the JMS API. Java Message Service (JMS)
wasJmsSecurity-1.0 Enables an embedded messaging server to authenticate and authorize access from clients. Java Message Service (JMS)
wasJmsServer-1.0 Enables an embedded messaging server in the server. Applications can operate on messages by using the wasJmsClient feature. Java Message Service (JMS)
Table 4. Liberty features supported for Extended Programming Models
Liberty feature Liberty feature description Using this feature in CICS
json-1.0 Provides access to the JavaScript Object Notation (JSON4J) library that provides a set of JSON handling classes for Java environments.  
jta-1.1 Supports the Java Transaction API (JTA).
Note: Java Transaction API is a protected Liberty feature.
Java Transaction API (JTA)
jta-1.2 Supports the Java Transaction API (JTA).
Note: Java Transaction API is a protected Liberty feature.
Java Transaction API (JTA)
mongodb-2.0 Provides support for the MongoDB Java Driver and allows remote database instances to be configured in the server configuration. Applications interact with these databases through the MongoDB APIs.  
Table 5. Liberty features supported for Enterprise OSGi
Liberty feature Liberty feature description Using this feature in CICS
blueprint-1.0 Enables support for deploying OSGi applications that use the OSGi blueprint container specification.
Restriction: The transaction attribute NotSupported is not supported by a Liberty JVM server.
osgi.jpa-1.0 This feature is superseded by the blueprint-1.0 and jpa-2.0 features that both include OSGi capability. When those features are both added to the server, this feature is added automatically.  
wab-1.0 Provides support for web application bundles (WAB) that are inside enterprise bundles (EBA). Creating an OSGi Application Project
Note: The wab-1.0 feature is required by CICS and installed as part of cicsts:core-1.0 and cicsts:standard-1.0.
Table 6. Liberty features supported for MicroProfile
Liberty feature Liberty feature description Using this feature in CICS
microProfile-1.0 Combines the Liberty features that support the Micro Profile for enterprise Java.  
microProfile-1.2 Combines the Liberty features that support Micro Profile 1.2 for enterprise Java. Java 8 is required for this feature.
mpConfig-1.1 Provides a unified mechanism to access configuration, providing a single view of multiple sources. Java 8 is required for this feature.
mpFaultTolerance-1.0 Provides support for the MicroProfile Fault Tolerance API for enterprise Java. Java 8 is required for this feature.
Restriction: MicroProfile Fault Tolerance 1.0 is not designed to work with transactions (UOW, JTA, etc.). Updates to CICS resources should not be made in methods annotated @Bulkhead, @CircuitBreaker, @Fallback, @Retry or @Timeout.
mpHealth-1.0 Provides support for the MicroProfile Health API for enterprise Java. Java 8 is required for this feature.
mpJwt-1.0 Enables web applications or microservices to use JSON Web Token (JWT) to authenticate users instead of, or in addition to, the configured user registry. Java 8 is required for this feature.

The default value for attribute ignoreApplicationAuthMethod is false. This indicates all requests received by Liberty need to have a JWT token in the HTTP header.

The default value for attribute mapToUserRegistry is false. For integration with CICS security set this value to true.

mpMetrics-1.0 Provides support for the MicroProfile Metrics API for enterprise Java. Java 8 is required for this feature.
Table 7. Liberty features supported for Operations
Liberty feature Liberty feature description Using this feature in CICS
batchManagement-1.0 Provides managed batch support for the Java batch container. This includes the Batch REST management interface, job logging support, and a command line utility for external scheduler integration.  
distributedMap-1.0 Provides a local cache service, which can be accessed through the DistributedMap API.  
localConnector-1.0 Allows the use of a local JMX connector that is built into the JVM to access JMX resources in the server. Java Management Extensions API (JMX)
monitor-1.0 Enables performance monitoring of Liberty runtime components by using a JMX client. Java Management Extensions API (JMX)
osgiConsole-1.0 Enables an OSGi console to aid with debug of the runtime. Troubleshooting Java applications
restConnector-1.0 Enables remote access by JMX clients through a REST-based connector and requires SSL and user security configuration. Java Management Extensions API (JMX)
sessionDatabase-1.0 Enables persistence of HTTP sessions to a datasource that uses JDBC.  
webCache-1.0 Enables local caching for web responses. It includes the distributedMap feature and performs automatic caching of web application responses to improve response times and throughput.  
wmqJmsClient-2.0 Provides applications with access to message queues hosted on IBM MQ through the JMS 2.0 API.
Restriction: Only supported when the JMS application connects to IBM MQ using the client mode transport. Requires V9.0.1 of the IBM MQ Resource Adapter for Liberty.
Important: This restriction also applies to CICS standard-mode Liberty.
Table 8. Liberty features supported for Security
Liberty feature Liberty feature description Using this feature in CICS
appSecurity-1.0 Provides support for securing the server runtime environment and applications. appSecurity-2.0 supercedes appSecurity-1.0. Configuring security for a Liberty JVM server
appSecurity-2.0 Provides support for securing the server runtime environment and applications. appSecurity-2.0 supersedes appSecurity-1.0. Configuring security for a Liberty JVM server
jwt-1.0 Allows runtime to create JWT tokens.  
ldapRegistry-3.0 Enables support for using an LDAP server as a user registry. Any server that supports LDAP Version 3.0 can be used. Multiple LDAP registries can be configured, and then federated to achieve a single logical registry view. Configuring security for a Liberty JVM server by using distributed identity mapping
oauth-2.0 Enables web applications to integrate OAuth 2.0 for authenticating and authorizing users. Authorization using OAuth 2.0

Configuring persistent OAuth 2.0 services

openidConnectClient-1.0 Enables web applications to integrate OpenID Connect Client 1.0 for authenticating users instead of, or in addition to, the configured user registry.  
openidConnectServer-1.0 Enables web applications to integrate OpenID Connect Server 1.0 for authenticating users instead of, or in addition to, the configured user registry.  
ssl-1.0 Provides support for Secure Sockets Layer (SSL) connections and SAF keyrings. Configuring SSL (TLS) for a Liberty JVM server using RACF

Setting up SSL (TLS) client certificate authentication in a Liberty JVM server

Configuring SSL (TLS) for a Liberty JVM server using a Java keystore

Table 9. Liberty features supported for z/OS
Liberty feature Liberty feature description Using this feature in CICS
zosTransaction-1.0 Enables Liberty to synchronize and manage transactional activity between the z/OS® Resource Recovery Services (RRS), the transaction manager of the application server, and the resource manager.
Restriction: zosTransaction-1.0 is only supported for JMS applications that connect to IBM MQ using BINDINGS mode transport in CICS standard-mode Liberty.
Table 10. Liberty features supported for Java EE 6 Web Profile
Liberty feature Liberty feature description Using this feature in CICS
beanValidation-1.0 Provides an annotation-based model for validating JavaBeans.  
beanValidation-1.1 Provides an annotation-based model for validating JavaBeans.  
cdi-1.0 Provides a mechanism to inject components such as EJBs or Managed Beans into other components such as JSPs or EJBs.  
ejbLite-3.1 Enables support for Enterprise JavaBeans written to the EJB Lite subset of the EJB specification.
Restriction: The transaction attribute NotSupported is not supported by a Liberty JVM server.
jndi-1.0 Provides support for a single Java Naming and Directory Interface (JNDI) entry definition in the server configuration of Liberty.  
jpa-2.0 Enables support for applications that use application-managed and container-managed JPA.  
jsf-2.0 Provides support for web applications that use the JavaServer Faces (JSF) framework.  
jsp-2.2 Enables support for servlet and JavaServer Pages (JSP) applications. Java EE and Liberty applications
servlet-3.0 Provides support for HTTP Servlets written to the Java Servlet specification. Java EE and Liberty applications
Restriction: The use of servlet login and logout API does not propagate the user ID to the CICS task.
webProfile-6.0 Provides a convenient combination of the Liberty features that are required to support the Java EE 6 Web Profile.  
Table 11. Liberty features supported for Java EE 6 Technologies
Liberty feature Liberty feature description Using this feature in CICS
jaxb-2.2 Provides support to map between Java classes and XML representations.  
jaxrs-1.1 Provides support for the Java API for RESTful Web Services (JAX-RS) in Liberty.  
jaxws-2.2 Provides support for SOAP web services.  
jca-1.6 Enables the configuration of resource adapters to access Enterprise Information Systems (EIS) from applications. Java EE Connector Architecture (JCA)
Restriction: The use of JCICS API and DB2 JDBC type 2 connectivity capabilities are not supported within threads that are created by the JCA API javax.resource.spi.BootstrapContext.createTimer(). Instead, for the same effect, use the concurrent APIs (javax.enterprise.concurrent.ManagedScheduledExecutorService).
jcaInboundSecurity-1.0 Allows JCA inbound resource adapters to flow security contexts by extending the javax.resource.spi.work.SecurityContext abstract class.  
jdbc-4.0 Enables the configuration of DataSources to access Databases from applications. Creating a default CICS DB2 DataSource with type 2 connectivity for Liberty
Note: The jdbc-4.0 and jdbc-4.1 implementations reside in the same DB2 JCC driver and are mutually exclusive.
jms-1.1 Enables the configuration of resource adapters to access messaging systems using the Java Message Service API. Java Message Service (JMS)
jmsMdb-3.1 Enables the use of JMS Message-Driven Enterprise JavaBeans. MDBs allow asynchronous processing of messages within a Java EE component.  
mdb-3.1 Enables the use of Message-Driven Enterprise JavaBeans. MDBs allow asynchronous processing of messages within a Java EE component.  
wasJmsClient-1.1 Provides applications with access to message queues hosted in Liberty through the JMS API. Java Message Service (JMS)
wasJmsSecurity-1.0 Enables an embedded messaging server to authenticate and authorize access from clients. Java Message Service (JMS)
wasJmsServer-1.0 Enables an embedded messaging server in the server. Applications can operate on messages by using the wasJmsClient feature. Java Message Service (JMS)

For more information about the function in these features, see the documentation for Liberty at Liberty overview. For details of Liberty restrictions, see Runtime environment known restrictions.

The following table provides a set of CICS features to integrate Liberty features with the CICS qualities of service. The Liberty JVM server mode can be set by specifying CICS_WLP_MODE in the JVM profile.

Table 12. CICS Liberty features
CICS Feature CICS Liberty mode Description Using this CICS feature
cicsts:core-1.0 Integrated-mode Provides core CICS features, Java Transaction API (JTA) 1.0 and wab-1.0. This feature is required when using Integrated-mode CICS Liberty.
Restriction: The JVM server should be disabled before adding or removing this feature.
cicsts:defaultApp-1.0 Integrated-mode and standard-mode Verifies that the Liberty server is running and provides information on the server configuration. Browse the JVM Profile, the JVM server logs, the Liberty server.xml, and the messages log by using the FileViewer servlet. Configuring the CICS Default Web Application
cicsts:distributedIdentity-1.0 Integrated-mode and standard-mode Provides support for distributed identity mapping. Configuring security for a Liberty JVM server by using distributed identity mapping
cicsts:jcaLocalEci-1.0 Integrated-mode Provides a locally optimized JCA ECI resource adapter for calling CICS programs. Using the JCA local ECI resource adapter
Restriction: The JVM server should be disabled before adding or removing this feature.
cicsts:jdbc-1.0 Integrated-mode and standard-mode Provides support for applications to access a local CICS DB2 database that uses JDBC. This feature has been superseded by jdbc-4.0 and jdbc-4.1, except when used directly with DriverManager. Acquiring a connection to a database
Restriction: The JVM server should be disabled before adding or removing this feature.
Integrated-mode Provides support to start a Java EE application that is running in a Liberty JVM server either as the initial program of a CICS transaction or by using the LINK, START, or START CHANNEL commands from any CICS program. Linking to a Java EE application from a CICS program
cicsts:security-1.0 Integrated-mode and standard-mode Provides integration of Liberty security with CICS security, including propagation of thread identity. Configuring security for a Liberty JVM server
Restriction: The JVM server should be disabled before adding or removing this feature.
cicsts:standard-1.0 Standard-mode Enables users to port and deploy Liberty applications from other platforms to CICS without changing your application. Standard mode is ideal for hosting applications that are written for and rely on the Java EE Full Platform, but do not require full integration with CICS. This feature includes wab-1.0 which is required by CICS. CICS standard-mode Liberty: Java EE 7 Full Platform support without full CICS integration
cicsts:zosConnect-1.0 Integrated-mode Integrates z/OS Connect with CICS Liberty JVM server. Configuring z/OS Connect EE
Restriction: The JVM server should be disabled before adding or removing this feature.
cicsts:zosConnect-2.0 Integrated-mode Integrates z/OS Connect with CICS Liberty JVM server. Configuring z/OS Connect EE
Restriction: The JVM server should be disabled before adding or removing this feature.