diagram.plantuml 1.53 KB
@startuml
abstract class Bot
note right of Bot
	Abstraktion des Bots:
    Verbindet zum jeweiligen
    Service und leitet 
    Nachrichten an den 
    Gateway weiter
end note
class TelegramBot
class TwitterBot 

Bot <|-- TelegramBot
Bot <|-- TwitterBot

class Gateway
note left of Gateway
	Verbindungszentrale 
    zwischen 
    - Bots, 
    - nlp-Modulen,
    - Registry
end note
class MetaMetaPersistence
note left of MetaMetaPersistence
	z. B.: ob ein Nutzer 
    schon mal eine 
    Anfrage gestellt hat
end note
class MetaPersistence
note left of MetaPersistence
	z. B.: ob ein Nutzer 
    den angefragten 
    Service schon mal 
    genutzt hat
end note


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"
legend left
    Zieht die Bedeutung 
    aus der Nachricht
    (Text/Audio) heraus.
end legend
}


Gateway -- nlp

Bot "1..*" -- Gateway

Gateway -- MetaMetaPersistence

class Registry

Gateway "1" -- "1" Registry
Registry -- MetaPersistence

abstract class Service
note left of Service
	Abstraktion der Services:
    Verbindet zur Registry, 
    konfiguriert nlp-Modul,
    empfängt Requests der Benutzer
    erzeugt Antworten an den Benutzer
end note
    

class MensaService
Service <|-- MensaService
Service <|-- WetterService

Registry "1" -- "*" Service
@enduml