# Topics

Die DigiWF-Anwendungen kommunizieren über einen Event Bus, um Ereignisse auszutauschen, die innerhalb der DigiWF-Plattform auftreten. Intern verwendet die DigiWF-Anwendung Spring Cloud Stream als Abstraktionsschicht, um mit dem "Event Bus" zu interagieren. Daher ist der Event Bus austauschbar, solange ein Spring Cloud Stream Binder existiert.

In diesem Artikel erklären wir die Namenskonventionen für unsere Themen und listen die derzeit existierenden Themen auf.

# Naming conventions für Event Bus Topics

<prefix>-<domain>-<usage-context>-<environment>
1

Jeder DigiWF Topic-Name hat die folgenden Bestandteile:

  • prefix wird verwendet, um die Themen einer bestimmten Anwendung zuzuordnen. Im Zusammenhang mit DigiWF ist dieses Präfix normalerweise dwf.
  • domain Jedes DigiWF-Thema gehört zu einer bestimmten Domäne. Der Name der Domäne kann dem Anwendungsnamen ähnlich sein.
  • usage-context Wenn eine Domain mehr als 1 Thema hat, wird ein zusätzlicher <usage context> zum Namen des Themas hinzugefügt. Der <usage context> ist optional.
  • environment ist das Suffix, das die Umgebung beschreibt, in der die Anwendungen laufen.

Beispiele:

  • dwf-connector-${DIGIWF_ENV} ist das Topic des DigiWF Connectors, an das die Integrationen Nachrichten senden.
  • dwf-email-${DIGIWF_ENV} ist das Topic der DigiWF Email Integration.

# Verfügbare Topics

Derzeit existieren die Umgebungen dev, test, demo, processestest, processesdemo, processeshotfix und local-01. dev, test und demo sind unsere CI/CD-Stages und local-01 wird für die Entwicklung verwendet. Die processes* Umgebungen werden von Prozessmodellierern genutzt, um ihre Prozesse zu testen.

# Task

Die digiwf-task verwendet zwei Topics, um die User Tasks oder Daten zu empfangen. Diese sind:

dwf-taskmanagement-tasks-<STAGE>
dwf-taskmanagement-data-<STAGE>
1
2

# Connector

Der DigiWF Connector ermöglicht eine nahtlose Verbindung zwischen der Camunda Engine (DigiWF Engine) und den DigiWF Integrationen. Der Connector leitet Nachrichten der Engine an die Integrationen weiter und leitet die Antworten der Integrationen an die Engine zurück. Wenn hierbei Fehler auftreten, wird über die jeweiligen Topics ein BPMN Error oder ein Incident an die Engine zurückgeleitet.

dwf-connector-<ENV>
dwf-connector-bpmnerror-<ENV>
dwf-connector-incident-<ENV>
dwf-connector-<ENV>-dlq
1
2
3
4

# Integrationen

Die DigiWF Integrationen sind die Schnittstellen zu den externen Systemen. Sie sind in der Lage, Nachrichten vom Connector zu empfangen und Nachrichten an den Connector zu senden. Im Fehlerfall senden die Integrationen BPMN Errors oder Incidents an den Connector zurück.

# Address Integration

Die Address Integration bindet den Address-Service der Stadt München an die DigiWF Plattform an, wodurch Informationen zu Adressen sowie Straßen abgerufen werden können.

dwf-address-<ENV>
1

# Alw Integration

Das Ziel dieser Bibliothek besteht darin, eine asynchrone Kommunikation mit dem ALW-System zu ermöglichen.

dwf-alw-<ENV>
1

# Cosys Integration

Die Cosys Integration ermöglicht die Dokumenterstellung in Cosys.

dwf-cosys-<ENV>
1

# Dms Integration

Die Dms Integration ermöglicht die Kommunikation mit dem DMS.

dwf-dms-<ENV>
1

# Email Integration

Die Email Integration ermöglicht das Versenden von Emails.

dwf-email-<ENV>
1

# S3 Integration

Die S3 Integration ermöglicht das Speichern, Lesen und Aktualisieren von Dateien im S3 Speicher.

dwf-s3-<ENV>
1

# Engine

Die Event Bus Topics, die in dieser Dokumentation erläutert werden, spiegeln die Legacy-Elemente wider, die in der aktuellen Version der DigiWF Engine noch vorhanden sind.

Die digiwf-engine verwendet den Spring Cloud Stream Function Router, um Ereignisse basierend auf dem type Header an die entsprechenden Spring Cloud Funktionen weiterzuleiten. Daher benötigt jede Nachricht, die an dwf-digiwf-engine-<ENV> gesendet wird, den Header type.

dwf-digiwf-engine-<ENV>
1

Die folgenden Werte für den Header type werden derzeit unterstützt:

Header Type Payload Type Beschreibung
correlateMessageV01 CorrelateMessageTOV01 Verwenden Sie CorrelateMessageTOV01 als Wert für den Header type, um eine Nachricht mit einer Prozessinstanz zu korrelieren.
startProcessV01 StartInstanceTOV01 Verwenden Sie startProcessV01 als Wert für den Header type, um eine neue Prozessinstanz mit dem Prozessschlüssel und den Daten zu starten.

# CoCreation

Die Kafka Topics, die in der DigiWF Cocreation verwendet werden, stammen aus früheren Entwicklungsphasen und werden bis zur geplanten Ablösung durch ein moderneres System beibehalten.

Prozesse, Entscheidungstabellen und JSON-Schema-Formulare, die in der Cocreation-Plattform entwickelt werden, werden mit einem Deployment-Event, das an das Topic dwf-cocreation-<ENV> gesendet wird, in der digiwf-Engine deployed.

dwf-cocreation-<ENV>
1

Der digiwf-engine Service ist ein Consumer des Themas dwf-cocreation-<ENV> und stellt die Artefakte (bpmn-, dmn- oder json-Form) aus eingehenden Bereitstellungsereignissen für die camunda-Engine bereit. Die digiwf-engine verwendet den Spring Cloud Stream Function Router, um Events basierend auf dem Header type an die entsprechenden Spring Cloud Funktionen weiterzuleiten.

Die folgenden Werte für den Header type werden derzeit unterstützt:

Header Type Payload Type Beschreibung
deploy DeploymentEvent Verwenden Sie deploy als Wert für den Header type, um Prozesse und Entscheidungstabellen in der digiwf-Engine einzusetzen.
deploySchema SchemaDeploymentEvent Verwenden Sie deploySchema als Wert für den Header type, um JSON-Schema-Formulare an die digiwf-Engine zu übergeben.
dwf-cocreation-deploy-<ENV>
1

Nach jedem Deployment sendet die digiwf-engine ein Deployment-Status-Ereignis an das Topic dwf-cocreation-deploy-<ENV>, das die Abonnenten des Topics über den Erfolg oder Misserfolg des Deployments informiert.