Liberty features

CICS® supports features from Liberty enabling Java™ EE Web Profile applications to be deployed into a Liberty JVM server. All features in Table 1 relate to CICS integrated-mode Liberty but they are also supported in CICS standard-mode Liberty without any of the restrictions. In all modes, Java EE6 and Java EE7 are generally incompatible and should not used concurrently.

Table 1. Liberty features supported in CICS integrated-mode Liberty
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.
Provides support for securing the server runtime environment and applications. appSecurity-2.0 supercedes appSecurity-1.0. Configuring security for a Liberty JVM server
batch-1.0 Enables support for the Java Batch 1.0 API specified by JSR-352. This feature does not support Java batch applications packaged in an Enterprise Bundle Archive (EBA).
Restriction: DB2 type 2 is not supported for batch persistence.
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.  
Provides an annotation based model for validating JavaBeans.  
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.
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.
Provides a mechanism to inject components such as EJBs or Managed Beans into other components such as JSPs or EJBs.  
distributedMap-1.0 Provides a local cache service which can be accessed through the DistributedMap API.  
ejb-3.2 Enables support for Enterprise JavaBeans written to the EJB 3.2 specification.  
ejbHome-3.2 Provides support for the EJB 2.x APIs.  
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.
ejbRemote-3.2 Provides support for remote EJB interfaces.  
el-3.0 Enables support for the Enterprise Language (EL) 3.0 specification.  
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 will have no effect. JASPIC is a standard Java EE technology and therefore 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 utilize the JavaMail 1.5 API.  
jaxb-2.2 Provides support to map between Java classes and XML representations.  
Provides support for the Java API for RESTful Web Services (JAX-RS) on 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. Developing applications using the JCA programming interface
Restriction: the JCICS API, JDBC type 2 (DB2CONN), and MQ (MQCONN) capabilities are not supported within threads created by the JCA API javax.resource.spi.BootstrapContext.createTimer(). Instead, for the same effect, use the concurrent APIs (javax.enterprise.concurrent.ManagedScheduledExecutorService).This restriction applies to both jca-1.6 and jca-1.7.
jcaInboundSecurity-1.0 Allows JCA inbound resource adapters to flow security contexts by extending the javax.resource.spi.work.SecurityContext abstract class.  
Enables the configuration of DataSources to access Databases from applications. Auto-configuring a DB2 DataSource with type 2 connectivity through CICS using the jdbc-4.0 or jdbc-4.1 feature
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. Developing applications with 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.  
jndi-1.0 Provides support for a single Java Naming and Directory Interface (JNDI) entry definition in the server configuration of Liberty.  
Enables support for applications that use application-managed and container-managed JPA.
Note: Using jpa-2.1, you might see the following exception in messages.log: Exception Description: Server platform class is not valid: null. The exception can be ignored and it is resolved by applying CICS APAR PI67640, when available. This APAR supplies fixpack 16.0.0.4 for Liberty.
Provides support for web applications that use the JavaServer Faces (JSF) framework.  
json-1.0 Provides access to the JavaScript Object Notation (JSON4J) library that provides a set of JSON handling classes for Java environments.  
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.  
Enables support for servlet and JavaServer Pages (JSP) applications. Developing servlet and JSP applications
jta-1.1
jta-1.2
Supports the Java Transaction API (JTA).
Note: Java Transaction API is a protected Liberty feature.
Java Transaction API (JTA)
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 may 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
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)
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.  
mdb-3.1 Enables the use of Message-Driven Enterprise JavaBeans. MDBs allow asynchronous processing of messages within a Java EE component.  
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.  
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 via the MongoDB APIs.  
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.  
microProfile-1.0 Combines the Liberty features that support the Micro Profile for enterprise Java.  
monitor-1.0 Enables performance monitoring of the Liberty runtime components using a JMX client. Java Management Extensions API (JMX)
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.  
osgiConsole-1.0 Enables an OSGi console to aid with debug of the runtime.  
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.  
restConnector-1.0 Enables remote access by JMX clients via a REST-based connector and requires SSL and user security configuration. Java Management Extensions API (JMX)
Provides support for HTTP Servlets written to the Java Servlet specification. Developing servlet and JSP applications
sessionDatabase-1.0 Enables persistence of HTTP sessions to a datasource using JDBC.  
ssl-1.0 Provides support for Secure Sockets Layer (SSL) connections and SAF keyrings.
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.
wasJmsClient-1.1 Provides applications with access to message queues hosted in Liberty through the JMS 1.1 API.  
wasJmsSecurity-1.0 Enables the WebSphere® Embedded Messaging Server to authenticate and authorize access from clients.  
wasJmsServer-1.0 Enables an embedded messaging server in the server. Applications can operate on messages in this engine by using the wasJmsClient feature.  
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.  
Provides a convenient combination of the Liberty features that are required to support the Java EE 6 and Java EE 7 Web Profiles.  
Enables a web browser or client application and a web server application to communicate by using one full duplex connection.  
Important:
Java annotations, which can be used to provide instructions, are supported.

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

CICS also supplies a set of customized features unique to CICS JVM server environment. These support the integration of Liberty features with the CICS qualities of service.

Table 2. CICS Liberty features
CICS Feature CICS Liberty mode Description Using this CICS feature
cicsts:core-1.0 Integrated-mode only Provides core CICS features, Java Transaction API (JTA) 1.0 and wab-1.0.  
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 only Provides a locally optimized JCA ECI resource adapter for calling CICS programs. Using the JCA local ECI resource adapter
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. Auto-configuring a DB2 DataSource with type 2 connectivity through CICS using the jdbc-4.0 or jdbc-4.1 feature
cicsts:link-1.0 Integrated-mode only Provides support for running a Liberty application from an EXEC CICS LINK command in any CICS application program. Invoking 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
cicsts:standard-1.0 Standard-mode only 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
cicsts:zosConnect-2.0
Integrated-mode only Integrates z/OS Connect with CICS Liberty JVM server. Configuring z/OS Connect in CICS
Table 3. Liberty features supported for z/OS
Liberty feature Liberty feature description Using this feature in CICS
enables the server to use the SAF Registry in the z/OS platform for authenticating users and authorizing access to applications
Restriction: zosSecurity-1.0 is enabled by cicsts:security-1.0