Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
wiki:software:beuthbot:berichte:ws2020:zwischen:geplanter-stand-preambel [22.11.2020 21:28] Dennis Walz |
wiki:software:beuthbot:berichte:ws2020:zwischen:geplanter-stand-preambel [25.11.2020 02:12] (aktuell) Lukas Danke |
||
---|---|---|---|
Zeile 2: | Zeile 2: | ||
===== Präambel ===== | ===== Präambel ===== | ||
- | Neben einigen | + | Neben einigen |
==== Content First ==== | ==== Content First ==== | ||
- | Der BHT-Bot besteht bisher aus lediglich zwei Services, die Content zur Verfügung stellen: Mensa- und Wetter-Service. Aufgrund der Covid19-Pandemie | + | Der BHT-Bot besteht bisher aus lediglich zwei Services, die Content zur Verfügung stellen: Mensa- und Wetter-Service. Aufgrund der Covid19-Pandemie |
==== Hands-On & Dokumentation ==== | ==== Hands-On & Dokumentation ==== | ||
- | Wenn man neu in ein Projekt kommt gibt es viel Dokumentation aufzuarbeiten, | + | Wenn man neu in ein Projekt kommt gibt es viel Dokumentation aufzuarbeiten, |
Ohne einen persönliche Hands-On-Workshop ist eins der größten Probleme um ins Projekt zu finden, dass es verschiedene Stellen gibt, an denen Dokumentation, | Ohne einen persönliche Hands-On-Workshop ist eins der größten Probleme um ins Projekt zu finden, dass es verschiedene Stellen gibt, an denen Dokumentation, | ||
Zeile 16: | Zeile 16: | ||
==== Redundanter Code / Wartbarkeit der Microservices ==== | ==== Redundanter Code / Wartbarkeit der Microservices ==== | ||
Beim Studium der einzelnen Services wurde sichtbar, dass fast ausnahmslos jeder Service des BHT-Bot die gleiche Grundstruktur hat: Alle Services stellen eine JSON-REST-Schnittstelle zur Verfügung, die via NodeJS + Express Framework implementiert ist. Vergleicht man die Services, sieht man, dass insbesondere Services, die Inhalte ausspielen sollen einer identischen Struktur folgen (müssen), dies aber individuell handhaben. Dadurch ist der Boilerplate Code für jeden Service unnötig hoch und zugleich ist das Warten der Services bei Änderung von globalen Schnittstellen mit hohem individuellen Aufwand verbunden. Wir wollen diese Common-Funktionalitäten identifizieren und in zentralen Bibliotheken bzw. Frameworks bündeln. | Beim Studium der einzelnen Services wurde sichtbar, dass fast ausnahmslos jeder Service des BHT-Bot die gleiche Grundstruktur hat: Alle Services stellen eine JSON-REST-Schnittstelle zur Verfügung, die via NodeJS + Express Framework implementiert ist. Vergleicht man die Services, sieht man, dass insbesondere Services, die Inhalte ausspielen sollen einer identischen Struktur folgen (müssen), dies aber individuell handhaben. Dadurch ist der Boilerplate Code für jeden Service unnötig hoch und zugleich ist das Warten der Services bei Änderung von globalen Schnittstellen mit hohem individuellen Aufwand verbunden. Wir wollen diese Common-Funktionalitäten identifizieren und in zentralen Bibliotheken bzw. Frameworks bündeln. | ||
+ | |||
+ | Bei allem was wir tun und Planen gilt die alte Pfadfinder-Regel: | ||
==== Qualitätsmanagement ==== | ==== Qualitätsmanagement ==== | ||
Zeile 28: | Zeile 30: | ||
{{page>: | {{page>: | ||
+ | |||
+ | {{ : | ||
===== Architektur ===== | ===== Architektur ===== | ||
- | Die Architektur-Entscheidungen orientieren sich an der bisherigen Infrastruktur. Durch die Verwendung der gleichen Programmiersprachen und Technologien wird der Wartbarkeit gewährleistet und insbesondere die Abstraktion von Common-Funktionalitäten in Libraries begünstiget. | + | Die Architektur-Entscheidungen orientieren sich an der bisherigen Infrastruktur. Durch die Verwendung der gleichen Programmiersprachen und Technologien wird Wartbarkeit gewährleistet und insbesondere die Abstraktion von Common-Funktionalitäten in Libraries begünstiget. |
- | - Alle Features werden als Microservice-Architektur konzipiert | + | |
- | - Microservices werden via Docker Container betrieben | + | |
- | - Docker Container werden via docker-compose orchestriert | + | |
- | - Microservices kommunizieren via REST-Schnittstellen innerhalb des Docker-Network | + | |
- | - Services werden in Javascript geschrieben | + | |
- | - Libraries und Frameworks werden in Typescript geschrieben | + | |
- | {{page>: | + | |
+ | Dies bedeutet für den BHT-Bot: | ||
+ | * Alle Features werden als Microservice-Architektur konzipiert | ||
+ | * Microservices werden via Docker Container betrieben | ||
+ | * Docker Container werden via docker-compose orchestriert | ||
+ | * Microservices kommunizieren via REST-Schnittstellen innerhalb des Docker-Network | ||
+ | * Services werden in Javascript geschrieben | ||
+ | * Libraries und Frameworks werden in Typescript geschrieben | ||
+ | {{page>: | ||
+ | < | ||
===== Aufgaben Spezifikation ===== | ===== Aufgaben Spezifikation ===== | ||
{{page>: | {{page>: |