CICS TS for Z/OS: Java Applications in CICS Chapter 1
Total Page:16
File Type:pdf, Size:1020Kb
CICS Transaction Server for z/OS 5.4 Java Applications in CICS IBM Note Before using this information and the product it supports, read the information in “Notices” on page 277. This edition applies to the IBM CICS® Transaction Server for z/OS® Version 5 Release 4 (product number 5655-Y04) and to all subsequent releases and modifications until otherwise indicated in new editions. © Copyright International Business Machines Corporation 1974, 2020. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents About this PDF.....................................................................................................vii Chapter 1. CICS and Java...................................................................................... 1 Java support in CICS....................................................................................................................................1 The OSGi Service Platform..................................................................................................................... 3 JVM server runtime environment...........................................................................................................4 JVM profiles............................................................................................................................................ 6 Structure of a JVM.................................................................................................................................. 7 CICS task and thread management....................................................................................................... 9 Shared class cache...............................................................................................................................11 Java applications that comply with OSGi..................................................................................................12 Java applications in a Liberty JVM server................................................................................................. 14 Java web services...................................................................................................................................... 16 Spring Boot support in CICS......................................................................................................................19 Chapter 2. Developing Java applications .............................................................21 What you need to know about CICS..........................................................................................................21 CICS transactions ................................................................................................................................ 21 CICS tasks.............................................................................................................................................22 CICS application programs.................................................................................................................. 22 CICS services........................................................................................................................................22 Java runtime environment in CICS ..................................................................................................... 24 Developing applications using the IBM CICS SDK for Java ..................................................................... 24 Setting up the Target Platform............................................................................................................. 25 Creating a plug-in project.....................................................................................................................26 Updating the plug-in project manifest file...........................................................................................27 Creating a Java EE application.............................................................................................................28 Adding a project to a CICS bundle project...........................................................................................29 Updating the project build path........................................................................................................... 30 Developing applications using Maven or Gradle.......................................................................................31 Manually importing Java libraries............................................................................................................. 38 Considerations for a shared JVM...............................................................................................................39 Java development using JCICS................................................................................................................. 39 The Java class library for CICS (JCICS)............................................................................................... 40 Data encoding.......................................................................................................................................43 JCICS API services and examples....................................................................................................... 44 Using JCICS.......................................................................................................................................... 66 Java restrictions .................................................................................................................................. 67 Guidance for using OSGi............................................................................................................................ 67 Developing Java applications to run in a Liberty JVM server .................................................................. 69 Setting up the development environment........................................................................................... 69 Java EE and Liberty applications......................................................................................................... 71 Migrating Java EE applications to run in Liberty JVM server ..............................................................81 Linking to a Java EE application from a CICS program....................................................................... 81 Java Transaction API (JTA) ................................................................................................................. 88 Java Persistence API (JPA).................................................................................................................. 89 Enterprise JavaBeans (EJB).................................................................................................................91 Java Message Service (JMS)................................................................................................................ 99 Java Management Extensions API (JMX) ......................................................................................... 100 Java Authorization Contract for Containers (JACC).......................................................................... 101 iii Java Authentication Service Provider Interface for Containers (JASPIC)........................................102 Java EE Connector Architecture (JCA).............................................................................................. 103 Developing microservices with MicroProfile..................................................................................... 115 Spring Boot applications....................................................................................................................119 Liberty web server plug-in................................................................................................................. 125 Liberty features........................................................................................................................................125 Accessing data from Java applications ..................................................................................................138 Interacting with structured data from Java............................................................................................ 139 Developing Java applications to use the JZOS Toolkit API in an OSGi JVM server............................... 140 Accessing IBM MQ from Java programs ................................................................................................ 142 Using IBM MQ classes for Java in an OSGi JVM server ....................................................................142 Using IBM MQ classes for JMS in a Liberty JVM server ................................................................... 143 Using IBM MQ classes for JMS in an OSGi JVM server .................................................................... 146 Connectivity from Java applications in CICS ......................................................................................... 148 JCA local ECI support..............................................................................................................................148 Packaging existing applications to run in a JVM server..........................................................................149 Converting an existing Java project to a plug-in project...................................................................149