Mainframe Programmierung - Cheatsheet
Grundlegende Bestandteile von Mainframe-Computern
Definition:
Wesentliche Komponenten, die für den Betrieb und die Leistung eines Mainframes erforderlich sind.
Details:
- CPU: Steuert die Ausführung von Programmen.
- Hauptspeicher: Kurzfristige Speicherung von Daten und Programmen (flüchtig).
- Festplattenspeicher: Langfristige Speicherung von Daten und Programmen (nicht-flüchtig).
- E/A-Controller: Verbindet den Mainframe mit externen Geräten.
- Netzwerkkomponenten: Ermöglichen die Kommunikation mit anderen Systemen.
- Betriebssystem: Verwalten der Hardware und Software-Ressourcen des Mainframes.
Grundlagen der COBOL-Syntax und Programmstruktur
Definition:
Grundkonzepte der COBOL-Sprache und die Struktur eines COBOL-Programms
Details:
- Divisionen: IDENTIFICATION, ENVIRONMENT, DATA, PROCEDURE
- Jede Division hat Sektionen und Paragraphen
- IDENTIFICATION DIVISION: Programmdaten, z.B. Programmname
- ENVIRONMENT DIVISION: Umgebungsspezifikationen, z.B. Dateinutzung
- DATA DIVISION: Datendefinitionen (Variablen und Strukturen)
- PROCEDURE DIVISION: Logik und Abläufe des Programms
- Kommentarzeilen beginnen mit *
- Schlüsselwörter sind nicht case-sensitive
- Code-Aufbau: verb-based; jeder Satz endet mit .
Erstellung und Verwaltung von Batch-Jobs mit JCL
Definition:
JCL (Job Control Language) ermöglicht das Erstellen und Verwalten von Batch-Jobs auf Mainframes, indem es Anweisungen zur Ausführung von Programmen und zur Ressourcenallokation bereitstellt.
Details:
- JCL Hauptkomponenten: JOB, EXEC, und DD Statements
- JOB Statement: Identifiziert den Job für das System
- EXEC Statement: Spezifiziert das auszuführende Programm
- DD Statement: Definiert Eingabe-/Ausgabedateien und Ressourcen
- Wichtige Parameter: CLASS, MSGCLASS, REGION, TIME
- Syntaxregeln: Großschreibung, keine Leerzeichen in Anweisungen
Verwendung von SQL in Mainframe-Datenbanken
Definition:
SQL in Mainframe-Datenbanken für Datenmanagement und Abfragen verwenden
Details:
- SQL-Dialekte: DB2, Oracle, SQL/DS
- Datenmanipulation: DDL, DML, DCL
- \texttt{SELECT}, \texttt{INSERT}, \texttt{UPDATE}, \texttt{DELETE}
- Transaktionsmanagement: \texttt{COMMIT}, \texttt{ROLLBACK}
- Performance-Tuning: Indizes, Optimizer-Statistiken
- Sicherheitsaspekte: Benutzerrechte, Authentifizierung
Fehlerbehandlung und Debugging von JCL-Skripten
Definition:
Fehlerbehandlung und Debugging von JCL-Skripten - Analysieren und Beheben von Fehlern in Job Control Language (JCL) Skripten auf Mainframes.
Details:
- SMF-Protokolle analysieren
- JCL-Fehlercodes prüfen: \ABEND\ gefolgt von einer Nummer
- SYNCSORT und IEBGENER Messages überprüfen
- Schrittweise Ausführung zur Fehlerisolierung nutzen
- JCL-Syntax mit IBM JCL-Referenzhandbuch abgleichen
Verschlüsselung und sichere Datenübertragung auf Mainframes
Definition:
Notwendigkeit der Datenverschlüsselung und Sicherstellung der sicheren Übertragung zwischen Mainframes und anderen Systemen.
Details:
- Symmetrische Verschlüsselung: Ein einzelner geheimer Schlüssel, z.B. AES.
- Asymmetrische Verschlüsselung: Ein öffentlich-privates Schlüsselpaar, z.B. RSA.
- Transport Layer Security (TLS): Schützt Daten in der Übertragung, nutzt sowohl symmetrische als auch asymmetrische Verschlüsselung.
- Secure FTP (SFTP) und SSH: Zur sicheren Dateiübertragung und Remote-Kommunikation.
- IBM's Data Encryption for IMS and Db2 Datenbanken: Schutz gespeicherter Daten.
Performance-Tuning und Optimierung von Datenbankabfragen
Definition:
Optimierung der Ausführungszeiten von Datenbankabfragen und Minimierung der benötigten Ressourcen.
Details:
- Index-Nutzung: Effiziente Indexe für Schlüssel und häufig gefilterte Spalten erstellen.
- Abfragepläne analysieren: Tools wie EXPLAIN verwenden.
- Normalisierung: Datenbanken nach den Prinzipien der Normalisierung entwerfen.
- Denormalisierung: Unter bestimmten Bedingungen für schnelleren Zugriff.
- Materialisierte Sichten: Reduzieren die Bedarfe an komplexen Joins.
- Partitionierung: Tabellen aufteilen, um Abfragen schneller zu machen.
- Caching: Zwischenspeichern von Ergebnissen häufiger Abfragen.
- Parameterisierte Abfragen: Minimiert SQL-Injection-Risiken und nutzt Pläne wieder.
- Lastverteilung: Workload auf mehrere Server verteilen.
Entwicklungswerkzeuge und Debugging in COBOL
Definition:
Entwicklungswerkzeuge und Debugging in COBOL - verwenden um COBOL-Programme effektiv zu entwickeln und zu testen.
Details:
- ISPF: Interaktive Entwicklungsumgebung auf IBM Mainframes.
- Compilieren: Quellcode in Maschinencode übersetzen, z.B. mit dem Befehl
COMPILE
. - Link-Editor: Verknüpfen von Programmkomponenten nach dem Compilieren.
- Debugging-Tools: z.B. IBM Debug Tool für schrittweises Testen von COBOL-Programmen.
- Job Control Language (JCL): zur Ausführung von Compilier- und Debugging-Jobs.
- Anzeige von Variablenwerten, Setzen von Breakpoints, Schritt-für-Schritt-Ausführung und Rückverfolgbarkeit.
- Fehlersuche: Ausgabe analysieren, um Fehler wie Syntaxfehler oder Logikfehler zu identifizieren.