seamless application integration between java ee … group | 2017 seamless application integration...

48
TAS Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application based on the Hexagonal Architecture” IBM zCircle: Milano, 6 Giugno 2017 Roma, 8 Giugno 2017

Upload: vonhi

Post on 14-May-2018

234 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

TAS Group | 2017

Seamless Application Integration between Java EE and CICS by WOLA“CARD 3.0 is a Service Oriented Java EE Application based on the Hexagonal Architecture”

IBM zCircle:

Milano, 6 Giugno 2017

Roma, 8 Giugno 2017

Page 2: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Premessa

TAS GROUP | ©2017 2

L’integrazione e l’interoperabilità fra il mondo Java EE e il mondo CICS è un tema di fondamentale importanza per la convivenza di componenti MF e componenti distribuiti.

Page 3: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

TAS GROUP | ©2017 3

First Step: Patterns Detection

1. Quali sono i flussi di integrazione?

2. Quali sono i flussi che cambiano destinazione?

AS IS TO BE

Looking for Integration Patterns

Page 4: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Second Step: Patterns Classification

1. Quali sono i flussi transazionali?

2. Quali sono i flussi informativi?

Looking for Integration Patterns

TX

TXINFO

AS IS TO BE

TAS GROUP | ©2017 4

Page 5: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

1. Flussi Informativi sincroni

Definizione Interfaccia Implementazione Adapter SOAP, REST, RAR, RMI

2. Flussi Informativi asincroni

Definizione Interfaccia Implementazione Adapter SOAP, REST, RAR, RMI, JMS, FTP

TX

TX

INFO

Data Exchange Patterns

TAS GROUP | ©2017 5

Page 6: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Definizione Interfaccia

Implementazione Adapter:

WOLA RAR, per CICS on zOS

EJB-RMI, per Java/EJB application

SOAP WS with WS-Atomic Transaction, WS Coordination

TX

TX

INFO

Distributed Transactions

TAS GROUP | ©2017 6

Page 7: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Distributed vs Concentrated Integration Architecture

TAS GROUP | ©2017 7

Page 8: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Distributed vs Concentrated Integration Architecture

TAS GROUP | ©2017 8

Page 9: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Performed at IBM Benchmark Center of Montpellier (FRA) in March/April 2017

Integration Benchmark

TAS GROUP | ©2017 9

Page 10: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – Physical Architecture

TAS GROUP | ©2017 10

Page 11: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

1 z13 N96 with 64 general CPs, 14 IIP and 18 IFL available and 4096 GB memory maximum.

1 LPAR with z/OS 2.2, MQ, WAS, CICS and DB2, defined with 6 CP, 10 zIIP and 64 GB central storage.

WAS Application Server v8.5.5.11 to host CARD 3.0.

4 FICON Express16S (16 Gbps channels) for communication between z13 and DS 8886 Storage using zHPF.

1 DS8886 as storage with 9.5 TB space – in RAID 5, internal disks of 600GB 15K RPM

6 LCU each composed of 48 disks (disk 3390 mod27)

1 network for administration and remote control (accessible from dedicated room or remotely using Open VPN certificate), 1 network for injection.

1 dedicated room for the benchmark with several PC.

PC distribution and usage: 1 PC dedicated as Benchmark controller, 1 PC dedicated for injection tool, the other PCs as network stations connected to the administration network.

Integration Benchmark – HW Specs

TAS GROUP | ©2017 11

Configurazione e dimensionamentoscelti per riprodurre fedelmentel’ambiente operativo dei nostriclienti

Page 12: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Operating System z/OS 2.2

ApplicationMQ V8 on z/OS TAS CARD 3.0

DatabaseDB2 v11 for z/OS RSU1603DB2 Adminitration Tool v11.2

JEE Application ServerWebSphere Application Server 8.5.5.11Java SE 1.7.1 64-Bit, SR3 FP 30 1 ifixApplication tested: CARD3.0

CICSCICS Version 5.3CICS Performance Analyzer Version 5.3

SchedulerTWS v9.3.0 (Tivoli Workload Scheduler)

Load Injection ToolSmartBear Ready API v2.0

Performance reporting toolsSMF/RMF for z/OSTivoli Decision Support 1.8.2OMEGAMON XE DB2 PE v530DB2 Query Monitor v3.2

Integration Benchmark – SW Specs

TAS GROUP | ©2017 12

Page 13: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – Logical Architecture

TAS GROUP | ©2017 10

