Invoking a Java application in a JVM server
There are many ways to call a Java™ application that is running in a JVM server. The method used will depend upon the characteristics of the JVM server.
About this task
You can invoke a web application running in a Liberty JVM server by using a HTTP request with a specific URL. Web applications cannot be driven directly from EXEC CICS LINK or EXEC CICS START. If you have Java EE applications that are implemented as Plain Old Java Objects (POJOs) and packaged in a WAR or an EAR, you can invoke their business logic components by using EXEC CICS LINK or EXEC CICS START.
To invoke a Java application that is running in an OSGi JVM server, you can either EXEC CICS LINK to a PROGRAM defined by Java, or EXEC CICS START a TRANSACTION that has a target PROGRAM defined by Java. The PROGRAM definition specifies a JVMSERVER, and the name of a CICS® generated OSGi service you want to invoke. Such linkable OSGi services are created by CICS when you install an OSGi bundle that includes a CICS-MainClass header in its manifest. The CICS-MainClass header identifies the main method of the Java class in the OSGi bundle that you want to act as an entry-point to the application.
An OSGi service is a well-defined interface that is registered in the OSGi framework. OSGi bundles and remote applications use the OSGi service to call application code that is packaged in an OSGi bundle. An OSGi bundle can export more than one OSGi service. For more information, see Updating OSGi bundles in an OSGi JVM server.
Invoking Java function in a classpath based JVM server is usually performed as part of a specific capability of a JVM server, such as Batch, Axis2 and SAML. For these capabilities the DFHSJJI vendor interface is provided.