Wir haben uns zunächst für eine Lösung entschieden, die auf Node.JS
und Express.js basiert, einer Javascript-Version, die auf dem
Backend ausgeführt werden kann. Dieser Ansatz ermöglichte es, für
das Front- und Backend der Anwendung einen einheitlichen
Programmieransatz zu verwenden. Das Website-Frontend verwendete HTML
mit CSS und Javascript, eingebettet in ejs (Express
Javascript-Dateien), um interaktive Webseiten zu erstellen, die in
der Lage sind, aktualisierte Daten zu sammeln, zu übermitteln und
anzuzeigen. Dies wurde in der IDE IntelliJ von JetBrains
programmiert. In der Prototyp-Phase wurden die Daten von den Seiten
mit HTTP-POST-Befehlen an den Server gesendet und mit HTTP-GET
abgerufen, wobei beabsichtigt war, dies durch Websockets zu
ersetzen. Die Daten wurden auf dem Server über Mid-ware verarbeitet
und in einer MongoDB-Datenbank mit Monk als Mid-ware gespeichert, um
die Handhabung zu verbessern. Die Ausgabe des Protokolls erfolgte
über eine JSON-String, da dies von MongoDB nativ verwendet wird. Da
Node.JS kostenlos ist und auf jeder Plattform läuft, wurde es als
eine gute Lösung für unser Projekt angesehen.
Wir kamen an
einen Punkt, an dem wir beschlossen, unsere Lösung zu ändern, um die
Zusammenarbeit zwischen den Projektunterteams zu vereinfachen. Da
Javascript neu für unsere Teams war, gingen wir in Visual Studios
2019 zur Verwendung von C# über, da C# eine modifizierte Form der an
der HS Karlsruhe gelehrten Programmiersprachen C/C++ ist. Diese
Ähnlichkeit trug zur Arbeitserleichterung bei. Wir fanden auch einen
Beispielcode, der viele Prototyp-Funktionen für die Tools
bereitstellte, die wir implementieren mussten, einschließlich einer
vorgefertigten Logging-Bibliothek. Auf dem Server laufen C# und
ASP.net. Die protokollierten Daten werden lokal auf dem Server als
Textdatei gespeichert. Die Übertragung von Daten zwischen den
Webseiten und dem Server erfolgt über HTTP-Befehle. Der Server wird
unter Windows durch die Implementierung eines IIS-Servers gehostet.
|