Page 14: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – Use Cases

TAS GROUP | ©2017 13

Page 15: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – Operations

TAS GROUP | ©2017 15

1 3

56

2 4

CL30 TO CICS

Load Injection 2PC 2PC

1

2

3

4

56

CICS TO CL30

Load Injection2PC 2PC

Page 16: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – The Load Injection

TAS GROUP | ©2017 14

Load Injection realizzata con Ready API di SmartBear

Casi di Test e licenze fornite da TAS

Agenti multipli per distribuire il carico

Virtual User and Rate Load Injection Types

Page 17: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – Load Test Running at Fixed Rate (200 TPS)

TAS GROUP | ©2017 14

Load Profile: Fixed Load Type: Rate

Load Agents: 4 Load Rate per Agent: 50

Total Troughput: 200 TPS

Page 18: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – Load Test Running at Fixed Rate (200 TPS)

TAS GROUP | ©2017 14

Load Profile: Fixed Load Type: Rate

Load Agents: 4 Load Rate per Agent: 50

Total Troughput: 200 TPS

Page 19: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – Load Test Running at Fixed Rate (200 TPS)

TAS GROUP | ©2017 14

Load Profile: Fixed Load Type: Rate

Load Agents: 4 Load Rate per Agent: 50

Total Troughput: 200 TPS

Page 20: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – Load Test Running at Fixed VUs (160 VUs)

TAS GROUP | ©2017 14

Load Profile: Fixed Load Type: VUs

Load Agents: 4 Load VUs per Agent: 40

Total Vus: 160

Page 21: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – Load Test Running at Fixed VUs (160 VUs)

TAS GROUP | ©2017 14

Load Profile: Fixed Load Type: VUs

Load Agents: 4 Load VUs per Agent: 40

Total Vus: 160

Page 22: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – Load Test Running at Fixed Vus (160 VUs)

TAS GROUP | ©2017 14

Load Profile: Fixed Load Type: VUs

Load Agents: 4 Load VUs per Agent: 40

Total Vus: 160

Page 23: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – DB2 z/OS Configuration & Settings

TAS GROUP | ©2017 14

Table Spaces e Indici isolati in buffer pools dedicati, per favorire le performance e facilitare il monitoraggio

Per tutti i buffer pools: PGFIX (YES), FRAMESIZE(1M) per evitare il costo CPU per il page fixing e per sfruttare ilsupporto di z/OS per large frame (1 megabyte page size)

Tuning specifico per le tabelle più usate, ex: Lock Size Row, Append(YES), Compress(YES)

Page 24: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – CICS Configuration & Settings

TAS GROUP | ©2017 14

Nessuna configurazione specifica per le CICS regions

Fine tuning per max task, DB2 threads, WOLA connections and EDSA

Page 25: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – z/OS Configuration & Settings

TAS GROUP | ©2017 14

In WLM, una service class dedicata RT100M - Response time inferior at 100 ms - per le transazioni WAS

Una service class dedicata CICSTAS - Response time inferior at 50 ms – per le transazioni CICS

Tutti i logstream DASD only, STG_SIZE and LS_SIZE aumentati a 300.000

Page 26: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – WAS Configuration & Settings

TAS GROUP | ©2017 14

JVM Heap Size: -Xms 128m –Xmx 4096m

JVM Large Pages Allocation (1 MB): -Xlp

JVM Compressed Refs (32K): - Xcompressedrefs

WAS & App Logging set to ERROR

JIT Compilation logging suppressed

Hibernate Properties:

javax.persistence.validation.mode = false

hibernate.check_nullability = false

hibernate.show_sql = false

hibernate.format_sql = false

Page 27: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – WAS Tuning

TAS GROUP | ©2017 14

JDBC Statement Cache Size: 10 to 30

ORB Service Thread Pool Size:

Custom Workload Profile: IOBOUND to CUSTOM

Servant Region Threads: 50

L’ORB Thread Pool viene usato quando un client invoca un Remote EJB; è molto importante configurarne le proprietàin accordo al carico effettivo, Refs:

https://www.ibm.com/support/knowledgecenter/en/SSAW57_8.0.0/com.ibm.websphere.nd.doc/info/ae/ae/rorb_tims.html

https://www.ibm.com/support/knowledgecenter/SS7K4U_8.5.5/com.ibm.websphere.zseries.doc/ae/uorb_rorb_service.html

Page 28: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – WAS Tuning

TAS GROUP | ©2017 14

