Geschäftsereignisse
Was sind Geschäftsereignisse?
Geschäftsereignisse bieten eine hochverfügbare, nahezu in Echtzeit erfolgende und entkoppelte Möglichkeit zur Modellierung und Kommunikation von Ereignissen zwischen Mendix Anwendungen basierend auf offenen Standards und Industriestandard-Messaging-Software.
Geschäftsereignisse können von Anwendungen als Signal verwendet werden, um andere Anwendungen über ein interessantes Ereignis zu informieren. Wenn beispielsweise ein Kunde eine Bestellung in einem Webshop aufgibt, kann der Webshop dies mit einem Geschäftsereignis namens „Neue Bestellung aufgegeben“ signalisieren. Jede Anwendung kann angeben, dass sie dieses Ereignis empfangen möchte, um Folgeaktionen in Echtzeit auszuführen (z. B. um eine Rechnung zu senden oder Verpackung und Logistik abzuwickeln).
Business Event Services stellen Verträge bereit, die Entwickler von Client-Anwendungen darüber informieren, welche Ereignisse verfügbar sind und wie diese Ereignisse aussehen. Dieser Vertrag basiert auf dem offenen AsyncAPI-Format.
Geschäftsveranstaltungen sind integriert in Mendix Low-Code-Entwicklungsumgebung. Geschäftsereignisse einschließlich der von ihnen bereitgestellten Informationen werden in einem Geschäftsereignisdienst modelliert. Geschäftsereignisse können mithilfe einer Mikroflussaktivität veröffentlicht werden. Geschäftsereignisse werden wie Daten behandelt, was bedeutet, dass Sie veröffentlichte und empfangene Ereignisse wie andere Entitäten abrufen können. Noch wichtiger ist, dass beim Veröffentlichen von Geschäftsereignissen die Fehlerbehandlungsfunktionen von Mendix. Ereignisse werden nur dann an andere Anwendungen übermittelt, wenn Ihr Microflow erfolgreich ist. Wenn Ihr Microflow fehlschlägt und Ihre Entitätsänderungen zurückgesetzt werden, werden auch Ihre veröffentlichten Geschäftsereignisse zurückgesetzt und nicht an die abonnierten Anwendungen übermittelt.

