FB 4 - Wirtschaftsinformatik
Verteilte Anwendungen
SS 2018
Home
Copyright
Version 26.03.2020
Prüfung

Wenn die Klausur geschrieben wird, gelten nur die Übungspunkte, die Sie bis zu diesem Zeitpunkt bekommen haben, ein Nachreichen weiterer Lösungen ist nicht möglich. Beachten Sie dazu die Ausführungen im Leistungsnachweis.

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 50 und 200 MByte groß sind. Als Formate wird das mp4-Format angeboten. Das Abspielen unter Windows/Linux/Mac geht am besten mit dem VLC-Player .
In der Video-Version ist ein Video des Dozenten rechts unten klein eingeblendet, in der Version "Nur Ton" fehlt dies, was die Dateien kleiner macht.

Die folgenden Foliensätze sind eine Wiederholung aus Webtechnologien und Rechnernetze aus den letzten Semestern:

Titel
1 Folie/
Seite
2 Folien/
Seite
HTTP
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.

Titel
1 Folie/
Seite
2 Folien/
Seite
Einführung
Aufgaben-1
Aufgaben-2
Verfeinerung
Prozesse
Synchronisaton
IPC
Nachrichten
RPC -Teil 1
RPC -Teil 2
Namen
REST-Teil1
REST-Teil2
OAuth
-nix-
-nix-
XML
RPC-SOAP
UDDI-WSDL
SOA

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
  10. XML
  11. Webservices 1
  12. Webservices 2
  13. SOA
Übungen

Die Übungen werden am besten mit einer virtuellen Maschine gemacht, die unter VirtualBox läuft. Hier stehen dazu die Informationen. Es sind einige Vorarbeiten notwendig, die im Arbeitsblatt 0 beschrieben werden.

Damit Sie ein verteiltes System bekommen, benötigen Sie auch mehrere Rechner. Das könnten Sie mit mehreren virtuellen Maschinen auf einer realen Maschine simulieren, doch dies wird sehr langsam sein. Normalerweise benötigen Sie drei reale Maschinen; daher ist das Arbeiten im Labor zu empfehlen. Im A 209L stehen auf jedem Rechner 200 GB Platte, 8 GB RAM und eine CPU mit mehreren Kernen und mit Hardware-Beschleuniger zur Verfügung.

Arbeiten mit Rechnern des Labors A 209L

Lesen und beachten Sie die Ausführungen in dem vorbereitenden Arbeitsblatt 0.

Arbeiten mit eigenen Rechnern nicht in der HTW

Hier können Sie schalten und walten, wie Sie wollen; siehe dazu auch die Hinweise und Warnungen auf der Download-Seite. Ein Ablauf könnte so aussehen:

  1. Kopieren der Maschine aus dem Labor auf Memory-Stick (USB 3.0, ca. 15 GB). Dann unter einem sinnvollen Ordnernamen auf die eigene Platte kopieren.
  2. virtualbox aufrufen und importieren (Menue Maschine>Hinzufügen)
  3. Die Maschinen sind für den Bridge-Modus-Modus konfiguriert. Eine WLAN-Benutzung ist nicht konfiguriert, so dass dafür einiges nachinstalliert und konfiguriert werden muss. Besser Sie arbeiten mit Kabeln.

Arbeiten mit eigenen Rechnern im Labor A 209L

Leider können nur wenige Übungen mit einem Laptop im WLAN der HTW durchgeführt werden, da der NAT-Modus (der dort erforderlich ist) keinen Serverbetrieb erlaubt. Es ist aber möglich mit einem Switch im Labor den Laptop ans Ethernet anzuschließen, was das vollständige Arbeiten im Bridged-Modus erlaubt. Der Laptop arbeitet dann als gleichberechtigter Rechner im Labor. Das einfache Anschließen eines Laptops an das Ethernet funktioniert aber nur im Labor A 209L, sonst in der HTW nicht.

Nun zu den Übungsblättern:

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

Bei den mit (*) gekennzeichneten 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. Das PHPUnit-Projekt (**) läuft nur mit der Development-Version von Netbeans, nicht mit Version 8.2.

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; alternativ können Sie jQuery oder ein anderes Framework benutzen.

In den virtuellen Maschinen sind alle Projekte sowie beide Netbeans-Versionen (die zweite wird für PHPUnit benötigt) installiert.

  1. Vorbereitung - 0 Punkte
  2. Software-Entwurf - 1 Punkt
  3. Directory-Server - 4 Punkte
    Es gibt dazu das (verbesserte) PHPUnit-netbeans-Projekt
  4. Chat-Server - 5 Punkte
  5. Chat-Server-HCI - 5 Punkte
  6. Verteilte Primzahlen - 5 Punkte
    Es gibt dazu noch ein netbeans-Projekt.
  7. WebDAV - 3 Punkte (Freiwillige Zusatzaufgabe)

Wer nur eine 3.7 haben will, muss die Aufgaben 1 (A1) und 2 (A2) bearbeiten.

Tipps

Dateizugriff aus PHP heraus

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

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.