Zur Navigation Zur Suche Zum Inhalt
Kontakt

Benachrichtigung statt Recherche: Docugate Web Notification Service

Mauro Küpfer
Notification Services Ablauf

Immer online, immer vernetzt, immer auf dem aktuellsten Stand. Ich und meine Altersgenossen (Schlagwort: Generation Z) sind meist bestens informiert, was um uns herum passiert – dank Push-Benachrichtigungen.

Wird das Fussballtraining spontan abgesagt, trägt dies der Trainer in der App ein. Die App informiert dann alle Teilnehmen, dass das Training heute nicht stattfindet. Wird das Wetter morgen stürmisch, informiert mich meine Wetter-App, dass ich morgen besser nicht das Velo für den Arbeitsweg benutze. Hat jemand Bekanntes Geburtstag, schickt mir mein Kalender eine Push-Nachricht. Wenn jemand zu spät in die Berufsmaturitätsschule kommt, informiert er mich via Whatsapp, dass ich ihn entschuldigen sollte.

Dazu brauche ich nicht jede Stunde den Chat neu abzuchecken. Die Push-Nachricht informiert mich schon, wenn jemand etwas von mir braucht. Das gleiche gilt für das Wetter, das Fussballtraining oder den Kalender. Wenn etwas wichtig ist, erhalte ich eine Push-Nachricht. Die Informationen werden also nicht gesucht, sie werden geliefert – Push statt Pull.

Benachrichtigungen statt Recherche!

So auch im Docugate Web.

Der neue Notification Service

Wenn ich eine Vorlage mit den gewünschten Daten angereichert habe, möchte ich nicht dauernd den Status der Erstellung des Dokumentes abfragen müssen. Eine Benachrichtigung am Ende des Erstellungsprozesses, dass das Dokument heruntergeladen werden kann, reicht oftmals.

Sobald der Administrator eine neue Vorlage für mein Team freigibt, sollte das Team dies erfahren. Das Team sollte sich nicht durch alle Vorlagenhierarchien klicken müssen, damit die neuen Vorlagen eingesehen werden können, sondern eine Benachrichtigung erhalten.

Statt sich durch das System durchzukämpfen auf der Suche nach Änderungen, sollten Benachrichtigungen diese News übermitteln.

Benachrichtigung statt Recherche eben.

Docugate Web beinhaltet neu eine Komponente, die diese Anwendungsfälle adressiert – den Notification Service:

 

Docugate Web Notification Bild
Docugate Web Notification über erfolgreiche Vorlagenerstellung

Auch von Drittapplikationen nutzbar

Der Notification Service dient dazu Nachrichten zwischen dem Backend und dem Frontend von Docugate Web zu versenden.

Er ermöglicht es nicht nur dem eigenen Frontend, sondern auch Drittapplikationen des Kunden, sich für bestimmte Benachrichtigungen zu registrieren und diese zu empfangen.

Beispiele für Benachrichtigungen sind:

  • “Vorlagenerstellung abgeschlossen” (siehe oben)
  • “Neue Berechtigung erhalten”
  • “Neue Vorlage wurde veröffentlicht”

Die technische Umsetzung

Aggregierung von Events

Die verschiedenen Microservices im Backend von Docugate Web tauschen untereinander Daten aus, indem sie mittels Apache Kafka Events auf den EventStream schreiben.

Der Notification Service kann beispielsweise den Event WorkflowCompleted abonnieren und die entsprechenden Eventinfos in eine Nachricht umwandeln.

Diese Nachricht wird dann an alle Clients versendet, die sich für diesen Typ registriert haben.

Notification Service EventStream aggregation Diagram Bild

 

Versendet wird via WebSockets

Der Versand der Nachricht erfolgt dann über eine WebSocket-Verbindung.

Diese Verbindung wurde bevorzugterweise beim Login des Users geöffnet. Über die WebSocket-Verbindung kann der Client zur Laufzeit die gewünschten Nachrichtentypen bearbeiten.

Nachdem der Client eine Nachricht erhalten hat, kann er diese beliebig verarbeiten.

Als Nachrichtenempfänger kann jede Komponente dienen, die ein gültiges Token besitzt und das WebSocket-Protokoll unterstützt.

Anmerkungen

Dieser Notification Service wurde von mir am Ende meiner der Lehrzeit als Praktische Abschlussarbeit (PA) erarbeitet.

s/o to Smashicons, Freepik, Eucalyp and Gregor Cresnar – die Designer der Icons im Diagramm.

 

Haben Sie eine Applikation in Ihrem Unternehmen, die ebenfalls einen solchen Notification Service, ganz nach Ihren individuellen Bedürfnissen bräuchte? Kontaktieren Sie uns einfach und lassen Sie sich kostenlos beraten zu den Möglichkeiten von Software Engineering und Customization!