*Meeting-Zusammenfassung für Business Programming 2 (BP2), WS 2024/25 (2024-12-13)*
*Kurze Zusammenfassung*
In dieser Schulungseinheit behandelte Rony die Erstellung grafischer Benutzeroberflächen (GUIs) mit
Java, einschließlich grundlegender Konzepte, Ereignisbehandlung und Layout-Management. Er erklärte
auch die Grundlagen der Socket-Programmierung und Internetkommunikation, wobei er auf IP-Adressen,
Ports und sichere Verbindungen einging. Abschließend wurden praktische Probleme bei der Installation
und Ausführung von Programmen auf verschiedenen Betriebssystemen besprochen und Lösungsansätze
vorgestellt.
*Nächste Schritte*
• Rony: Die Ursache für den Fehler bei der SSL/TLS-Verbindung recherchieren und der Klasse per
E-Mail über die Google Groups Liste mitteilen.
• Noah: Das Rex-Programm und die vollständige Fehlermeldung per E-Mail an Rony senden.
• Weiler: Basf or Rex und Java deinstallieren, dann die 64-Bit-Version von Orex neu installieren und
testen.
• Alle Studenten: Eine möglichst kurze Beispielaufgabe für Socket-Programmierung bis zum nächsten
Mal gemeinsam zu zweit erstellen.
• Rony: Elisabeth zur Google-Gruppe hinzufügen.
• Rony: Übergang von Google Groups zu Mailman im Laufe der Lehrveranstaltung vorbereiten.
*Zusammenfassung*
*Java GUI Entwicklung Grundlagen*
In dieser Einheit geht es um die Erstellung grafischer Benutzeroberflächen (GUIs) mit Java, wobei
Rony die Grundkonzepte und Vorteile erklärt. Er betont die plattformübergreifende Nutzbarkeit von
Java-GUIs und erläutert die Funktionsweise des Abstract Window Toolkit (AWT). Rony geht auch auf die
technischen Aspekte von Bildschirmen, Eingabemethoden und die Entwicklung der Grafikauflösung ein.
Er erwähnt, dass die Teilnehmer bisher keine Erfahrung mit GUI-Programmierung haben, was die
Relevanz dieser Einheit unterstreicht.
*Java GUI-Entwicklung Mit Rony*
Rony erläutert die Bedeutung von Farbe in der digitalen Bilddarstellung und erklärt den Unterschied
zwischen Schwarz-Weiß- und Farbbildschirmen hinsichtlich des Speicherbedarfs. Er geht auf die
Funktionsweise von GUI-Komponenten in Java ein, einschließlich Container, Fenster und
Layout-Manager, und betont die Vorteile der objektorientierten Programmierung bei der
GUI-Entwicklung. Abschließend demonstriert Rony anhand eines einfachen Java-Programms die Verwendung
der Frame-Klasse und erklärt den Aufbau eines grundlegenden GUI-Fensters.
*Java GUI Ereignisse Und Listener*
Rony erläutert die Konzepte von GUI-Ereignissen und Listenern in Java, einschließlich Action Events,
Key Events und Mouse Events. Er erklärt, wie Interface-Klassen für Listener definiert werden und wie
sie in Java-Programmen implementiert werden müssen. Rony betont die Bedeutung des GUI-Threads und
warnt vor möglichen Problemen, wenn dieser blockiert wird. Abschließend weist er auf besondere
Überlegungen hin, die bei der Verwendung von Java GUIs in Rex-Programmen berücksichtigt werden müssen.
*Java vs Rex Programmierung*
Rony erklärt den Unterschied zwischen Java- und Rex-Programmierung für die Erstellung von
Benutzeroberflächen. Er demonstriert die Verwendung von Adapterklassen und Layoutmanagern in Java
sowie die Einbettung von Rex-Objekten in Java-Objekte. Rony betont die Wichtigkeit des
Multi-Threading-Konzepts und zeigt, wie man das Hauptprogramm in Rex anhält, um das GUI sichtbar zu
halten.
*Socket-Programmierung Grundlagen*
Rony erklärt die Grundlagen der Socket-Programmierung und Internetkommunikation, indem er eine
Analogie zur historischen Telefonvermittlung zieht. Er beschreibt, wie die Konzepte von Sockets und
Verbindungen aus der Telefoniewelt auf die moderne Netzwerktechnologie übertragen wurden. Rony
betont die Wichtigkeit des Verständnisses dieser Konzepte für die Java-Programmierung und kündigt
an, dass die Teilnehmer in kommenden Übungen selbst Socket-Programmierung durchführen werden.
*IP-Adressen Und Ports Erklärt*
Rony erläutert die Funktionsweise von IP-Adressen und Ports im Internet. Er erklärt die Bedeutung
von Wellnown Ports, die Struktur von IPv4- und IPv6-Adressen sowie die Verwendung von Domain-Namen.
Rony geht auch auf die Java-Klasse InetAddress ein, die zur Handhabung von IP-Adressen verwendet wird.
*Java Netzwerkprogrammierung Grundlagen*
Rony erklärt die Grundlagen der Netzwerkprogrammierung in Java und Rex, einschließlich der
Verwendung von Socket- und ServerSocket-Klassen für die Client-Server-Kommunikation. Er
demonstriert, wie man Verbindungen herstellt, Daten sendet und empfängt, und erläutert die Bedeutung
von Kommunikationsprotokollen im Internet. Rony zeigt praktische Beispiele für einen einfachen
Server und Client in Java sowie eine ähnliche Implementierung in Rex, wobei er die Unterschiede und
Gemeinsamkeiten zwischen den beiden Ansätzen hervorhebt.
*Java-Kryptographie-Infrastruktur*
Rony erklärt, dass Server und Client in verschiedenen Programmiersprachen wie Java und Rex
miteinander kommunizieren können, solange sie das gleiche Protokoll verwenden. Er betont die
Wichtigkeit von Sicherheit bei der Datenübertragung und führt SSL/TLS als Lösung ein. Rony
demonstriert die Verwendung von Java-Kryptographie-Infrastruktur und erklärt die Notwendigkeit von
Zertifikaten für sichere Verbindungen. Er weist auf die Unterschiede in der Konfiguration zwischen
Server und Client hin und betont die Bedeutung der korrekten Einrichtung für eine erfolgreiche
Verbindung.
*BASF Java Installation Issues*
In der Sitzung werden Installationsprobleme mit BASF und Java auf verschiedenen Windows-Versionen
besprochen. Rony bittet Weiler und Jovana, ihre BASF-Logdateien per E-Mail zu senden, um die genauen
Probleme zu identifizieren. Es wird auch eine Aufgabe für das nächste Mal gestellt: Die Teilnehmer
sollen in Zweiergruppen kurze Beispiele für Socket-Programmierung erarbeiten. Zudem wird die
Verwendung von Google Groups für die Kommunikation diskutiert, mit dem Plan, später auf Mailman
umzusteigen.
*Rex-Programm-Installation Und Ausführungsprobleme.*
Rony unterstützt mehrere Teilnehmer bei Problemen mit der Installation und Ausführung von
Rex-Programmen auf verschiedenen Betriebssystemen. Weiler hat anhaltende Schwierigkeiten mit einer
Fehlermeldung, während Jovana das Problem erfolgreich löst. Noah berichtet von Problemen mit
unerkannten Direktiven und wird gebeten, das Programm und die genaue Fehlermeldung per E-Mail zu
senden. Rony erklärt spezifische Probleme und Lösungsansätze für Mac-Benutzer bei der Ausführung von
GUI-Programmen.
Mit KI generierte Inhalte können unzutreffend oder irreführend sein. Überprüfen Sie Inhalte immer
auf Ihre Genauigkeit.
--
--
__________________________________________________________________________________
Prof. Dr. Rony G. Flatscher, iR
Department Wirtschaftsinformatik und Operations Management
WU Wien
Welthandelsplatz 1
A-1020 Wien/Vienna, Austria/Europe
http://www.wu.ac.at
__________________________________________________________________________________
Liebe Studierende,
hier die Zoom-Aufzeichnung zur 2. LV-Einheit!
* 2024-12-13, GUI-Programmierung (awt):
<https://zoom.us/rec/share/uQRgPOXt95JdI_DzTpNgNF19L0ewlCL1Gl4FDZZP5Xt7gDCL8…>
* 2024-12-13, Socket-Programmierung, SSL/TLS:
<https://zoom.us/rec/share/uQRgPOXt95JdI_DzTpNgNF19L0ewlCL1Gl4FDZZP5Xt7gDCL8…>
Ein Hinweis zum nichtfunktionierenden SSL/TLS-Beispiel: hier habe ich einen Usabilityfehler
begangen, der von niemanden bemerkt wurde. Im ersten Fenster wurde der SSL/TLS-Server gestartet und
im zweiten Fenster versehentlich auch, was aber zu einem Fehler führt, weil der Port 9999 bereits
belegt ist. Wenn man stattdessen den SSL/TLS-Client startet, funktioniert auch diese Variante!
Mit freundlichem Gruß
Rony G. Flatscher
--
--
__________________________________________________________________________________
Prof. Dr. Rony G. Flatscher, iR
Department Wirtschaftsinformatik und Operations Management
WU Wien
Welthandelsplatz 1
A-1020 Wien/Vienna, Austria/Europe
http://www.wu.ac.at
__________________________________________________________________________________
--
You received this message because you are subscribed to the Google Groups "aj2024w_wu_bp2" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
aj2024w_wu_bp2+unsubscribe(a)googlegroups.com.
To view this discussion visit
https://groups.google.com/d/msgid/aj2024w_wu_bp2/775bb1c6-1e3c-458e-b8eb-1c…
<https://groups.google.com/d/msgid/aj2024w_wu_bp2/775bb1c6-1e3c-458e-b8eb-1c…>.
For more options, visit https://groups.google.com/d/optout.