wiki.ziemers.de

ziemer's informatik Wiki

Benutzer-Werkzeuge

Webseiten-Werkzeuge


wiki:software:beuthbot:berichte:ws2020:zwischen:geplanter-stand-features:bot49

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
wiki:software:beuthbot:berichte:ws2020:zwischen:geplanter-stand-features:bot49 [22.11.2020 16:09]
Robert Xaver Halwaß angelegt
wiki:software:beuthbot:berichte:ws2020:zwischen:geplanter-stand-features:bot49 [24.11.2020 20:52] (aktuell)
Dennis Walz [Tabelle]
Zeile 1: Zeile 1:
-| BOT-43Erstellung eines Common-Frameworks für (Content-)Services                                                                          || +| BOT-49User-Messenger-Service: Nachricht proaktiv, requestunabhängig an Clients senden                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               || 
-Services im BHT-Bot kommunizieren alle über REST-SchnittstellenDiese sind alle als Express-Anwendung mit JSON-Kommunikation implementiert, was für viel Code-Redundanz führt. Gleichzeitig benutzt kein Service strukturierte Darstellungen der Schnittstellenwie Anfragen und Antworten zum Gateway, User Daten oder Rasa-Intents.  \\   Ein spezieller, repititiver, Unterfall der Microservices sind solche, die Content bereitstellen. Diese erhalten alle Nachrichten vom Gateway und senden ihre antworten auch dort wieder zurück. Request- und Response sind durch das Gateway definiert, die resultierende Struktur ist entsprechend für alle Contentservices prinzipiell Identisch\\   Zur Vermeidung von Code-Redundanzen und Erleichterung des "Kick-Off" eines neuen Content-Services sollen die Common Funktionen und Entitäten in ein Framework gegossen werden                                                                               || +Der BHT-Bot kann bisher nur passiv auf Anfragen warten und diese dann beantwortenZur Implementierung von asymmetrischer bzw. request-unabhängiger Kommunikation benötigt der Bot einen neuen Service, der als Schnittstelle für diese Art von Kommunikation dient                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 || 
-| Initiale Schätzung       1                                                                 +| Initiale Schätzung                                                                                                                                                                                                                                                    2.5 Tage                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
-| Technologien             | * Javascript \\ * Typescript \\ * Dockerfile  +| Technologien                                                                                                                                                                                                                                                          | * Javascript \\ * Websockets \\ * Docker                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
-| Abhängigkeiten           | * BOT-37                                        +| Abhängigkeiten                                                                                                                                                                                                                                                        | * BOT-30                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
-| Anforderungen            | * Das Framework implementiert eine NodeJS Express REST-API, äquivalent zu den existierenden Content-Services  \\ * Das Framework lässt sich in NodeJS Anwendungen via Dependency-Management einbinden (npm/yarn)  \\ * Das Framework abstrahiert den (Express) Server und dessen Routingso dass ein Contentservices nur noch die Response implementieren muss  \\ * Das Framework implementiert die Schnittstelle zum Datenbankservice um aUserdaten zu speichern/abzurufen und b) eigene Daten zu speicher und abzurufen  \\ * Das Framework füllt die “debug-history” der Requests so, dass ein Service dieses Feature zwangsweise implementiert / nutzt  \\ * Requests, Responses, User, Rasa-Intents und ggf. weitere Entitäten werden durch das Framework als typisierte (typescriptObjekte definiert  \\ * Das Framework wird in allen bestehenden und geplanten Content-Services implementiert: Wetter, Mensa, Reminder  \\ * Die Nutzung des Frameworks ist verständlich dokumentiert  \\ * Die Contribution wird mittels Linting, Dokumentation und Build-Scripts erleichtert  \\ * Das Framework nutzt types aus der (noch zu entwickelndeBHT-Bot Library um Redundanzen zwischen Client-Bibliothem und Service-Framwork zu vermeiden +| Anforderungen                                                                                                                                                                                                                                                         | * Der User-Messenger-Service kann eine Nachricht an einen User (via Client-Unabhängiger User-IDsenden  \\ * Wenn ein User mehrere Clients benutztwird die Nachricht an alle Clients gesendet  \\ * Wenn ein User (über längere Zeitnicht erreichbar ist wird die Kennung entfernt  \\ * Wenn eine Nachricht nicht an einen User gesendet werden kann bekommt der auslösende Service diese Information unterscheidbar zwischen a) Der Nutzer ist gerade nicht erreichbar b) Der Nutzer ist dauerhaft nicht erreichbar (gelöschtc) Der Dienst ist generell unhealthy  \\ * Der Service wird als Docker Image via docker-compose in die BHT-Bot Infrastruktur integirert. Er ist Teil des BHT-Bot Repositories  \\ * Die Funktionalität des Services wird auf Clientseite in die Common-Chatbot-Library (BOT-30)   \\ * Alle bestehenden ChatBot-Services werden an den Messenger Service angebunden (Telegram, Discord 
-| Tasks                    | * BOT-44 Common Code, Features, Entitäten identifizieren -> Use Case ableiten \\ * BOT-45 Typisiertes Javascript Framework erstellen \\ * BOT-46 Framework einbinden in Weather Service \\ * BOT-47 Framework einbinden in Mensa Service \\ * BOT-48 Framework einbinden in Reminder Service \\ * BOT-108 Framework dokumentieren \\ * BOT-117 Request History implementieren - Nutzung enforcen                                                  | +| Tasks                                                                                                                                                                                                                                                                 | * BOT-50 Websocket Registry für ChatBotClients \\ * BOT-51 REST-Service für Nachrichtenversand \\ * BOT-52 Implementation der Websocket-Registrierung in Common-Library für Chatbots \\ * BOT-53 Implementierung der Common-Library-Websocket-Registrierung in TelegramBot \\ * BOT-54 Implementierung der Common-Library-Websocket-Registrierung in DiscordBot \\ * BOT-56 Dokumentation Usage Service \\ * BOT-110 Deployment / Release                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
- +
-                                           |+
  
wiki/software/beuthbot/berichte/ws2020/zwischen/geplanter-stand-features/bot49.1606057772.txt.gz · Zuletzt geändert: 22.11.2020 16:09 von Robert Xaver Halwaß