Skip to content

Purii/hdm-wim-devlab

Repository files navigation

hdm-wim-devlab

Hinweis: Bei diesem Projekt handelt es sich um ein Forschungsprojekt der Hochschule der Medien, Stuttgart.

Schnellzugriffe

Spielregeln

  • Jede Gruppe hat ein eigenes Verzeichnis.
  • Jede Gruppe stellt einen oder mehrere Microservices bereit. Jede Gruppe ist damit selbst für die eigene Systemumgebung verantwortlich.
  • Entwickelt wird eine Event Driven Architecture. Die Kommunikation findet über Messages bzw. Events statt.
  • Diese Events werden mittels Google PubSub übermittelt.

Google PubSub

Für die Kommunikation zwischen den Modulen wird Google PubSub genutzt. Über PubSub werden Messages versendet. Wir sprechend jedoch häufiger von Events. Betrachtet die Messages als eine Art Kapsel für ein Event bzw. Synonym zueinander.

  • Zugriff auf die PubSub, also Funktionen für das Senden & Empfangen kann über diesen GitHub Issue beantragt werden (Google Account benötigt).
  • Die verfügbaren Topics (Kommunikationskanäle) werden über die sharedLib bereitgestellt. Näheres zur Verwendung findet Ihr in der Dokumentation. Werden zusätzliche Topics benötigt, können diese über einen neuen Issue angefragt werden.
  • Als Teil der sharedLib werden Euch Klassen zur Verfügung gestellt, um Events empfangen und senden (publish & pull) zu können. Falls darüber hinaus weitere Informationen benötigt werden, kann die ausführliche offizielle Dokumentation von Google PubSub genutzt werden. Die Dokumentation der SDK findet sich hier (Package: com.google.cloud.pubsub.spi.v1). Idealerweise werden Events jedoch nicht über Pull periodisch abgefragt, sondern werden von einem PubSub-Server via Push an den Empfänger gesendet (Jede Gruppe hat dazu einen individuellen Workshop erhalten).

Grundlegende Kommunikation

  • Publish Workflow Publish Workflow

  • Subscribe Workflow Subscribe Workflow

  • AppEngine: PaaS. Publisher und Subscriber werden automatisch erstellt (wird durch Event-Gruppe zur Verfügung gestellt), Publisher kreieren eine PubSubMessage und versenden diese über PubSub im angegebenen Topic.

  • PubSub: verteilt PubSubMessages durch die Topics.

  • Publish: Eine Message wird in das eingetragene Topic veröffentlicht.

  • Subscribe: Mehrere PubSubMessages werden aus dem eingetragenen Topic als Stream übertragen.

Bitte die Vorgaben für die Klassen aus der SharedLib einhalten!

Topics können in den Issues beantragt werden!