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 zu benachrichtigen, dass etwas Interessantes passiert ist. 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 (beispielsweise 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.
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 Marktplätze. 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.