Mainframe Programmierung - Cheatsheet
Geschichte und Entwicklung von Mainframes
Definition:
Geschichte und Entwicklung von Mainframes.
Details:
- 1950er: Einführung der ersten Mainframes (IBM 701, UNIVAC I).
- 1960er: IBM System/360 - Standardisierte Mainframe-Architektur.
- 1970er: Zunahme der Leistungsfähigkeit und Einführung von Multiprozessor-Systemen.
- 1980er: Einführung von CMOS-Technologie und Parallel Sysplex für Hochverfügbarkeit.
- 1990er: Verbreitung von Mainframes in Großunternehmen, fortschreitende Virtualisierung.
- 2000er: Einführung des zSeries von IBM, Unterstützung von Linux.
- 2010er: Weiterentwicklung zu zEnterprise, Integration von Cloud-Technologien und Big Data.
- Heute: Hauptanwendung in großen Rechenzentren, Banken, Versicherungen und Regierungsbehörden. Fokus auf Sicherheit, Skalierbarkeit und Zuverlässigkeit.
Hardware-Komponenten und deren Funktion
Definition:
Details:
- Prozessor (CPU): Führt Anweisungen aus, steuert andere Komponenten.
- Hauptspeicher (RAM): Kurzzeitige Speicherung von Daten und Anweisungen.
- Speicher (Festplatten, SSD): Langfristige Speicherung von Daten.
- Eingabegeräte (Tastatur, Maus): Ermöglichen Benutzereingaben.
- Ausgabegeräte (Monitor, Drucker): Anzeigen und Ausgeben von Daten.
- Netzwerkschnittstellen (NIC): Verbindung und Kommunikation in Netzwerken.
- Systembus: Datentransport zwischen den verschiedenen Hardware-Komponenten.
- Mainframe-spezifisch: Kanaladapter (Adapter für I/O-Operationen), Zentrale Steuerungseinheit (Control Unit), Multiprozessor-Architektur (Parallelverarbeitung).
Einführung in COBOL und seine Syntax
Definition:
COBOL (Common Business Oriented Language) ist eine Programmiersprache, die speziell für geschäftsorientierte Anwendungen auf Mainframe-Systemen entwickelt wurde. Sie zeichnet sich durch ihre englisch-ähnliche Syntax und starke Betonung auf Lesbarkeit aus.
Details:
- Ein COBOL-Programm besteht aus vier Hauptabschnitten: IDENTIFICATION DIVISION, ENVIRONMENT DIVISION, DATA DIVISION und PROCEDURE DIVISION.
- Syntax ist weitgehend selbsterklärend durch die Nutzung von englischen Schlüsselwörtern wie MOVE, ADD, SUBTRACT.
- Indentation und Strukturierung sind entscheidend für die Lesbarkeit des Codes.
- Beispiel Syntax für eine einfache Anweisung:
MOVE 5 TO variable-name.
- Daten werden in der DATA DIVISION definiert, z.B.:
01 variable-name PIC 9(2).
- Prozedurale Anweisungen werden in der PROCEDURE DIVISION geschrieben.
Einführung in z/OS und andere Mainframe-Betriebssysteme
Definition:
Überblick über z/OS und andere Mainframe-Betriebssysteme; z/OS als IBM's Flagschiff, Vergleich mit Alternativen.
Details:
- z/OS: IBM Mainframe-Betriebssystem, bekannt für Zuverlässigkeit, Skalierbarkeit und Sicherheit.
- Historie: Entwickelt aus 1960er Jahre System/360-Serie.
- Features: Job-Management, Daten-Handling, Sicherheit, Virtualisierung.
- Komponente: JES (Job Entry Subsystems), TSO/E (Time Sharing Option/Extensions), ISPF (Interactive System Productivity Facility).
- Andere OS: z/VM (Virtualisierung), z/VSE (Kleinere Workloads), Linux on Z (Open Source).
Authentifizierung und Autorisierungsmethoden
Definition:
Authentifizierung: Überprüfung der Identität. Autorisierung: Kontrolle der Zugriffsrechte.
Details:
- Authentifizierungsmethoden: Passwörter, Biometrie, Token-basierte Systeme
- Autorisierungsmethoden: ACLs, Role-Based Access Control (RBAC), Attribut-basierte Zugriffssteuerung (ABAC)
- Zweifaktor-Authentifizierung (2FA) erhöht die Sicherheit
- Single Sign-On (SSO) zur Vereinfachung der Nutzerauthentifizierung
Datenverschlüsselungstechniken
Definition:
Datenverschlüsselungstechniken: Verschlüsselungsverfahren zum Schutz der Datenintegrität und Vertraulichkeit in Mainframe-Systemen.
Details:
- Symmetrische Verschlüsselung: Gleicher Schlüssel für Ver- und Entschlüsselung, z.B. AES, DES
- Asymmetrische Verschlüsselung: Paar aus öffentlichem und privatem Schlüssel, z.B. RSA
- Hashing: Einwegfunktion zur Datenauthentifizierung, z.B. SHA-256
- Hybridverfahren: Kombination aus symmetrischer und asymmetrischer Verschlüsselung
- Schlüsselaustausch: Verfahren zur sicheren Schlüsselübertragung, z.B. Diffie-Hellman
Performanz- und Skalierbarkeitsaspekte
Definition:
Kurze Übersicht über die Bedeutung und Notwendigkeit von Performanz- und Skalierbarkeitsanalysen in Mainframe-Systemen.
Details:
- Performanz: Messung und Optimierung der Ausführungszeiten von Programmen
- Skalierbarkeit: Fähigkeit eines Systems, mit wachsendem Arbeitsaufkommen umzugehen
- Wichtige Metriken:
- Antwortzeit
- Durchsatz
- CPU-Auslastung
- Speichernutzung
- Techniken zur Verbesserung:
- Lastverteilung
- Caching
- Parallelisierung
Best Practices für die Mainframe-Programmierung
Definition:
Bewährte Verfahren zur effizienten und fehlerfreien Programmierung von Mainframe-Systemen.
Details:
- Code Lesbarkeit: Klar, kommentiert und konsistent.
- Modularisierung: Funktionen und Prozeduren modularisieren.
- Fehlerbehandlung: Robuste Fehlerprüfung und -behandlung implementieren.
- Ressourcenmanagement: Effiziente Nutzung von CPU und Speicher, z.B. durch optimierte Schleifen und Datenstruktur.
- Dokumentation: Umfangreiche und aktuelle Dokumentation.
- Versionierung: Nutzung von Versionskontrollsystemen.
- Sicherheit: Sichere Programmierung z.B. durch Validierung von Eingaben.
- Testen: Regelmäßige und umfassende Tests, inklusive Lasttests.