40. c ourse - e ssen 15 jahre web anwendungen moderne techniken tcp/ip version im wandel z/vse 4.2...
TRANSCRIPT
40. COURSE - ESSEN
The following are trademarks of the International Business Machines Corporation in the United
States and / or other counties.
* Registered trademarks of IBM Corporation
The following are trademarks or registered trademarks of other companies. LINUX is a registered trademark of Linus Torvalds. Tivoli is a trademark of Tivoli Systems Inc. Java and all Java-related trademarks and logos are trademarks of Sun Microsystems, Inc., in the United States and other countries UNIX is a registered trademark of The Open Group in the United States and other countries.
Microsoft, Windows and Windows NT are registered trademarks of Microsoft Corporation. SET and Secure Electronic Transaction are trademarks owned by SET Secure Electronic Transaction LLC.
Intel is a registered trademark of Intel Corporation.
Kursunterlagen / Copyright:
Alle Rechte, auch die der Übersetzung, des Nachdrucks und der Vervielfältigung der Schulungsunterlagen oder Teilen daraus, sind uns vorbehalten. Kein Teil der Schulungsunterlagen darf ohne schriftliche Genehmigung der Lattwein GmbH in irgendeiner Form, auch nicht für Zwecke der Unterrichtsgestaltung, reproduziert, an Dritte weitergegeben oder insbesondere unter Verwendung elektronischer oder anderswie Datenverarbeitender Systeme, verarbeitet, vervielfältigt oder zur öffentlichenWiedergabe benutzt werden. Das Recht, Kursinhalte und Kursunterlagen zu aktualisieren oder zu modifizieren ist uns vorbehalten.
CICS*
DB2*
DFSORT
DS6000
DS8000
Enterprise Storage Server*
FlashCopy
IBM*
IBM eServer
IBM logo*
IMS
MQSeries*
OMEGAMON*
Parallel Sysplex*
System Storage
System z
System z9
System z10
System z10 Business Class
Tivoli
TotalStorage*
VSE/ESA
WebSphere*
z/OS*
z/VM*
z/VSE
zSeries*
z9
z10
z10 BC
z10 EC
Trademarks
15 Jahre Web Anwendungen
Moderne Techniken
TCP/IP Version im Wandel
z/VSE 4.2
Seminare
Angebote
40. COURSE - ESSEN
3
40. COURSE - ESSEN
4
Compiler CPG CPG1
Compiler HL1
Compiler CPG2 QSF CPGDD CPG3
QXF- QTF – QLF CPG4
QPG, QWS , Visual CPG CPG5
QIT – NetPage CPGXML CPG5
CPGJDBC - CPGSHELL
SOAWebServices
WebDBConnector
CPG5 + ASPX
Mail4Host
1973 1980 1990 1995 2000 2005 2010
3270
SNA APPC + TCP/IP Socket
TCP/IP EXEC
TCP/IP EZASOKET
TCP/IP EZASMI
Business Partner Tagung im Labor 1995:
Vielen Dank der IBM für das Handbuch: HTML und CICS
Erste Ideen zur Guifizierung von 3270 Masken.
Eine CICS Task bleibt eine CICS Task, auch wenn diese aus dem Browser aufgerufen wird.
Daten werden moderner präsentiert
Problematische Lösung, da SNA bei jedem Betriebssystem anders konfiguriert wird.
40. COURSE - ESSEN
5
Erste Schritte mit APPC und Visual Basic
Learning by doing: HTML
Design einer HTML Seite
Kopflos und Frame lastig
So wie es kommt – Quick and Dirty
Erste wenige HTML Typen unterstützt
40. COURSE - ESSEN
6
CPG5 startet über SNA startet eine CICS TASK: QIEX!
Die Verbindung wird über Independent LU 6.2 Sessions aufgebaut.
In den CPG5 Daten ist der QPG Programm Name enthalten
Modifizierte Datenfelder werden zum Host gesendet
Der Feldname ist Platzhalter in den Prototyp HTML Seiten.
40. COURSE - ESSEN
Anfrage vonCPG5.EXE---CPG5.ini:LocalLU=T1300100RemoteLU=CICSTESTLocalTP=APPCCOMRemoteTP=QIEXMode=LU62PSAConnType=CPIC
Nur Windows !
Browser:http://demo.lattwein.de /qsf/menue.htm
WebServer:Demo.lattwein.de
Logik und Datenserver: VSE
1995-1998
Brow
ser D
aten
CPG5 Daten
7
CICSTESTTask: QIEXTerm: -99X---CICSPRODTask: QIEX---VTAM: LU6.2-T1300100System z
Hier werden die QPG Programme ausgeführt
40. COURSE - ESSEN
1997
Erste Browser Anwendung bei Lattwein
Anzeige
Tabelle mit Hyperlink
8
IBM OS/2 – die ideale Start Plattform.
Der Communication Manager lehrte uns die SNA Welt zu verstehen
Dann waren auch Windows NT SNA Lösungen durchschaubar
Erste Auslieferung erfolgte im 4. Quartal 1997
Bei uns lief die Entwicklung für TCP/IP for VSE bereits- mit Startschwierigkeiten.
Basis war das Socket Assembler API.
40. COURSE - ESSEN
9
Die Listener Task QTCL wird im CICS gestartet. Das Programm CPGTIPX wird via LINK aufgerufen und startet die Anwendung im QPG. In den Daten ist der QPG Programm Name enthalten Modifizierte Datenfelder werden zum Host gesendet Der Feldname ist Platzhalter in den Prototyp HTML Seiten. Simulation virtuelles Terminal = CPGTIS
40. COURSE - ESSEN
CICSTESTPort: 4701---CICSPRODPort: 4703
System z
Anfrage vonCPG5.EXE
---CPG5.ini:HostIP=192.168.3.1Port=4701
Linux, Windows,Unix
HOSTIP:192.168.3.1
Browser:http://demo.lattwein.de /qsf/menue.htm
WebServer:Demo.lattwein.de
Logik und Datenserver:host.lattwein.de
1998-
Brow
ser D
aten
CPG5 Daten
10
Hier werden die QPG Programme ausgeführt
Ausgabe und Ein/Ausgabe Feld
Button
Tabelle
Listbox
Hyperlink
Bilder
Frames und Hintergrund bei Seiten
40. COURSE - ESSEN
11
40. COURSE - ESSEN
1998 Erste Kunden
Anwendung beiFHH Sigmaringen
Anzeige der Startseite
Tabelle mit Hyperlink
Einzelanzeige Artikeldaten
12
40. COURSE - ESSEN
Anzeige einerKonstruktions-zeichnung
Papierlose Dokumenten-verteilung
13
QIT ist ein guifizierter FTP und kann:
Power List und Punch Queue Daten auf Client übertragen
Jobs in die Power Reader Queue stellen
Alle Dateien, die online verfügbar sind, senden und empfangen
QPG Programme ausführen und Daten mit Logik senden und empfangen
40. COURSE - ESSEN
14
1998 Erste Kunden installieren und testen TCP/IP
1999: Lattwein stellt QWS auf QIT um:
QIT := QWS + TCP/IP
40. COURSE - ESSEN
3 MB in 42 Sekunden !
15
QIT kann: Dateien ins VSE übertragen Dateien in die Power Reader Queue setzen Dateien, QTF, Power LIST und PUNCH Queue QPG Programme ausführen
40. COURSE - ESSEN
16
2000: Beginn der Entwicklung von CPGXML auf Basis von CPG5
QPG Features für die Web Entwicklung
QPCF mit 1000 Satzlänge
QPCF compressed
Automatische Positionsberechnung und Trennzeichen bei der Ausgabe
Ein modernes Interface für TCP/IP wird entwickelt – Basis ist das EXEC Level Interface für TCP/IP.
Möglich für CICS TS und CICS VSE !
40. COURSE - ESSEN
17
Listener Task startet neuen Listener bei Connect vom CPG5 - Getestet bis zu 120 Tasks / Sekunde bei z/10.
Nur 1 Listener für CPG5, CPGXML und QIT !
40. COURSE - ESSEN
QTCLISTN(1):
OPEN TCP PASSIVELISTEN Port 4701START TASK(‘QTCL‘)RECEIVE LINK CPGTIPX …SENDCLOSERETURN
QTCLISTN (2):
OPEN TCP PASSIVELISTEN Port 4701
Neuer List
ener
Hier wird das QPG
Programmausgeführt
QPG
18
Die Listener Task QTCL läuft im CICS TS oder CICS VSE. Die Verbindung wird über die IP-Adresse und Port aufgebaut. Das Programm CPGTIPX wird via LINK aufgerufen und startet die Anwendung im QPG. In den CPG5 Daten ist der QPG Programm Name enthalten Der Datenaustausch erfolgt über den Feldnamen, über Temporary Storage werden Arrays
und Tabellen übergeben Simulation virtuelles Terminal = CPGTIS
40. COURSE - ESSEN
CICSTESTPort: 4701---CICSPRODPort: 4703------TCP/IP
System z
Anfrage vonCPGXML-CGI
---CPGXML.ini:HostIP=192.168.3.1Port=4703
Linux, Windows,Unix
HOSTIP:192.168.3.1
Anwendung .Net, Java:Host.Converse “http://demo.lattwein.de/cgi-bin/cpgxml.exe“
CPG5 Daten
XML D
aten
WebServer:Demo.lattwein.de
Logik und Datenserver: z/VSE oder z/OShost.lattwein.de
Hier werden die QPG Programme ausgeführt
19
Daten aus anderen Welten im VSE verarbeiten
Nutzen von ASPX
mit XML und Java Script besser präsentieren
Export nach MS Office mit Performance Gewinn
Nutzen von CPGXML in Office Produkten
Direkt in EXCEL oder Word Daten vom Host holen
CPGXML und .Net
Die professionelle Einbindung von Host Anwendungen
40. COURSE - ESSEN
20
40. COURSE - ESSEN
Beispiel 1:
Mit ASPX Programmen können Menu Gestaltungen individuell und In einem kompakten Tree View Format erstellt werden.
Das ASPX Programm wird als Default HTML Seite geladen und ruft aufdem Host nach der Anmeldung ein QPG Programm über CPGXML auf.
Aus den gelieferten Daten wird eine Menu Struktur im Tree View Format erstellt.
Das ist flexibel, jeder sieht nur seine Programme, daher sicher und übersichtlich.
Vermeidet viele unnötige Programmschritte auf dem Host.
EDV Bereich Besteht
aus > 30
Punkten
21
40. COURSE - ESSEN
Anzeige derAbfrage
Beispiel 2:
Über einen Button (Query Anzeigen) wird das ASPX Programm filebrowse aufgerufenund als Auswahl Tabelle angezeigt.
Die 2. Spalte erlaubt die Anzeige einer Excel artigen ASPX Tabelle mit Sort nach Spalten und Anzeige Filter Optionen.
Wie geht denn das ?
Beim NetPage für den Button den folgenden Javascript Aufruf einbauen:
value="Query anzeigen" onclick="window.open('http://10.xxx.yyy.zzz/cpg5word/filebrowse.aspx?CPGTIS=60000A25&KZNAME=109999'
22
Projekt: Jugend forscht . . .
WebDBConnector benutzt ASPX und CPGXML um Abfragen von Datenbanken benutzerspezifisch zu präsentieren.
Es gibt eine Administrator und eine User Sicht.
So sieht das heute aus:
40. COURSE - ESSEN
23
40. COURSE - ESSEN
24
WebDBConnector und Host VSAM Daten über CPGXML
Es können aber auch verschiedene Datenbanken ausgewählt werden
Benutzer werden für bestimmte Abfragen zugelassen
Die Benutzer Sicht beim WebDBConnector
40. COURSE - ESSEN
25
“Gewinnen Sie die Hoheit über Ihre Daten zurück.“
Daten aus Oracle, DB2, MS SQLServer, MYSQL lesen und schreiben vom VSE aus – ohne DB2 im VSE.
Für alle Programmiersprachen Online und Batch
Direkt aus VSE - CICS und Batch Programmen auf Datenbanken im Linux/Unix/Windows Umfeld zugreifen
40. COURSE - ESSEN
26
Erfahrungen mit Java werden gesammelt
Erste Anwendung war ein ‘Hello World‘ vom Host
Java und Host – Verbindungen zwischen DV Welten
JDBC – Die Möglichkeit , verloren geglaubte Daten wieder einzufangen
Wir lesen und schreiben Daten in L.U.W. Welt
Auch I-Series nimmt an diesem Scenario teil
40. COURSE - ESSEN
27
Auf alle DB Systeme im LAN zugreifen
FTP vermeiden – wo immer möglich
Kein DB2 auf VSE oder VM erforderlich
Mit EXEC CICS LINK aufrufbare Schnittstelle
SQL Commands werden an Datenbank über Temporary Storage Queue (TS) übergeben
Ergebnis wird im TS bereitgestellt
Robust - schnell - sicher - einfach
40. COURSE - ESSEN
28
Übergabe der SQL Commands in Common Area oder Temporary Storage
Im Batch über VSAM ESDS
CICS/ Batch ProgrammAssembler,
Cobol,PLI,. . .
CPGJDBCDaemon MYSQL
DB2
ORACLE
MS SQL
QJDBCGTO
EXEC CICS LINK / CALL im Batch
SELECT KDNRA, FIRMA, ORT FROM MYTABLE
Rückgabe des Result-Sets in TS oderVSAM ESDS Datei.40. COURSE - ESSEN
29
Erfahrungen:
Über ein HL1 Batch Programm werden für eine Browser ASPX Anwendung ca. 500.000 Zeilen mit einer 1156 Byte Satzlänge in eine MYSQL DB geladen. (Ca. 7 Sek. / MB).
Über Stored Procedures werden daraus in 38 Minuten Indices und ca. 10 neue Tabellen neu erstellt.
Data ca. 200 MB und Index ca. 320 MB !40. COURSE - ESSEN
30
INSERT INTO WEBCM.WEBCM (CKEY, CHWB, CWB, CWGR, CAGRP, CARTNR,CREGAL, …) VALUES (‘0000123‘, 345, ‘XYZ‘, …) ON DUPLICATE KEY UPDATE CKEY = VALUES(CKEY), CHWB=VALUES(CHWB), …
Eine Stored Procedure zum Update aufrufen:
PROC copy2shadow
Eine Stored Procedure zum Select aufrufen:
CALL MySelectProc
Der SQL Befehl kann bis zu 64 KB groß sein !40. COURSE - ESSEN
31
INSERT String: 'INSERT INTO WEBCM.WEBCM (CKEY, CHWB, CWB, CWGR, CAGRP,
CARTNR,CREGAL, CLIEF, CILN, CLANR, CKZES, CKZSET, CKOMPO, CANZIS, CPFART, CPFTXT, CRATNR, CRATYP, CPRA, CSTVK, CSTVK2, CSTVK3, CLWEG, CNACHV, CNACHB, CKZBS, CMWST, CAMENG, CGMENG, CGPE, CBONTX, CKZEM, CLTAGE, CMHD, CATYP, CVKE, CKZW, CARTDA, CFAP, CEKN3, CLGAUF, CFSK, CKLPRA, CKLEAN, CALDIA, CMODUL, CKLMGR, CKTXES, CKZSHR, CKZSMI, CKZSRR, CKZSNB, CKZSNO, CKZSSB, CKZSSW, CRLIEF, CGGUN, CGGNA, CGGKL, CGGKC, CGGVP, CGGSV, CGGBM, CGGBK, CKZNEU, CZAN, CEKNR, CLIEFE, CWGRE, CDATE, CKZEH, CSTEH, CLIEH, CKZST, CSTST, CLIST, CKZRD, CSTRD, CLIRD, CKZCC, CSTCC, CLICC, CKZMK, CSTMK, CLIMK, CKZR1, CSTR1, CLIR1, CERROR, CKZEK, CKZVK, CLIEFM, CKZAN, CKZAV, CZFAP, CZNAH, CEK3, CVKA1, CVKA2, CVKA3, CZFAPD, CZNAHD, CEK3D, CVKA1D, CVKA2D, CVKA3D, CFGZ1, CFGZ2, CFGZ3, CFGZ4, CFGZE1, CFGZE2, CFGZE3, CFGZE4, CZANE, CAL1, CAL2, CAL3, CAL4, EDKWGR, EDMNR, EDMAME, EMARKE) VALUES (‘12345‘, 22.45, . . . ) , (‘22345‘, 1.45, . . . ) , (‘33345‘, 3.45, . . . )
1 Insert, 1 WriteLog, 25 Zeilen und bis zu 64 KB Daten !
OUTPUT
40. COURSE - ESSEN
32
Mails for VSE
SMS Versand aus VSE
CPGSHELL – Benutzen Sie die anderen Plattformen aus VSE heraus
Web Services mit CPG und z/VSE
Neue Techniken mit CPG5 und ASPX
40. COURSE - ESSEN
33
Laut IBM ist nur das EZASMI und das EZACALL Interface kompatibel zu z/OS- siehe:
TCP/IP for VSE/ESA - IBM Program Setup and Supplementary Information
Diese Interfaces laufen nur unter CICS TS und Batch.
Für z/VSE 4 können auch Assembler Main Programme diese Interfaces benutzen.
Dazu muss ein Task related User Exit im CICS aktiviert werden.
Volle Unterstützung der TCP/IP Programmierung
40. COURSE - ESSEN
34
CPG5 kann mit dem EZASMI Interface im z/VSE arbeiten.
Eine andere Technik wird hier verwendet , um Web Anwendungen zu realisieren.
More PC- like.
Bessere und konstantere Performance
Wenn es läuft- läuft es sehr stabil.
40. COURSE - ESSEN
35
Es gibt genau eine Listener Task: QTCL
Jede Anfrage entspricht einer Communicator Task : QTCC
40. COURSE - ESSEN
INITAPIGETCLIENTSOCKETBINDLISTENSELECT
ACCEPT GIVESOCKET CLOSE
TERMAPI
INITAPITAKESOCKETREAD RECV
LINK CPGTIPX
SEND CLOSE TERMAPI RETURN
QTCL – Listener QTCC - Communicator
36
Leider ist das EZASMI Interface nicht lauffähig mit CICS TS für z/OS - nur z/OS Batch!
Die gleiche Technik wird vom EZASOKET CALL Interface verwendet.
Für z/OS haben wir jetzt auch den QTCL und QTCC mit dem EZASOKET Call API verfügbar.
Geht auch im z/VSE – Read und aber etwas mehr Performance Aufwand.
40. COURSE - ESSEN
37
Read Work Send Summe
2.2 9.5 420.7 432.5
2.1 9.9 234.2 246.4
2.2 9.9 381.8 393.9
2.1 9.5 382.5 394.2
EXEC Level Interface
40. COURSE - ESSEN
Read Work Send Summe
4.3 16.4 39.1 59.8
4.2 16.0 39.5 59.8
4.2 16.5 39.7 60.5
4.3 16.4 39.1 59.9
EZASMI Interface bzw. EZASOKET Call
38
Werte sind in 1/1000 Sec.
Token Ring Anbindung
TCP/IP 1.3 mit EXEC Level Interface
Probleme mit Reentrant
Register wurden zerschossen (3,4,5)
Code wird – auch heute noch – modifiziert
TCP/IP 1.4 OSA Support
TCP/IP 1.5 Hiper Sockets
TCP/IP X.Y (IP V6 ?)
40. COURSE - ESSEN
39
Lange Zeit gab es nur ein TCP/IP für VSE von CSI
Leider waren viele kleine Fehler immer wieder Anlass zur Suche -
Literatur war nie auf aktuellem Stand
Command Reference und Programmer‘s Guide sind jetzt aktualisiert
Zum Glück gibt es das Internet . . .
TCP/IP 1.5 A-E, dann F
CPG5, QIT und CPGXML Anwendungen sind von den Umstellungen nie betroffen
40. COURSE - ESSEN
40
TCP/IP bei Lattwein
Schulungen für TCP/IP
Umstellung auf Ethernet
Experimente mit den Send und Receive Größen der Buffer und anderer Systemeinstellungen
Performance ist keine Hexerei . . .
Traces
40. COURSE - ESSEN
41
Mit z/VSE 4.3 gibt es ein 2. TCP/IP von BSI über IBM CSI kündigte am 31.5.2010 die neuen Versionen mit
IPV6 an: 1.5G verfügbar ab 14.6.2010 nur CTC an IPv4 1.5H ab 1 Q. 2011 +FTP, CLIENT APIs 2.0 ab Ende 2011
Warum IP V6, und was bringt IP V6? Erste Erfahrungen
Alle Teilnehmer müssen IP V6 können (Linux, Windows, Unix, z/VSE, I-Series, . . . )
How to Use it Sollte kein Unterschied zu IP V4 sein
40. COURSE - ESSEN
42
40. COURSE - ESSEN
43
IPv4 Adresse:192.168.123.1
Max:255.255.255.255= X‘FFFFFFFF‘
4.294.967.295
IPv6 Adresse:2a00:d00:ff:131:94:228:131:131
Max: FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
http://www.bsiopti.com
// EXEC FTPBATCH,SIZE=FTPBATCH,PARM='ID=00' LOPEN LUSER SYSA LPASS PWD OPEN 10.xxx.yyy.zzz USER SYSA PASS PWD CD POWER SITE R RDR,JQSFLOAD CLOSE QUIT /*
Goodies
FTP, LPD, LPR, EMAIL
PDF erstellen
Telnet 3270 und 3270E
DB2 und DB2 LUW über TCP/IP
Power PNET über TCP/IP
Power Commands im z/VSE ausführen über FTP!
40. COURSE - ESSEN
44
Schulungen bei Lattwein
VSE/VSAM-Grundlagen für Systemer, Programmierer und Arbeitsvorbereiter
VSE-Operating
VSE-Systemprogrammierung kompakt Teil 1: VSE-Installation
VSE-Systemprogrammierung kompakt Teil 2: VSE-Administration
40. COURSE - ESSEN
45
Schulungen bei Lattwein
Inside TCP/IP for VSE Installation, Administration, Tuning
CICS Transaction Server Tuning, Basic Security Manager, RDO, Statistik
Performance VSAM und CICS TS
IBM Konnektoren installieren und Verwendung
CICS TS Dump-Analyse für Programmierer und Systemer
40. COURSE - ESSEN
46
Programmierung – auch mit Cobol und anderen Tools
Einbindung von Web Services in Mainframe Anwendungen
Host Kommunikation – von der seriellen Waage bis zur Intranet / Internet Integration
CPG5 Anwendungen – erste Schritte bis zu komplexen Anwendungen
Host Anbindung an PC Development Tools
Java .Net/Mono C#
U.v.m.
40. COURSE - ESSEN
47
Scheuen Sie sich nicht, auch mal bei Lattwein nachzufragen
Wir können (noch) nicht zaubern- aber es sieht oft so aus!
Viele interessante Lösungen sind bei uns vorhanden- und entstanden. Ihre könnte auch bald dabei sein.
Wir beraten Sie auch gerne zu Systemfragen und Programmier Techniken.
40. COURSE - ESSEN
48
Haben Sie noch Fragen ?
40. COURSE - ESSEN
49