State of the art 2010 40. Course in Essen Lattwein GmbH Heinz Peter Maassen
40. Course - Essen
Agenda 15 Jahre Web Anwendungen Moderne Techniken TCP/IP Version im Wandel z/VSE 4.2 Seminare Angebote 40. Course - Essen
Produkte der Lattwein GmbH WebDBConnector TCP/IP EZASOKET CPG5 + ASPX SOAWebServices TCP/IP EZASMI Mail4Host TCP/IP EXEC CPGJDBC - CPGSHELL SNA APPC + TCP/IP Socket QIT – NetPage CPGXML CPG5 3270 QPG, QWS , Visual CPG CPG5 QXF- QTF – QLF CPG4 Compiler CPG2 QSF CPGDD CPG3 Compiler HL1 Compiler CPG CPG1 1973 1980 1990 1995 2000 2005 2010 40. Course - Essen
15 Jahre Web Anwendungen 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
15 Jahre Web Anwendungen Erste Schritte mit APPC und Visual Basic CPG im Wandel der Zeit 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
Wie funktionieren CPG5 Anwendungen mit APPC ? 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. 1995-1998 Hier werden die QPG Programme ausgeführt WebServer: Demo.lattwein.de Logik und Datenserver: VSE CPG5 Daten Anfrage von CPG5.EXE --- CPG5.ini: LocalLU=T1300100 RemoteLU=CICSTEST LocalTP=APPCCOM RemoteTP=QIEX Mode=LU62PSA ConnType=CPIC Nur Windows ! CICSTEST Task: QIEX Term: -99X --- CICSPROD VTAM: LU6.2- T1300100 System z Browser Daten Browser: http://demo.lattwein.de /qsf/menue.htm 40. Course - Essen
Erste Schritte mit APPC und VB 1997 Erste Browser Anwendung bei Lattwein Anzeige Tabelle mit Hyperlink 40. Course - Essen
15 Jahre Web Anwendungen 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
Wie funktionieren CPG5 Anwendungen mit TCP/IP ? 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 1998- Hier werden die QPG Programme ausgeführt Logik und Datenserver: host.lattwein.de WebServer: Demo.lattwein.de CPG5 Daten CICSTEST Port: 4701 --- CICSPROD Port: 4703 System z Anfrage von CPG5.EXE --- CPG5.ini: HostIP=192.168.3.1 Port=4701 Linux, Windows, Unix Browser Daten Browser: http://demo.lattwein.de /qsf/menue.htm HOSTIP: 192.168.3.1 40. Course - Essen
Erste HTML Typen Ausgabe und Ein/Ausgabe Feld Button Tabelle Listbox Hyperlink Bilder Frames und Hintergrund bei Seiten 40. Course - Essen
Erste Schritte mit APPC und VB 1998 Erste Kunden Anwendung bei FHH Sigmaringen Anzeige der Startseite Tabelle mit Hyperlink Einzelanzeige Artikeldaten 40. Course - Essen
Erste Schritte mit APPC und VB Anzeige einer Konstruktions- zeichnung Papierlose Dokumenten- verteilung 40. Course - Essen
15 Jahre Web Anwendungen 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
15 Jahre Web Anwendungen 1998 Erste Kunden installieren und testen TCP/IP 1999: Lattwein stellt QWS auf QIT um: QIT := QWS + TCP/IP 3 MB in 42 Sekunden ! 40. Course - Essen
15 Jahre Web Anwendungen 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
15 Jahre Web Anwendungen 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
Hier wird das QPG Programm 15 Jahre Web Anwendungen 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 ! QTCLISTN(1): OPEN TCP PASSIVE LISTEN Port 4701 START TASK(‘QTCL‘) RECEIVE LINK CPGTIPX … SEND CLOSE RETURN QTCLISTN (2): OPEN TCP PASSIVE LISTEN Port 4701 Neuer Listener Hier wird das QPG Programm ausgeführt QPG Ablauf 40. Course - Essen
Wie funktionieren CPGXML Anwendungen? 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 Hier werden die QPG Programme ausgeführt Logik und Datenserver: z/VSE oder z/OS host.lattwein.de WebServer: Demo.lattwein.de CICSTEST Port: 4701 --- CICSPROD Port: 4703 ------ TCP/IP System z Anfrage von CPGXML-CGI --- CPGXML.ini: HostIP=192.168.3.1 Port=4703 Linux, Windows, Unix CPG5 Daten XML Daten Anwendung .Net, Java: Host.Converse “http://demo.lattwein.de /cgi-bin/cpgxml.exe“ HOSTIP: 192.168.3.1 40. Course - Essen
Moderne Techniken 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
ASPX und CPG5 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 auf dem 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 40. Course - Essen
ASPX und CPG5 Beispiel 2: Über einen Button (Query Anzeigen) wird das ASPX Programm filebrowse aufgerufen und 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' Anzeige der Abfrage 40. Course - Essen
ASPX und CPGXML 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
ASPX und CPGXML WebDBConnector und Host VSAM Daten über CPGXML Es können aber auch verschiedene Datenbanken ausgewählt werden Benutzer werden für bestimmte Abfragen zugelassen 40. Course - Essen
ASPX und CPGXML Die Benutzer Sicht beim WebDBConnector 40. Course - Essen
CPGJDBC “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
15 Jahre Web Anwendungen 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
DB2-Oracle-MSSQL-MYSQL-ACCESS-EXCEL- .... vom Host 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
CPGJDBC Logik SELECT KDNRA, FIRMA, ORT FROM MYTABLE CICS/ Batch DB2 Übergabe der SQL Commands in Common Area oder Temporary Storage Im Batch über VSAM ESDS SELECT KDNRA, FIRMA, ORT FROM MYTABLE CICS/ Batch Programm Assembler, Cobol, PLI,. . . CPGJDBC Daemon DB2 MYSQL ORACLE QJDBCGTO MS SQL EXEC CICS LINK / CALL im Batch Rückgabe des Result-Sets in TS oder VSAM ESDS Datei. 40. Course - Essen
CPGJDBC 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
CPGJDBC Der SQL Befehl kann bis zu 64 KB groß sein ! 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
CPGJDBC Commands INSERT String: OUTPUT '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
15 Jahre Web Anwendungen 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
EZASMI Interface 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
EZASMI Interface 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
EZASMI Technik Es gibt genau eine Listener Task: QTCL Jede Anfrage entspricht einer Communicator Task : QTCC QTCL – Listener QTCC - Communicator INITAPI GETCLIENT SOCKET BIND LISTEN SELECT ACCEPT GIVESOCKET CLOSE TERMAPI INITAPI TAKESOCKET READ RECV LINK CPGTIPX SEND CLOSE TERMAPI RETURN 40. Course - Essen
EZASMI Technik 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
EZASMI Performance Werte sind in 1/1000 Sec. 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 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 Werte sind in 1/1000 Sec. 40. Course - Essen
TCP/IP im Wandel 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
TCP/IP im Wandel 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
TCP/IP im Wandel 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
TCP/IP im Wandel 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
TCP/IP im Wandel http://www.bsiopti.com 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 FFFF:FFFF:FFFF:FFFF: FFFF:FFFF:FFFF:FFFF 40. Course - Essen
TCP/IP im Wandel 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! // 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 /* 40. Course - Essen
Seminare 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
Seminare 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
Und was wir noch anbieten 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
Und was wir noch anbieten 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
Vielen Dank für Ihre Aufmerksamkeit . . . Haben Sie noch Fragen ? 40. COURSE 2010 in Essen Vielen Dank für Ihre Aufmerksamkeit 40. Course - Essen