Um die Funktionsweise des in dieser Thesis entwickelten Connection Managers und der zugehörigen Komponenten zu demonstrieren, wurde eine Applikation entwickelt, die als beispielhafter Rahmen die Single-Page-Webapplikation "DC/OS UI" ersetzt, in die der Connection Manager implementiert wurde.
Zu Demonstrationszwecken ist es ausreichend den Connection Manager in einer abstrahierten und reduzierten Rahmenapplikation zu zeigen.

Zur installation dieser Applikation wird zunächst das Repository geklont und npm install ausgeführt. node und npm sollten in einer aktuellen version installiert sein.
Nachdem die app installiert ist kann ueber npm run bundle der Code compiliert werden. Danach kann der html Ordner über einen beliebigen Webserver ausgeliefert werden. Soweit python installiert ist, kann dies bspw. ueber den befehl python3 -m http.server geschehen
Dieses Repository installiert die Pakete @dcos/connection-manager und @dcos/connection aus den von mir für diese Thesis erstellten Forks
Die Forks wurden erstellt, da die beiden Originalrepositories mittlerweile bereits in DC/OS UI integriert wurden und ich für die Thesis an einigen Stellen den Code etwas anpassen musste. Auf diese Weise wurden Konflikte mit den Entwicklungen in DC/OS UI vermieden.
Diese beiden oben genannten Forks sind zusammen mit der datei src/Authenticator/Authenticator.js der eigentliche Inhalt meiner Thesis, die "Thesis-App" (app.js und src/Util/Util.js) dient lediglich der Demonstration der beiden Komponenten. Die Bibliothek immutable wurde lediglich verwendet und ist ebenfalls nicht von mir erstellt.
Der Authenticator ist noch nicht in DC/OS UI implementiert.
Daher habe ich für diese Thesis eine einfache Implementierung erstellt, die über Browserausgaben (console.log) einige Protokolle ausgibt.
Die Thesis-App kann verwendet werden, um mit Hilfe der Browsertools einige Szenarien nachzustellen, die für eine Verbindungsverwaltung kritisch werden können.
Am einfachsten lässt sich die App über den Webbrowser Chrome verwenden, da dieser aktuell die besten Dev Tools zur Verfügung stellt
Der Authenticator gibt über die Konsole der DevTools einige nützliche Informationen aus.

Über den Network Tab lassen sich die einzelnen Requests nachverfolgen und über die Einstellungen lässt sich außerdem eine schlechte Verbindung simulieren

Es ist ratsam, die Verbindung auf "Slow 3G" zu stellen, da sonst durch die schnelle Netzwerkverbindung das Nachvollziehen der Requests erschwert wird.
Über dieses Formular lässt sich ein Login simulieren. Die Token lifetime simuliert die Laufzeit eines Tokens. Diese Requests haben immer die Prioritaet 4.
Über dieses Formular lassen sich in gegebenen Abständen (interval) Requests mit zufälligen Prioritäten (min prio und max prio) abschicken.
keep queue shortverhindert ein Überfluten der Warteschlange mit Requests (Max 10)increase prioerhöht die Priorität eines requests, wenn er nach 60 Sekunden noch nicht gestartet wurde
Über dieses Formular lassen sich manuell Requests hinzufügen.
filegibt an welche Datei geladen werden sollpriogibt die Priorität des requests anopen?gibt an, ob der request direkt gestartet wird (nicht verwaltet!)add?gibt an, ob der request dem Connection Manager übergeben werden sollcancel, if not started?gibt an, ob der request abgebrochen werden soll, wenn er nach einer angegebenen Zeitspanne nicht gestartet wurdecancel afterdefiniert den Zeitraum, nach der der request gestoppt wirdwaiting/ttfb/complete: s / s / sgibt die Zeiten an, die der request gewartet hat / auf das erste byte warten musste, bis er fertig war
Über dieses Formular lässt sich die Priorität des angegebenen Requests ändern
priogibt die neue Priorität an
Gibt an, wie viele Verbindungen gerade offen sind
Gibt an, wie viele Requests gerade in der Warteschlange sind.