|**!|**"|**#|**$|**%|**&|**`|**(|**)|***|**+|**,|**

Werbung
Trademarks
The following are trademarks of the International Business Machines Corporation in the United
States and / or other counties.
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
* 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 a re 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 öffentlichen
Wiedergabe benutzt werden. Das Recht, Kursinhalte und Kursunterlagen zu aktualisieren oder zu modifizieren ist uns
40.
COURSE - ESSEN
vorbehalten.
3
40. COURSE - ESSEN

15 Jahre Web Anwendungen

Moderne Techniken

TCP/IP Version im Wandel

z/VSE 4.2

Seminare

Angebote
4
WebDBConnector
TCP/IP EZASOKET
CPG5 + ASPX
SOAWebServices
TCP/IP EZASMI
Mail4Host
TCP/IP EXEC
CPGJDBC - CPGSHELL
SNA APPC + TCP/IP Socket
QIT – NetPage CPGXML
QPG, QWS , Visual CPG
3270
CPG5
CPG5
QXF- QTF – QLF
CPG4
Compiler CPG2 QSF CPGDD
CPG3
Compiler HL1
Compiler CPG
1973
40. COURSE - ESSEN
1980
CPG1
1990
1995
2000
2005
2010
5
40. COURSE - ESSEN

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.
6

Erste Schritte mit APPC und Visual Basic

Learning by doing: HTML

40. COURSE - ESSEN

Design einer HTML Seite

Kopflos und Frame lastig

So wie es kommt – Quick and Dirty
Erste wenige HTML Typen unterstützt
7
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.
Logik und Datenserver: VSE
Hier werden
die QPG
Programme
ausgeführt
40. COURSE - ESSEN
CPG5 Daten
CICSTEST
Task: QIEX
Term: -99X
--CICSPROD
Task: QIEX
--VTAM: LU6.2T1300100
System z
Browser:
http://demo.lattwein.de
/qsf/menue.htm
WebServer:
Demo.lattwein.de
Anfrage von
CPG5.EXE
--CPG5.ini:
LocalLU=T1300100
RemoteLU=CICSTEST
LocalTP=APPCCOM
RemoteTP=QIEX
Mode=LU62PSA
ConnType=CPIC
Nur Windows !
8
1997
Erste Browser
Anwendung
bei Lattwein
Anzeige
Tabelle mit
Hyperlink
40. COURSE - ESSEN
9
40. COURSE - ESSEN

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 bereitsmit Startschwierigkeiten.

Basis war das Socket Assembler API.
10
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
Logik und Datenserver:
host.lattwein.de
Hier werden
die QPG
Programme
ausgeführt
CICSTEST
Port: 4701
--CICSPROD
Port: 4703
System z
40. COURSE - ESSEN
HOSTIP:
192.168.3.1
WebServer:
Demo.lattwein.de
CPG5 Daten
Anfrage von
CPG5.EXE
--CPG5.ini:
HostIP=192.168.3.1
Port=4701
Browser:
http://demo.lattwein.de
/qsf/menue.htm
Linux, Windows,
Unix
11
40. COURSE - ESSEN

Ausgabe und Ein/Ausgabe Feld

Button

Tabelle

Listbox

Hyperlink

Bilder

Frames und Hintergrund bei Seiten
12
1998
Erste Kunden
Anwendung bei
FHH Sigmaringen
Anzeige der
Startseite
Tabelle mit
Hyperlink
Einzelanzeige
Artikeldaten
40. COURSE - ESSEN
13
Anzeige einer
Konstruktionszeichnung
Papierlose
Dokumentenverteilung
40. COURSE - ESSEN
14

40. COURSE - ESSEN
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
15

1998 Erste Kunden installieren und testen TCP/IP

1999: Lattwein stellt QWS auf QIT um:

3 MB in 42
Sekunden !
40. COURSE - ESSEN
QIT := QWS + TCP/IP
16

QIT kann:




40. COURSE - ESSEN
Dateien ins VSE übertragen
Dateien in die Power Reader Queue setzen
Dateien, QTF, Power LIST und PUNCH Queue
QPG Programme ausführen
17

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.

40. COURSE - ESSEN
Möglich für CICS TS und CICS VSE !
18
40. COURSE - ESSEN
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 !
QPG
QTCLISTN(1):
QTCLISTN (2):
OPEN TCP PASSIVE
LISTEN Port 4701
START TASK(‘QTCL‘)
RECEIVE
LINK CPGTIPX …
SEND
CLOSE
RETURN 
OPEN TCP PASSIVE
LISTEN Port 4701
Ablauf
Hier wird
das QPG
Programm
ausgeführt

