CICS v5.4

publicité
Les Nouveautés CICS v5.4
1er Décembre 2016 – GSE France
Les nouveautés CICS v5.4
L’API pour démarrer des TASKs asynchrone
• Trois nouvelles commandes d’API qui vous permettre d’exécuter vos programmes en
parallèle
CICS Provisioning Toolkit
• Un nouvel outil qui vous permettre de décrire une région et la démarrer avec l’invite de
commande
MQMONITOR
• Un nouvelle ressource de CICS pour vous aider de gérer le monitoring de MQ dans CICS
Java en CICS
• Changements à le modèle de Threads
• Les nouvelles fonctionnalités de Java Enterprise Edition 7
• LINK à Liberty et mode de exécution ‘Standard’ pour Liberty
Autre petits changements
• Un aperçu des autres petits changements
© 2014 IBM Corporation
2
TASKs en CICS
Imaginez un scénario où vous avez une programme qui doit appeler trois
services externes et attendre les réponses.
Avant ce changement on devrait attendre la
réponse d’un appelle avant de continuer.
Si une appelle marche lentement, il ralentit
tous les autres.
Le cout totale de tel programme est toujours
la somme de tous appelles à les services
externes.
S’on ne veut pas attendre un réponse d’un ou
plus services, le temps est perdu.
© 2014 IBM Corporation
3
TASKs en CICS
Après ce changement vos appelles pourraient faire en parallèle. On attend
seulement le plus lent appelle.
En résultat, votre TASK marche plus vite.
Vous n'êtes plus bloqué par les services
que vous avez appelé
Nous vous fournissons commandes d’API
pour vérifier le résultats de votre appelles
ou attendre pour les terminer.
© 2014 IBM Corporation
4
API ASYNC
Nous avons ajouté trois commandes neufs qui vous permettre de programmer les CICS
TASKs asynchrone:
• EXEC CICS RUN TRANSID pour commencer nouveaux TASKs
• EXEC CICS FETCH CHILD pour retrouver TASKs spécifique qui vous avez commencé
• EXEC CICS FETCH ANY pour retrouver au hasard TASKs qui vous avez commencé
Les commandes sont disponibles en COBOL, ASM, C et PL1 (actuellement pas Java)
© 2014 IBM Corporation
5
API ASYNC
Les TASKs sont structurés comme des parents et
leur enfants
PARENT
Chaque TASK peut commencer un nouveau
TASK. Le premier est le parent et le deuxième est
l’enfant.
CHILD 1
CHILD 2
CHILD 3
Un parent peut avoir un ou plus enfants. Si un
parent finit avant ses enfants, les enfants avance
encore.
CHILD 3-1
CHILD 3-2
Un enfant a seulement un parent, mais peut
avoir ses propres enfants.
© 2014 IBM Corporation
6
API ASYNC
EXEC CICS PUT CONTAINER(container) CHANNEL(channel)
FROM(struct) FLENGTH(len_struct)
BIT
RESP(reason) RESP2(response)
EXEC CICS RUN TRANSID(transid) CHILD(child)
CHANNEL(channel)
RESP(reason) RESP2(response)
Les données peuvent être passé
à vos TASKs enfants avec des
CONTAINERs dans la même
façon de EXEC CICS LINK
Pour commencer un nouveau
enfant, utiliser EXEC CICS RUN
La paramètre ‘CHILD’ retournerai
vous un jeton qui représente le
TASK enfant
© 2014 IBM Corporation
7
ASYNC API
EXEC CICS FETCH CHILD(child)
ABCODE(abcode) COMPSTATUS(child_status)
CHANNEL(fetch_channel)
RESP(reason) RESP2(response)
Quand vous voulez retrouver les
résultats d’un enfant (ou
examiner son statut), utilisez
EXEC CICS FETCH CHILD
Le jeton qui était retourné à vous
plus tôt est utilisé pour identifier
l’enfant.
EXEC CICS GET CONTAINER(container)
CHANNEL(fetch_channel)
INTO(struct) FLENGTH(len_struct)
RESP(reason) RESP2(response)
Ensuite vous pouvez retrouver
quelque résultats avec les
CONTAINERs
© 2014 IBM Corporation
8
ASYNC API
Quelquefois, vous ne voulez pas
attendre un enfant particulier.
EXEC CICS FETCH ANY(child)
ABCODE(abcode) COMPSTATUS(child_status)
CHANNEL(fetch_channel)
Pour chercher tous les enfants
RESP(reason) RESP2(response)
qui ont terminé, utiliser EXEC
CICS FETCH ANY.
EXEC CICS GET CONTAINER(container)
CHANNEL(fetch_channel)
INTO(struct) FLENGTH(len_struct)
RESP(reason) RESP2(response)
EXEC CICS FETCH ANY
retournerai un enfant terminé au
hasard
Il vous retournerai aussi tous les
informations sur le TASK enfant
© 2014 IBM Corporation
9
CICS Provisioning Toolkit
En bref, CICS PT est un outil pour approvisionner des régions CICS dans un façon
automatique utilisant l’invite de commande.
‘Image’
cicsptfile
Région CICS
CICS1
JVM=OSGi
SEC=YES
z/OSMF
CICS1
© 2014 IBM Corporation
10
CICS Provisioning Toolkit – Un Exemple cicsptfile
# de null
FROM scratch
# Spécifier le type de serveur JVM désirée
ENV DFH_REGION_JVMSERVER=Axis2
# Spécifier le variable de WSDIR environnement qui est le emplacement de fichier pour les pipelines
# NE CHANGER PAS
ENV WSDIR pipeline/wsdir
# La PIPELINE créer par cicspt a besoin d’un fichier de configuration à "pipeline/config.xml".
# Note: Vous pouvez retrouver cet exemple en le dossier d’installation pour CICS TS
COPY jsonjavaprovider.xml pipeline/config.xml
# Ajouter un répertoire vide
COPY wsdir ${WSDIR}
© 2014 IBM Corporation
11
CICS Provisioning Toolkit
Chaque développeur peut créer leur propre ‘image’ pour commencer rapidement leur
environnement désirée, ou votre administrateur de système peut créer plusieurs de
images à l’avance
‘Image’
Développeur
Administrateur de
système
z/OSMF
‘Image’
‘Image’
‘Image’
‘Image’
CICS Region
© 2014 IBM Corporation
12
CICS Provisioning Toolkit
Il y a cinq étapes de déploiement pour CICS PT. Chaque stage a sa propre commande.
image
Cicsptfile
cicspt build
© 2014 IBM Corporation
13
CICS Provisioning Toolkit
© 2014 IBM Corporation
14
CICS Provisioning Toolkit
Il y a cinq étapes de déploiement pour CICS PT. Chaque stage a sa propre commande.
cicspt run
image
Cicsptfile
Approvisionné et
commencé CICS
environnement
cicspt build
© 2014 IBM Corporation
15
CICS Provisioning Toolkit
© 2014 IBM Corporation
16
CICS Provisioning Toolkit
© 2014 IBM Corporation
17
CICS Provisioning Toolkit
Il y a cinq stages de déploiement pour CICS PT. Chaque stage a sa propre commande.
cicspt run
Cicsptfile et build
path
Approvisionné et
commencé CICS
environnement
image
cicspt build
Approvisionné et
terminé CICS
environnement
cicspt stop
© 2014 IBM Corporation
18
CICS Provisioning Toolkit
© 2014 IBM Corporation
19
CICS Provisioning Toolkit
© 2014 IBM Corporation
20
CICS Provisioning Toolkit
Il y a cinq stages de déploiement pour CICS PT. Chaque stage a sa propre commande.
cicspt run
Cicsptfile et build
path
Approvisionné et
commencé CICS
environnement
image
cicspt build
cicspt start
Approvisionné et
terminé CICS
environnement
cicspt stop
© 2014 IBM Corporation
21
CICS Provisioning Toolkit
Il y a cinq stages de déploiement pour CICS PT. Chaque stage a sa propre commande.
cicspt run
Cicsptfile et build
path
Approvisionné et
commencé CICS
environnement
image
cicspt start
cicspt build
cicspt rm
Approvisionné et
terminé CICS
environnement
cicspt stop
© 2014 IBM Corporation
22
CICS Provisioning Toolkit
© 2014 IBM Corporation
23
Nouveau ressource ‘MQMONITOR’
Nous avons ajouté le nouveau ressource ‘MQMONITOR’
qui aide vous de gérer quelque monitors de MQ qui est
hébergé par votre région CICS.
• Il marche bien avec le MQCONN ressource en CICS
• Monitors peut être un ‘trigger monitor’, un ‘MQ bridge
monitor’ ou un monitor fabriqué par vous.
• Monitors peut commencer automatique, en parallèle
de vos MQCONNs
• On peut créer beaucoup de MQMONITORs en le même
région CICS
• Ca vous permettre de gérer plus facile vos monitors
sans utiliser manuellement ‘CKQC’
© 2014 IBM Corporation
24
Attributs pour les MQMONITORs
DEFINE MQMONITOR(MQMON001)
GROUP(MQMON)
AUTOSTART(YES)
STATUS(ENABLED)
TRANSACTION(CKTI)
AUTOSTART spécifie si le monitor
commencer quand votre MQCONN
commence.
TRANSACTION spécifie le
transaction CICS pour votre monitor
QNAME spécifie le nom de la queue
en MQ qui vous voulez suivre
QNAME(CICSTEST.MQMON001.INITQ)
MONUSERID(CICSUSER)
MONUSERID spécifie le user qui
exécute le programme de monitor
© 2014 IBM Corporation
25
Performance Java – Changements à Modèle de Threads
CICS TS v5.3 inclut changements à le modèle de
threads en Java. Maintenant, les Threads sont
créés lorsque le JVM commence, et sont attachés
quand il y a un besoin
Thread ‘Pool’
Thread0
Thread1
Thread2
La transaction est maintenant attaché sur un T8
TCB au début de la TASK
Ce changement habiliter plus de fonctionnalités
de Java EE
Il aussi réduit le coût de temps sur processeurs
générale
© 2014 IBM Corporation
26
Performance Java – Changements à Modèle de Threads
Thread Pool
CICS TASK
Thread0
Thread1
Demande HTTP
Thread2
© 2014 IBM Corporation
27
Java Efficacité – Changements à Modèle de Threads
Thread Pool
Thread0
Thread1
Réponse HTTP
Thread2
© 2014 IBM Corporation
28
Performance – Comparaison de Modèles
0,50
26% réduction de
coute totale
0,45
CPU per request (ms)
0,40
0,35
0,30
zIIP-eligible
0,25
GCP
0,20
0,15
Moins de le TASK est
exécuté par le processeur
générale
0,10
0,05
0,00
CICS V5.2
CICS V5.3 + PI54263
© 2014 IBM Corporation
29
Performance – Les résultats pour une Exemple Servlet
© 2014 IBM Corporation
30
CICS Java - Nouvelle Fonctionnalités de Java Enterprise 7
Web Sockets
Modèle conversationnel pour la communication entre applications sur ligne
Java Mail
APIs et functionalities pour créer les emails en Java
Java Batch
API et services qui permettre la création et exécution de programmes batch
© 2014 IBM Corporation
31
CICS et Java EE 7 – Web Sockets
CICS
Liberty JVM server
CICS
Liberty JVM server
Websocket
Liberty en Linux
Websocket
Autre Serveur JEE
Websocket
Websocket
© 2014 IBM Corporation
32
CICS et Java EE 7 – Batch
batch-1.0
batchManagement-1.0
Ecrivez ‘batchlets’ en Java qui
contenaient votre logique d’metier.
Il fournit un interface REST pour
commencer les programmes batch.
Utiliser job.xml fichiers pour définir
les programmes batch.
Il fournit un outil pour commencer
les programmes batch par l’invite de
commande
Il soutenir aussi JMS et logs pour vos
programmes batch.
© 2014 IBM Corporation
33
CICS et Java EE 7 – Batch
Liberty JVM server
Queue
Batch Container
Liberty JVM server
Batch Container
Batch Dispatcher
Batch Executor
Job
Repository
Type 4 DB2
© 2014 IBM Corporation
34
CICS and Java EE 7 – Batch Processing
L’adresse et
port pour
JVMSERVER
Nom de bundle
en Liberty
Nom de job.xml
fichier pour le
batchlet
© 2014 IBM Corporation
35
CICS and Java EE 7 – Batch Processing
© 2014 IBM Corporation
36
Link à Liberty
Disponible en CICS TS V5.3 APAR PI63005
WLPJVMS
Programme COBOL
EXEC CICS LINK
PROGRAM(WLPLINK)
CHANNEL(MYCHANNEL)
Programme
WLPLINK.java
© 2014 IBM Corporation
37
Link à Liberty
Plus que EXEC CICS LINK…
public class LinkToLiberty {
@CICSProgram(value = "LINKPROG")
public void writeTsq() throws CicsException, IOErrorException{
TSQ tsq = new TSQ();
tsq.setName("EXAMPLEQ");
tsq.writeString("TESTDATA");
}
}
© 2014 IBM Corporation
38
Link à Liberty
@CICSProgram(value = "LINKPROG")
CEDA INSTALL BUNDLE(LINKBUND)
CICS
Bundle
© 2014 IBM Corporation
39
Mode Standard de Liberty en CICS
Mode Intégré de Liberty
Mode Standard de Liberty
Mode Intégré est le mode d’exécution
par défaut en CICS
Mode standard de Liberty est un mode
d’exécution sans fonctionnalités de CICS
Quand les threads commencent, ils se
enveloppé automatique dans un TASK
CICS
Les threads neufs commencent sans la
fonctionnalité de CICS
Tous les fonctionnalités CICS sont
dispensables à votre programmes
S’on voudrait utiliser les fonctionnalités
CICS, on peut utiliser le ‘CICS Executor
Service’
© 2014 IBM Corporation
40
Mode Standard de Liberty en CICS
Capabilité
Mode intégré
Mode Standard
Java EE 6
Web Profile
Web Profile
Java EE 7
Web Profile
Full Platform
API pour Java en CICS
Oui
Oui, par runAsCICS
DB2 and MQ Native
Oui
Oui, par runAsCICS
Déploiement dans un CICS Oui
Bundle
Oui
JVM server créer et
contrôler Liberty
Oui
Oui
Optimisation pour la
modèle de Threads en
CICS
Oui
Non
© 2014 IBM Corporation
41
Mode Standard de Liberty – zIIP Offload
Un rapport de performance de
Graham Rawson
Utilisant WebSphere DayTrader 3
Java EE application de référence
La rapport entière:
IBM CICS Performance Series: A
CPU Utilization Study of Java EE
applications running in CICS TS V5.3
© 2014 IBM Corporation
42
Un aperçu d’autre petits changements
• Nouveaux transactions ‘CEDG’ et ‘CEDY’
qui sont les mêmes que ‘CEDF’ et ‘CEDX’,
mais sont en lecture seule
• CICS utilise maintenant ‘system autoinstall’ pour installer les programmes
requis par LE.
• Le défaut pour le CICS XPTKT SIT est
maintenant YES, donc CICS va vérifier
avec RACF (où votre fournisseur de
sécurité) avant créer un PASSTICKET.
© 2014 IBM Corporation
43
Un aperçu d’autre petits changements
• Améliorations pour les statistiques de
TCP/IP pour les effets de l’option
‘SOTUNING’
• Un nouveau TDQ adaptateur pour traiter
les événements et les écrire sur un TDQ
© 2014 IBM Corporation
44
C’est disponible où le CICS v5.4 version beta
On peut télécharger gratuitement le version beta à
partir le site web:
http://www.ibm.com/cics/openbeta
Pour registrer votre intérêt pour les versions futur
de CICS, envoyer un email à ‘CICS Early Programs
Coordinator’:
[email protected]
On peut aussi rejoindre la collaboration de design
pour CICS (SVP demande moi après la présentation)
© 2014 IBM Corporation
45
Merci d’écoute
N’hésitiez pas de me contacter par email à:
[email protected]
© 2014 IBM Corporation
46
Téléchargement