FB 4 - Wirtschaftsinformatik
Verteilte Anwendungen
SS 2020
Home
Copyright
Version 04.07.2020
Prüfung
Titel 1 Folie/Seite 2 Folien/Seite Video
Begrüßung
- nix -
- nix -
Leistungsnachweis

Inzwischen ist diese Seite fertig, daher werden das Blaue und die Sternchen entfernt, alles ist gültig.

Folien

Einige der PDF-Dateien sind bis zu 4 Mbyte groß. Andere Foliensätze sind verschlüsselt; hier gibt es Informationen dazu.

Zusammen mit den Folien gibt es Mitschnitte, die zwischen 100 und 300 MByte groß sind. Als Formate wird das mp4-Format angeboten. Das Abspielen unter Windows/Linux/Mac geht am besten mit dem VLC-Player .

Die folgende Tabelle mit Folien gilt nur für Variante A und ist eine Wiederholung aus Webtechnologien und Rechnernetze aus den letzten Semestern:

Titel (A)
1 Folie/Seite
2 Folien/Seite
Video
HTTP
mp4
Installation
Entwicklung
PHP-7.0 Teil1
PHP-7.0 Teil2
PHP-7.0 Teil3
PHP-7.0 Teil4
JavaScript-Teil1
JavaScript-Teil2
JavaScript-Teil3
JavaScript-Teil4

Der 4. JavaScript-Teil behandelt den Aufbau einer in dieser Veranstaltung zu benutzenden Routine für die Variante A.

Zur Einführung von Python (Variante B und C) gibt es die folgenden Foliensätze samt Videos:

Titel (B+C)
1 Folie/Seite
2 Folien/Seite
Video
Einführung
Objekte
Threads
Netzwerk

Die nun folgenden Folien samt Videos beziehen sich auf den theoretischen Teil (Vorlesung).

Titel (B+C)
1 Folie/Seite
2 Folien/Seite
Video
Einführung
Prozesse
Synchronisaton
IPC
Nachrichten
RPC -Teil 1
RPC -Teil 2
Namen
REST-Teil1
REST-Teil2
OAuth

Fragebögen
  1. Einführung
  2. Prozesse/Threads
  3. Synchronisation
  4. Interprozess-Kommunikation
  5. RPC - Teil 1
  6. RPC - Teil 2
  7. Namen-Repository
  8. REST
  9. OAuth
Übungen

Variante A

Es gibt folgende fertige netbeans-Projekte, die bei der Lösung der Aufgabenblätter das Leben vereinfachen, aber nicht immer benötigt werden.

Bei einigen Projekten unterscheidet sich der Pfadname von htdocs bei Windows (C:\xampp\htdocs) und Linux (/opt/lampp/htdocs/). Dieser Teil der Pfade muss eventuell in den Projekt-Properties geändert werden.

Im JavaScript-Teil4 wird der Source-Code des Ajax-Console-Projekts und damit die Funktionsweise erläutert. Dieses Projekt können Sie als Ausgangspunkt benutzen.

Variante B und C

Alle Übungen können mit unter Windows gemacnht werden, nur bei der letzten K3 gibt es Probleme. Ab Übung 4 ist eine virtuelle Maschinen mit Linux nach Ihrem Geschmack ganz gut; dazu ist Python, Thonny und Ihre Lieblings-IDE erforderlich.

Für die Übungen ab Blatt 4 ist als Start eine Implementierung eines UDP- (und später TCP-)Echo-Servers samt Client notwendig. Dies wird in der Python-Einheit über die Netzwerk-Programmierung erklärt. Die Implementierung dazu kann hier heruntergeladen werden.

Variante A, B und C

Erläuterungen zu den Aufgabenblättern:

Titel
1 Folie/Seite
2 Folien/Seite
Video
S1
S2
Nr Aufgabenblatt A B C
0
Vorbereitung (B,C)
0
0
S*
Software-Entwurf (A,B,C)
OK
2
2
S2
Directory-Server
Es gibt dazu das PHPUnit-netbeans-Projekt (A)
OK
1
Einführung in Python
Python-Skelett, Datenfile (B,C)
2
2
2
Objektorientierung (B,C)
2
2
3
Threads*
Primzahlen-echt, Primzahlen-fake
4
4
4
Directory-Server, Teil 1
4
4
5
Directory-Server, Teil 2
6
6
K1
Chat-Server, Teil 1
6
K2
Chat-Server, Teil 2
6
K3
Repliziertes Filesystem
8

Tipps

Dateizugriff aus PHP heraus (Variante A)

Ein relativer Dateiname (also nicht mit / beginnend) wird relativ zur Wurzel der Projektdateien erwartet, d.h. bei dem Projektordner Test03 wird die Datei "data/logger.dat" als ".../htdocs/Test03/data/logger.dat" angelegt.

Beachten Sie dabei, dass der Web-Server (Apache) nicht unter Ihrer User-ID läuft, so dass ein Ordner, den Sie unter Student anlegen, nicht die notwendigen Rechte dem Apache-Server zum Anlegen einer Datei gibt. Aber genau dies tun Sie innerhalb PHP. Mit "chmod 666 <Ordner>" geben Sie der Welt und damit auch dem Apache den Ordner zum Schreiben frei.

Derartige Fehler finden Sie recht schnell, wenn Sie sich die Log-Dateien des Apache und des PHP-Interpreters ansehen.

Arbeiten mit dem Firefox (Variante A)

Wenn Sie dann verschiedene Versuche mit unterschiedlichen JavaScript-Dateien ausprobieren, sollten Sie, wenn der Eindruck entsteht, dass sich nach einer Änderung in den JavaScript-Dateien trotzdem nichts ändert, die neueste Chronik löschen (Strg-Umschalt-Entf), denn der Firefox versucht zu optimieren, indem er die vermeintlich korrekten alten Versionen der JavaScript-Dateien aus einem internen Cache holt. Dieser wird durch das Löschen der Chronik auch gelöscht.