19






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
Logik und Datenserver: z/VSE oder z/OS
host.lattwein.de
Hier werden
die QPG
Programme
ausgeführt
CICSTEST
Port: 4701
--CICSPROD
Port: 4703
-----TCP/IP
System z
40. COURSE - ESSEN
HOSTIP:
192.168.3.1
WebServer:
Demo.lattwein.de
Anfrage von
CPGXML-CGI
--CPGXML.ini:
HostIP=192.168.3.1
Port=4703
Anwendung .Net, Java:
Host.Converse
“http://demo.lattwein.de
/cgi-bin/cpgxml.exe“
Linux, Windows,
Unix
20

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


CPGXML und .Net

40. COURSE - ESSEN
Direkt in EXCEL oder Word Daten vom Host holen
Die professionelle Einbindung von Host
Anwendungen
21
Beispiel 1:
Mit ASPX Programmen können Menu Gestaltungen individuell und
In einem kompakten Tree View Format erstellt werden.
EDV
Bereich
Besteht
aus
> 30
Punkten
40. COURSE - ESSEN
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.
22
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/
Anzeige der
cpg5word/filebrowse.aspx?CPGTIS=60000A25&KZNAME=109999'
Abfrage
40. COURSE - ESSEN
23
40. COURSE - ESSEN

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:
24
40. COURSE - ESSEN

WebDBConnector und Host VSAM Daten über
CPGXML

Es können aber auch verschiedene Datenbanken
ausgewählt werden

Benutzer werden für bestimmte Abfragen
zugelassen
25

40. COURSE - ESSEN
Die Benutzer Sicht beim WebDBConnector
26

“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
27
40. COURSE - ESSEN

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
28
 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
29

Ü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,. . .
DB2
CPGJDBC
Daemon
MYSQL
ORACLE
QJDBCGTO
40. COURSE - ESSEN
EXEC CICS LINK /
CALL im Batch
MS SQL
Rückgabe des Result-Sets in TS oder
VSAM ESDS Datei.
30

40. COURSE - ESSEN
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 !
31

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
32
OUTPUT
40. COURSE - ESSEN

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 !
33
40. COURSE - ESSEN

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
34

Laut IBM ist nur das EZASMI und das EZACALL Interface
kompatibel zu z/OS- siehe:

40. COURSE - ESSEN
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
35
40. COURSE - ESSEN

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.
36

Es gibt genau eine Listener Task: QTCL

Jede Anfrage entspricht einer Communicator Task : QTCC
QTCL – Listener
INITAPI
GETCLIENT
SOCKET
BIND
LISTEN
SELECT
ACCEPT
GIVESOCKET
CLOSE
TERMAPI
40. COURSE - ESSEN
QTCC - Communicator
INITAPI
TAKESOCKET
READ
RECV
LINK CPGTIPX
SEND
CLOSE
TERMAPI
RETURN 
37
40. COURSE - ESSEN

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.
38

Read Work Send Summe
Read Work
Send
Summe

2.2
9.5
420.7 432.5

4.3
16.4
39.1
59.8

2.1
9.9
234.2 246.4

4.2
16.0
39.5
59.8

2.2
9.9
381.8 393.9

4.2
16.5
39.7
60.5

2.1
9.5
382.5 394.2

4.3
16.4
39.1
59.9
EXEC Level Interface
40. COURSE - ESSEN
Werte sind in 1/1000 Sec.
EZASMI Interface bzw. EZASOKET Call
39
40. COURSE - ESSEN

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

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

40. COURSE - ESSEN
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
41

40. COURSE - ESSEN
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
42


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:





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

40. COURSE - ESSEN
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
Sollte kein Unterschied zu IP V4 sein
43
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
44

40. COURSE - ESSEN
Goodies
// EXEC FTPBATCH,SIZE=FTPBATCH,PARM='ID=00'
LOPEN
FTP, LPD, LPR, EMAIL
LUSER SYSA
PWD
LPASS
PDF erstellen
OPEN 10.xxx.yyy.zzz
SYSA
USER
Telnet
3270 und 3270E
PASS PWD
POWER
CD DB2
und DB2 LUW über TCP/IP
SITE R RDR,JQSFLOAD
CLOSE
Power PNET über TCP/IP
QUIT
/* Power Commands im z/VSE ausführen über FTP!
45

40. COURSE - ESSEN
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
46

Schulungen bei Lattwein

Inside TCP/IP for VSE


CICS Transaction Server


Tuning, Basic Security Manager, RDO, Statistik
Performance

40. COURSE - ESSEN
Installation, Administration, Tuning
VSAM und CICS TS

IBM Konnektoren installieren und Verwendung

CICS TS Dump-Analyse für Programmierer und
Systemer
47
40. COURSE - ESSEN

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

U.v.m.
.Net/Mono
C#
48
40. COURSE - ESSEN

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.
49
Haben Sie noch Fragen ?
40. COURSE - ESSEN
Herunterladen