490 likes | 632 Views
State of the art 2010 40. Course in Essen. Lattwein GmbH Heinz Peter Maassen. Agenda. 15 Jahre Web Anwendungen Moderne Techniken TCP/IP Version im Wandel z/VSE 4.2 Seminare Angebote. Produkte der Lattwein GmbH. WebDBConnector. TCP/IP EZASOKET. CPG5 + ASPX. SOAWebServices.
E N D
State of the art 201040. Course in Essen Lattwein GmbH Heinz Peter Maassen
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 • 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 CPG im Wandel der Zeit 40. Course - Essen
Wie funktionieren CPG5 Anwendungen mit APPC ? 1995-1998 • 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. Hier werden die QPG Programme ausgeführt WebServer: Demo.lattwein.de Logik und Datenserver: VSE Anfrage von CPG5.EXE --- CPG5.ini: LocalLU=T1300100 RemoteLU=CICSTEST LocalTP=APPCCOM RemoteTP=QIEX Mode=LU62PSA ConnType=CPIC Nur Windows ! CPG5 Daten CICSTEST Task: QIEX Term: -99X --- CICSPROD Task: QIEX --- 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 ? 1998- • 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 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
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 • Ü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 • 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 Updateaufrufen: • PROC copy2shadow • Eine Stored Procedure zum Selectaufrufen: • CALL MySelectProc Der SQL Befehl kann bis zu 64 KB groß sein ! 40. Course - Essen
CPGJDBC Commands • 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
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 • 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 • 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 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, . . . ) • HowtoUseit • 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 Max: 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
. . . Haben Sie noch Fragen ? 40. COURSE 2010 in Essen Vielen Dank für Ihre Aufmerksamkeit 40. Course - Essen