New Liberty features
Here's a quick look at the new WebSphere Liberty Profile features you can find in the open beta:
|Name||Description||Liberty profile features|
|Enterprise JavaBeans Lite||Support EJBs written to the EJB Lite subset of the EJB 3.1 specification||ejbLite-3.1|
|Java Management Extensions (JMX)||Provides the ability to manage and monitor applications and system objects, either using the JMX client API, or remotely using the JConsole utility supplied with the SDK, as described here.||localConnector-1.01, monitor-1.01, restConnector-1.01|
|Managed Beans and Contexts and Dependency Injection (CDI)||Makes it easier to integrate different types of Java™ Enterprise Edition (EE) components||
|MongoDB||Supports the use of a MongoDB Java Driver configured providing applications with the ability to interact with the popular no-SQL database on a remote system||mongodb-1.01|
|OSGi Console||Helps with run time debugging of applications that use the OSGi framework.||osgiconsole-1.01|
|Database session persistence||Provides high availability and recovery when using HTTP session data in web applications. This support is only for data sources that use a JDBC type 4 driver, due to a restriction preventing usage of a local database and the CICS DB2 attachment.||sessionDatabase-1.01|
1 Features also supported at CICS TS V5.2
Enhancements to existing functions
Existing Liberty profile features are enhanced, specifically by adding EAR support for deploying EJB project within CICS bundles, adding SQLJ support for use with DB2® type 2 driver data sources, and JTA transaction support for the Blueprint feature. These newly supported and enhanced features make Java-based web applications hosted in the Liberty profile JVM server even more capable and portable.
Within the CICS JVM server environments, it has long been possible to sandwich Java components with existing non-Java applications such as COBOL or PL/I. To call out from Java to COBOL the Program.link() method is provided in the JCICS API which drives an EXEC CICS LINK into the specified CICS program passing a COMMAREA or channel interface. This provides a simple model for access existing non-Java programs (such as COBOL or PL/I) from Java applications deployed with a CICS region. However, the JCICS API is specific to CICS and so although supported in web applications in a Liberty JVM server, makes the usage of such web application non-portable to other JEE application server environments.
As a first step in addressing the lack of portability of the JCICS API, support has been introduced in the Liberty JVM server for the JEE Connector Architecture (JCA). This supports the deployment of JCA resource adapters into the Liberty JVM server and allows the CICS ECI resource adapter, supplied by the CICS Transaction Gateway, to be deployed into a Liberty JVM server. JCA based applications that use the ECI can then be ported into the Liberty JVM server without modification and can use the facilities of a remote CICS Transaction Gateway to connect into CICS.
Connecting to Java applications through EXEC CICS LINK
Additionally the CICS TS V5.3 open beta provides a preview of the ability to use EXEC CICS LINK calls from non-Java components into Java applications running in a Liberty JVM server. This is intended to provide COBOL and other non-Java CICS applications full access to the API features of a Liberty JVM server, promoting the sharing of Java code components between Web and traditional CICS applications.
Java Applications are exposed to the LINK command by the CICS-MainClass header in an OSGi bundle manifest, in the same manner as used in OSGi JVM servers. The CICS PROGRAM resource definition names the target using the attributes JVMSERVER name and JVM class (or OSGi service name). When a Java program is invoked by a LINK command, the service in the relevant JVM server is located in the OSGi famework, and the main class is invoked and passed the COMMAREA or channel interface. OSGi bundles with a CICS-MainClass can be deployed into a Liberty JVM server using an OSGI Application project and Enterprise Bundle Archive (EBA) as part of a CICS Bundle project, allowing the Java code to be shared between Web components in the EBA and COBOL, PL/I or even other Java applications deployed in the CICS region.
So that's my whistlestop tour - I hope it has been interesting and useful. If you'd like to keep up-to-date on the new features and functions for developing applications with the CICS TS V5.3 open beta you can use this cicsdev query and a great place to look for more detail is the open beta knowledge center.
For more in the CICS TS V5.3 open beta series: