Architecting Java solutions for CICS Architecting Java solutions for - - PowerPoint PPT Presentation

architecting java solutions for cics architecting java
SMART_READER_LITE
LIVE PREVIEW

Architecting Java solutions for CICS Architecting Java solutions for - - PowerPoint PPT Presentation

Architecting Java solutions for CICS Architecting Java solutions for CICS Course introduction Course introduction Reasons for hosting Java in CICS Requirements: Knowledge of transaction processing Experience of Java development What youll


slide-1
SLIDE 1

Architecting Java solutions for CICS

slide-2
SLIDE 2

Architecting Java solutions for CICS

Course introduction

slide-3
SLIDE 3

Course introduction

Reasons for hosting Java in CICS Requirements: Knowledge of transaction processing Experience of Java development

slide-4
SLIDE 4

What you’ll learn by the end of this course

CICS as a mixed language application server Integrating Java applications into a mixed language environment Different ways of developing and deploying Java 1. 2. 3.

slide-5
SLIDE 5

Thank you for watching

slide-6
SLIDE 6

Overview of Java in CICS

Mixed language applications in CICS

slide-7
SLIDE 7

Mixed language application server High volume on-line transaction processing Provides services to host applications Multi-user access to data and messaging

What is CICS?

slide-8
SLIDE 8

What is CICS?

Transactional integrity High security Workload management Wide range of standard connectors 1. 2. 3. 4.

slide-9
SLIDE 9

COBOL PL/I Assembler C/C++

CICS – A mixed language application server

REXX PHP Java Mixed language application server

slide-10
SLIDE 10

Mixed language applications in CICS

Inter-language calling between components COBOL, Java and other languages Common interfaces Independant development 1.

slide-11
SLIDE 11

Mixed language applications in CICS

Standard APIs EXEC CICS command API Language neutral syntax Translated at compile time Language specific implementation for Java 2.

slide-12
SLIDE 12

Mixed language applications in CICS

Container management Transactions and security CICS task provides UOW and security context Spans across multiple language components 3.

slide-13
SLIDE 13

Multiple language components

Channels and containers CICS task C component COMMAREA storage COBOL component Java component Security & transaction context

slide-14
SLIDE 14

TASK0001 (Transaction: TRAN)

COMMAREA

PROGRAM A

COMMAREA FIELD1–“INPUTDATA” FIELD2–123456 FIELD3–“”

PROGRAM B READ COMMAREA BUSINESS LOGIC MODIFY COMMAREA WITH ADDITIONAL DATA LINK PROGRAM TO PROGRAM B

COMMAREA FIELD1–“INPUTDATA” FIELD2–123456 FIELD3–“OUTPUTDATA”

Calling components with a COMMAREA

slide-15
SLIDE 15

Calling components with channel & containers

TASK0001 (Transaction: TRAN) PROGRAM A

CHANNEL CHANNEL

PROGRAM B READ INPUT CONTAINER BUSINESS LOGIC LINK TO PROGRAM B CREATE OUTPUT CONTAINER RETURN READ OUTPUT CONTAINER CREATE INPUT CONTAINER CREATE CHANNEL

OUTPUT CONTAINER INPUT CONTAINER

slide-16
SLIDE 16

EXEC CICS API and translator

EXEC CICS LINK PROGRAM ( ) Language specific statements

Translator Compiler

slide-17
SLIDE 17

CICS transactions

CICS task Security Context Unit of work Program Transaction Definition Program Initial Program

slide-18
SLIDE 18

Overview of Java in CICS

Java support in CICS

slide-19
SLIDE 19

Popular language Readily available skills Rich set of tools Lower operating costs

Why use Java?

slide-20
SLIDE 20

Java components

JVM Java compiler Java source code Bytecode Class loaders Interpreter Garbage collector JIT compiler Java class libraries Threads & synchronization

slide-21
SLIDE 21

Java support on z/OS

Java class libraries z/OS extension libraries z Systems hardware instructions Java source code JVM Class loaders Interpreter JIT compiler Garbage collector Threads & synchronization awt net i/o sql … JZOS … Crypto support Health Center

slide-22
SLIDE 22

Moving eligible work to zIIP

System z Java Java Java General CP zIIP Java Java Java

slide-23
SLIDE 23

Java support in CICS

CICS JVM server CSD zFS directory JVM profile System Initialization Table (SIT) JVMPROFILEDIR= Java applications JVMSERVER

slide-24
SLIDE 24

OSGi JVM server Liberty JVM server Classpath JVM server

Types of JVM server

slide-25
SLIDE 25

Axis2 web services engine JSON web services JSON parsers SAML Dynamic scripting (PHP)

Embedded CICS functions

slide-26
SLIDE 26

OSGi JVM server

CICS HTTP 3270 APPC EXEC CICS LINK EXEC CICS START JVM server TCPIP Service COBOL program PROGRAM JCICS

VSAM file DB2 TD & TS queues

MQ JDBC JMS Java applications

slide-27
SLIDE 27

OSGi

JVM OSGi framework OSGi registry OSGi bundle HelloWorld ClassA ClassB ClassX com.package.aaa com.package.zzz ClassY ClassZ

slide-28
SLIDE 28

OSGi JVM server

CICS JVM server OSGi framework

com.ibm.MyClass1

OSGi bundle

com.ibm.MyClass2

OSGi bundle OSGi service registry PROGRAM MYPROG1 EXEC CICS LINK PROGRAM ( ) EXEC CICS START TRANSID( )

slide-29
SLIDE 29

Liberty JVM server

CICS HTTP EXEC CICS LINK JDBC JMS JVM server COBOL program MQ JCICS

VSAM file

Database

TD & TS queues

Java EE web application

slide-30
SLIDE 30

Link to Liberty

CICS JVM server Liberty server EXEC CICS LINK PROGRAM ( ) Web app POJO

PROGRAM MYPROG1

slide-31
SLIDE 31

Standard mode Requests do not run on CICS enabled threads by default Provides high zIIP offload

Integrated and standard mode Liberty

slide-32
SLIDE 32

Integrated and standard mode Liberty

Integrated mode Requests run on CICS enabled threads EXEC CICS LINK command to POJOs Integrated with CICS transactions and security

slide-33
SLIDE 33

Java EE application packaging

WAR file EAR file EBA file CICS bundle Web app Web app EJB Web app OSGi bundle

slide-34
SLIDE 34

Java EE application deployment

WAR file CICS bundle project EAR file EBA file Dropins CICS server.xml Web app Web app EJB Web app OSGi bundle { JVM server CSD CICS BUNDLE definition

slide-35
SLIDE 35

Overview of Java in CICS

Java application development for CICS

slide-36
SLIDE 36

Java Standard Edition Java Enterprise Edition JCICS JDBC & JMS z/OS extension libraries

Java APIs supported in CICS

slide-37
SLIDE 37

Java Standard Edition

Base libraries Integration libraries User Interface Toolkits lang and util Networking Security XML JNI JDBC JNDI RMI AWT Swing Print Service

slide-38
SLIDE 38

JCICS

JVM CICS region Java application Java class libraries JCICS API

Java Native Interface

Transient Data Temporary Storage VSAM

slide-39
SLIDE 39

Task – Syncpoint control and abends Program – Link command TSQ and TDQ – Accessing queues KSDS, ESDS and RRDS - VSAM files StartResource - Asynchronous processing CICSConditionException - Error response codes

JCICS

slide-40
SLIDE 40

Java Enterprise Edition – Java EE 7 Java EE 6 & Java EE 7 JSR specifications Java EE web profile

Java Enterprise Edition

slide-41
SLIDE 41

Java EE – Web profile highlights

Subset of full platform Core web technology – Servlets/JSPs RESTful JSON web services Local EJB support Contexts and Dependency injection Web sockets

slide-42
SLIDE 42

Java EE – Full platform highlights

Enterprise access tier Business application tier Web application tier JDBC JPA JMS JCA JTA Servlets JSPs JSF Java Beans Java web services EJB JPA Managed beans Batch processing

slide-43
SLIDE 43

CICS Explorer SDK for Java

z/OS CICS region zFS CICS Explorer SDK CICS bundle project OSGi bundle project Workstation Web project Eclipse IDE Export to zFS CICS build tookit

slide-44
SLIDE 44

Overview of Java in CICS

Use cases for Java applications in CICS

slide-45
SLIDE 45

Use cases for Java applications in CICS

Java web applications Java web services Java components in CICS applications Java batch 1. 2. 3. 4.

slide-46
SLIDE 46

Lower costs Fast response times High developer productivity z/OS platform qualities of service

Benefits for all Java applications in CICS

slide-47
SLIDE 47

Java web applications

Liberty CICS region JVM server Web application CICS program MQ Web browser DB2 VSAM

slide-48
SLIDE 48

Host web applications from other platforms Simplified administration Potential to lower costs Manage together with CICS components Option to tightly integrate with CICS

Java web applications

slide-49
SLIDE 49

Java web services

Liberty CICS region JVM server Web application CICS program MQ SOAP JSON DB2 VSAM

slide-50
SLIDE 50

Industry standard formats Customizable processing Data mapping tools

Java web services

slide-51
SLIDE 51

New Java components

CICS region JVM server Java application CICS program MQ CICS program DB2 VSAM

slide-52
SLIDE 52

Modernize CICS applications Java development Reuse Java components CICS mixed language environment

Java components

slide-53
SLIDE 53

Java batch

Liberty CICS region Shared repository JVM server Liberty CICS region JVM server Batch executor Liberty CICS region JVM server Clients Batch dispatcher Messaging engine server

Persistent database

Job repository

slide-54
SLIDE 54

Can be run with online transactions Flexible scheduling Parallel processing Automatic restart after failures Optimized Java execution

Java batch

slide-55
SLIDE 55

Summary

Course review

slide-56
SLIDE 56

Course review

Invoke CICS programs from Liberty Used JCICS to access VSAM files TSQs Unit of work support Error handling