Geschäftsereignisse können bidirektional sein: Ein Geschäftsereignisdienst definiert, wie ein Ereignis aussieht, aber auch, ob es vom Dienst an andere Anwendungen gesendet wird oder dass andere Anwendungen ebenfalls Ereignisse an den Dienst und an andere Anwendungen senden können. Wenn Sie einen Dienst haben, der für die Registrierung von Bestellungen zuständig ist, können Sie angeben, dass nur dieser Dienst Ereignisse vom Typ „Neue Bestellung erstellt“ sendet. Gleichzeitig kann der Dienst auch ein Ereignis definieren, das andere Anwendungen senden können, wenn eine Bestellung versandt oder in Rechnung gestellt wurde.
Herausforderungen in der Mendix Eventmakler?
Die Veranstaltungen werden ausgeliefert und verteilt durch Mendix Ereignisbroker. Apps, die Ereignisse veröffentlichen, müssen nicht wissen, wer Ereignisse empfangen muss, und Apps, die Ereignisse empfangen, müssen die veröffentlichende App nicht aufrufen. Der Vorteil dabei ist, dass Ereignisse nahezu in Echtzeit empfangen und verarbeitet werden können, ohne dass die Quellanwendung alle einzelnen interessierten Parteien aufrufen muss.
Der Mendix Event Broker nutzt Kafka, eine hoch skalierbare und zuverlässige Komponente zum Übermitteln und Verarbeiten von Ereignismeldungen. Mendix stellt sicher, dass jeder Low-Code-Entwickler von dieser Komponente profitieren kann, indem er alle Komplexitäten der Plattform handhabt. Entwickler können einfach ein Geschäftsereignis im Domänenmodell ihrer App definieren und es dann in einem Mikrofluss veröffentlichen, und die Plattform übernimmt die Kommunikationslogik. Alternativ können Entwickler von konsumierenden Apps einfach Mikroflüsse für Geschäftsereignisse abonnieren, und die Mendix Die Plattform stellt sicher, dass diese Mikroflüsse ausgeführt werden, wenn das Ereignis veröffentlicht wird.
Auf welchen Standards basieren Geschäftsveranstaltungen?
Geschäftsveranstaltungen basieren auf offenen Standards, die in die Mendix Low-Code-Plattform. Offene Standards sorgen dafür, dass die Mendix Event Broker und Business Events lassen sich gut integrieren mit Nicht-Mendix Komponenten in Ihrer Anwendungslandschaft.
Wir verwenden folgende Standards:
- CloudEvents ist ein offener Standard (unterstützt von CNCF), der definiert, wie Nachrichten technisch aussehen, wenn sie zwischen Anwendungen ausgetauscht werden.
- AsyncAPI wird verwendet, um die Business-Event-Dienste zu beschreiben. AsyncAPI ist ein offener Standard für Verträge, die nachrichtenbasierte Dienste beschreiben.
- Apache Kafka ist die Messaging-Infrastruktur innerhalb der Mendix Event Broker. Kafka ist eine bewährte und skalierbare Event-Streaming-Plattform.
Sind Geschäftsereignisse auffindbar in Mendix Katalog?
Ja, wenn Sie eine Mendix-App bereitstellen, die einen Business-Event-Service definiert, wird der AsyncAPI-Vertrag im Katalog registriert. Events können im Katalog kuratiert werden, und Entwickler können Events suchen und entdecken, wenn sie den Katalog verwenden. Dies ist auch in den Integrationsbereich von Studio Pro integriert, sodass Entwickler Events entdecken können, die in Ihrer Organisation verwendet werden. Mendix Landschaft von Studio Pro. Wenn ein Entwickler das gewünschte Business Event gefunden hat, indem er es in einem Mendix Projekt ist eine Frage des Ziehens und Ablegens des Ereignisses auf einem Domänenmodell.
Können Geschäftsereignisse nur zum Abonnieren von Benachrichtigungen verwendet werden?
Nein, eine Anwendung, die Geschäftsereignisse definiert, kann festlegen, ob andere Anwendungen diese Ereignisse abonnieren, veröffentlichen oder beides können. Stellen Sie sich eine Anwendung vor, die Audit-Informationen von allen anderen erhalten möchte. Mendix Apps. Es kann ein Audit-Ereignis mit einer standardisierten Struktur definieren und festlegen, dass andere Apps dieses Ereignis veröffentlichen können. Jetzt kann jede App dieses vordefinierte Geschäftsereignis einfach veröffentlichen, um die Audit-App über ein auditierbares Ereignis zu informieren.
Muss ich alle meine Apps neu strukturieren, um von einer ereignisgesteuerten Architektur zu profitieren?
Nein, Business Events wurden so konzipiert, dass sie auch in Kombination mit herkömmlichen API-Ansätzen nützlich sind. Ein häufiges Problem bei der API-basierten Integration ist das Fehlen von Echtzeitbenachrichtigungen. Anwendungen, die wissen müssen, ob in einer anderen App etwas passiert ist, fragen häufig die Quellanwendung nach, ob sich etwas geändert hat. Dies erhöht den Overhead der Quellanwendung, sodass die Anzahl der Abfragen einer Anwendung oft begrenzt ist. Dies wirkt sich jedoch auch auf die Geschwindigkeit aus, mit der Anwendungen über Änderungen informiert werden.
Geschäftsereignisse bieten eine bessere Alternative zu dieser wiederkehrenden Abfrage: Die Quellanwendung sendet ein Geschäftsereignis, wenn sich etwas geändert hat. Alle interessierten Apps können dieses Ereignis abonnieren und die APIs verwenden, um Details zur Änderung zu erhalten.
Wie kann ich Geschäftsereignisse an Nicht-Mendix Systeme?
Im Event Broker können Sie eine Brücke konfigurieren. Diese Brücke tauscht Ereignisse zwischen Mendix Event Broker und externe Software. Aktuell stehen zwei Optionen zur Verfügung: die SQS Bridge und die HTTP Bridge. Mit der SQS Bridge können Sie Ereignisse aus einer AWS SQS-Warteschlange senden und empfangen. Mit der HTTP Bridge können Anwendungen Ereignisse an den Event Broker senden, indem sie einen REST-Aufruf der HTTP Bridge-API des Event Brokers ausführen.
Wie kann ich steuern, welche Anwendungen Geschäftsereignisse senden und empfangen können?
Im Mendix Im Event Broker Dashboard können Sie angeben, welche Anwendungen registrierte Geschäftsereignisse senden und empfangen können.
Wo kann ich weitere Informationen erhalten oder Feedback geben?
Geschäftsereignisse sind öffentlich zugänglich in Mendix Studio Pro 9.18 als sofort einsatzbereite Modellierungsfunktion in Studio Pro, unterstützt durch die Mendix Modul „Business Events“ im Mendix Marketplace. Ein kostenloser Multi-Tenant-Event-Broker wird für Apps bereitgestellt, die im Mendix Cloud. Um Business Events auf lizenzierten Knoten in der Mendix Cloud kann eine separate Event Broker Lizenz erworben werden. Weitere Informationen finden Sie im Mendix Modul „Geschäftsveranstaltungen“ Dokumentation.