JDBC CP Size: almeno una connessione per thread (Min 10 – Max 160)

WOLA CP Size: almeno una connessione per thread (Min 10 – Max 160)

Page 29: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – z/OS & CICS Tuning

TAS GROUP | ©2017 14

Attivazione SMT

Importante per migliorare l’efficienza computazionale deiprocessori zIIP

Per ‘CEMT I DB2C(*)’: Tcblimit( 0100 )

Per ‘CEMT I DB2E(Z3TP)’: Protectnum( 0040 ) & Threadlimit( 0080 )

Settings importanti per prevenire contese tra threads concorrenti

Page 30: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – WOLA Performance Fine Tuning

TAS GROUP | ©2017 14

Per il caso “CICS to CL30”, usando 2PC and WOLA, con un throughput maggiore di 20 TPS, si è osservato un elevato consumo IIP su CP

Registrati diversi errori 0C7, causa di dumps del syslog

L’indagine ha dimostrato che il problema era causato da un anomalia del JIT Compiler nella fase di error handling

Aggiungendo l’opzione: -Xjit:noResumableTrapHandler atutte le JVM (control, servant regions, deployment manager, server) il problema è stato superato

Page 31: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – Results Analysis for Fixed Rate (200 TPS)

TAS GROUP | ©2017 14

Page 32: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – Results Analysis for Fixed Rate (200 TPS)

TAS GROUP | ©2017 14

Page 33: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – Results Analysis for Fixed Rate (200 TPS)

TAS GROUP | ©2017 14

Page 34: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – Results Analysis for Fixed VUs (160 VUs)

TAS GROUP | ©2017 14

Page 35: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – Results Analysis for Fixed VUs (160 VUs)

TAS GROUP | ©2017 14

Page 36: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – Results Analysis for Fixed VUs (160 VUs)

TAS GROUP | ©2017 14

Page 37: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – Conclusioni

TAS GROUP | ©2017 14

Affidabilità: tutti i casi di test hanno mostrato ilcomportamento atteso, in ogni condizione di carico

Stabilità: tutti i casi di test non hanno mostratoproblemi di memoria (Memory Leaks, GC, …)

Robustezza: tutti i casi di test hanno mostratoandamento e prestazioni stabili anche sotto stress (test di lunga durata, >1000 TPS, 2 hours )

Resilienza: tutti i casi di test hanno mostrato una buonacapacità di assorbimento (Fattore 5X sul Workload portaa 2,5X sul Response Time)

Performance: tutti i casi di test con TPS >1000 hannomostrato un response time < 30ms

Page 38: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – Conclusioni

TAS GROUP | ©2017 14

Transazionalità distribuita con WOLA

Testati con successo tutti i casi:

CL30 crea la transazione, CICS partecipa, CL30 esegue commit

CL30 crea la transazione, CICS partecipa, CL30 esegue rollback

CICS crea la transazione, CL30 partecipa, CICS esegue commit

CICS crea la transazione, CL30 partecipa, CICS esegue rollback

Page 39: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – The Java EE Side, Architecture

TAS GROUP | ©2017 14

Page 40: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – The Java EE Side, Communications

TAS GROUP | ©2017 14

WOLA Request Processing

Page 41: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

… and now a quick insight on java code

Integration Benchmark – The Java EE Side, Sequence

TAS GROUP | ©2017 14

WOLA Request Processing

Page 42: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – The CICS Side, Sequence

TAS GROUP | ©2017 15

WOLA Service Invoking

Page 43: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – The CICS Side, WOLA Registrations

TAS GROUP | ©2017 15

Page 44: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – The CICS Side, COBOL code

TAS GROUP | ©2017 15

Page 45: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – Sequence Diagram, focus on WAS side

TAS GROUP | ©2017 15

WOLA Request Processing

Page 46: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – The WAS Side, WOLA Registrations

TAS GROUP | ©2017 15

Page 47: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Integration Benchmark – The CICS Side, COBOL code

TAS GROUP | ©2017 15

Page 48: Seamless Application Integration between Java EE … Group | 2017 Seamless Application Integration between Java EE and CICS by WOLA “CARD 3.0 is a Service Oriented Java EE Application

Le informazioni contenute in questo documento non possono essere distribuite a terze parti senza l’autorizzazione scritta di TAS S.p.A

Grazie!Andrea FolliChief Technical Architect

[email protected]

Giovanni CanduraZ/OS Technical Specialist

[email protected]