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 [11.12.2019 13:44]
Christopher Lehmann
wiki:software:beuthbot:software-architecture [23.01.2020 15:30] (aktuell)
Timo Bruns [Software Architecture]
Zeile 1: Zeile 1:
 ===== Software Architecture ===== ===== Software Architecture =====
 +
 +==== Table of content ====
 +
 + - [[wiki:software:beuthbot:software-architecture#table of content|Table of content]]
 + - [[wiki:software:beuthbot:software-architecture#overview|Overview]]
 + - [[wiki:software:beuthbot:software-architecture#basic structure|Basic Structure]]
 + - [[wiki:software:beuthbot:software-architecture#bot|Bot]]
 + - [[wiki:software:beuthbot:software-architecture#gateway|Gateway]]
 + - [[wiki:software:beuthbot:software-architecture#registry|Registry]]
 + - [[wiki:software:beuthbot:software-architecture#service|Service]]
 + - [[wiki:software:beuthbot:software-architecture#api|API]]
 +
 +==== Overview ====
 +
 +//BeuthBot// consists of many interwoven //Microservices//. Evey Microservice uses our basic API to communicate with other Microservices. This approach enables us to change parts of the system easily at any time or to introduce new Microservices, all they need to do is to implement our API.
 +
 +==== Basic Structure ====
 +
 +Our application is basically composed of the following four components.
 +
 +> Bot <=> Gateway <=> Registry <=> Service
 +
 +Following diagram shows that in more detail:
  
 <uml> <uml>
Zeile 44: Zeile 67:
 Registry "1" -- "*" Service Registry "1" -- "*" Service
 </uml> </uml>
- 
-==== Table of content ==== 
- 
- - [[wiki:software:beuthbot:software-architecture#table of content|Table of content]] 
- - [[wiki:software:beuthbot:software-architecture#overview|Overview]] 
- - [[wiki:software:beuthbot:software-architecture#basic structure|Basic Structure]] 
- - [[wiki:software:beuthbot:software-architecture#bot|Bot]] 
- - [[wiki:software:beuthbot:software-architecture#gateway|Gateway]] 
- - [[wiki:software:beuthbot:software-architecture#registry|Registry]] 
- - [[wiki:software:beuthbot:software-architecture#service|Service]] 
- - [[wiki:software:beuthbot:software-architecture#api|API]] 
- 
-==== Overview ==== 
- 
-//BeuthBot// consists of many interwoven //Microservices//. Evey Microservice uses our basic API to communicate with other Microservices. This approach enables us to change parts of the system easily at any time or to introduce new Microservices, all they need to do is to implement our API. 
- 
-==== Basic Structure ==== 
- 
-Our application is basically composed of the following four components. 
- 
-> Bot <=> Gateway <=> Registry <=> Service 
- 
-Following diagram shows that in more detail. 
- 
-![structure](../assets/structure-without-notes.png) 
  
 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 108: 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.1576068275.txt.gz · Zuletzt geändert: 11.12.2019 13:44 von Christopher Lehmann