wiki.ziemers.de

ziemer's informatik Wiki

Benutzer-Werkzeuge

Webseiten-Werkzeuge


wiki:software:beuthbot:software-architecture

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
wiki:software:beuthbot:software-architecture [10.12.2019 19:20]
Christopher Lehmann
wiki:software:beuthbot:software-architecture [23.01.2020 15:30] (aktuell)
Timo Bruns [Software Architecture]
Zeile 22: Zeile 22:
 > Bot <=> Gateway <=> Registry <=> Service > Bot <=> Gateway <=> Registry <=> Service
  
-Following diagram shows that in more detail.+Following diagram shows that in more detail:
  
-![structure](../assets/structure-without-notes.png)+<uml> 
 +abstract class Bot 
 +class TelegramBot 
 +class TwitterBot  
 + 
 +Bot <|-- TelegramBot 
 +Bot <|-- TwitterBot 
 + 
 +class Gateway 
 +class MetaMetaPersistence 
 +class MetaPersistence 
 + 
 +package nlp { 
 + 
 +class "rasa-ai" 
 +class "drools" 
 +class "Google Cloud Speech API" 
 +class "Google Cloud Natural Language" 
 +class "Microsoft Azure Spracherkennungs-API" 
 +class "Microsoft Azure Textanalyse-API" 
 +"Google Cloud Speech API" -> "Google Cloud Natural Language" 
 +"Microsoft Azure Spracherkennungs-API" -> "Microsoft Azure Textanalyse-API" 
 +
 + 
 +Gateway -- nlp 
 + 
 +Bot "1..*" -- Gateway 
 + 
 +Gateway -- MetaMetaPersistence 
 + 
 +class Registry 
 + 
 +Gateway "1" -- "1" Registry 
 +Registry -- MetaPersistence 
 + 
 +abstract class Service 
 + 
 +class MensaService 
 +Service <|-- MensaService 
 +Service <|-- WetterService 
 + 
 +Registry "1" -- "*" Service 
 +</uml>
  
 A user can write the //Bot// to request informations, the meaning of the message is extracted and a fitting //Microservice// is choosen to retrieve the necessary data. A response is build from that data and distributed back up to the bot which answers the users request. A user can write the //Bot// to request informations, the meaning of the message is extracted and a fitting //Microservice// is choosen to retrieve the necessary data. A response is build from that data and distributed back up to the bot which answers the users request.
  
-following sequence diagram further illustrates that.+Following sequence diagram further illustrates that:
  
-![flow](../assets/flow.png)+<uml> 
 +Bot -> Gateway : request 
 +Gateway -> nlp : request 
 +Gateway <- nlp : request<message> 
 +Gateway -> Registry : request<message> 
 +Registry -> Service : request<message> 
 +Service -> Registry : response 
 +Registry -> Gateway : response 
 +Gateway -> nlp : response (text) 
 +nlp->Gateway : response (audio) 
 +Gateway -> Bot : response (text|audio) 
 +</uml>
  
 === Bot === === Bot ===
Zeile 64: Zeile 117:
 Following class diagram further illustrates that: Following class diagram further illustrates that:
  
-![flow](../assets/response-request-api.png)+<uml> 
 +class Request { 
 +platform 
 +userId 
 +message: Message 
 +history: Trace 
 +metadata: KeyValueStore 
 +answer(): Response 
 +
 + 
 + 
 + 
 +class Message { 
 +id: unique 
 +evaluated: Meaning 
 +evaluate() 
 +
 + 
 +Request *-- Message 
 + 
 +Response -- Request 
 + 
 + 
 +class Response { 
 +request: Request 
 +answer 
 +history: Trace 
 +
 + 
 +class TextMessage { 
 +content 
 +
 + 
 +class AudioMessage { 
 +url 
 +}
  
 +Message <|-- AudioMessage
 +Message <|-- TextMessage
 +</uml>
 +<WRAP pagebreak></WRAP>
wiki/software/beuthbot/software-architecture.1576002024.txt.gz · Zuletzt geändert: 10.12.2019 19:20 von Christopher Lehmann