AEM Eventing
Erfahren Sie mehr über AEM Eventing, was es ist, warum und wann es verwendet wird und sehen Sie sich Beispiele dafür an.
Worum es sich handelt
AEM Eventing ist ein Cloud-natives Eventing-System, das Abonnements für AEM-Ereignisse für die Verarbeitung in externen Systemen ermöglicht. Ein AEM-Ereignis ist eine Statusänderungsbenachrichtigung, die von AEM gesendet wird, wenn eine bestimmte Aktion stattfindet. Dies kann beispielsweise Ereignisse umfassen, wenn ein Inhaltsfragment erstellt, aktualisiert oder gelöscht wird.
Das obige Diagramm visualisiert, wie AEM as a Cloud Service Ereignisse erzeugt und an Adobe I/O Events sendet, wo sie wiederum für Ereignisabonnentinnen und -abonnenten offengelegt werden.
Insgesamt gibt es drei Hauptkomponenten:
- Ereignisanbieter: AEM as a Cloud Service.
- Adobe I/O Events: Entwicklerplattform für die Integration, Erweiterung und Erstellung von Apps und Erlebnissen basierend auf Adobe-Produkten und -Technologien.
- Ereignisverbraucher: Systeme, die der Kundschaft gehören, die die AEM-Ereignisse abonniert. Beispielsweise CRM (Customer Relationship Management), PIM (Product Information Management), OMS (Order Management System) oder eine benutzerdefinierte Anwendung.
Worin es sich unterscheidet
Apache Sling Eventing, OSGi-Eventing und JCR-Beobachtung bieten Mechanismen, um Ereignisse zu abonnieren und zu verarbeiten. Diese unterscheiden sich jedoch von AEM Eventing, wie in dieser Dokumentation beschrieben.
Zu den wichtigsten Unterschieden von AEM Eventing gehören folgende:
- Der Ereignisverbraucher-Code wird außerhalb von AEM ausgeführt, nicht in derselben JVM wie AEM.
- AEM-Produkt-Code ist für die Definition der Ereignisse und deren Übermittlung an Adobe I/O Events verantwortlich.
- Ereignisinformationen werden standardisiert und im JSON-Format gesendet. Weitere Informationen finden Sie unter cloudevents.
- Um zurück zu AEM zu kommunizieren, verwendet der Ereignisverbraucher die AEM as a Cloud Service-API.
Gründe für die Verwendung
AEM Eventing bietet zahlreiche Vorteile für die Systemarchitektur und die Betriebseffizienz. Zu den wichtigsten Gründen für die Verwendung von AEM Eventing gehören folgende:
- Erstellen ereignisgesteuerter Architekturen: Erleichtert die Erstellung lose gekoppelter Systeme, die unabhängig skaliert werden können und Ausfallsicherheit aufweisen.
- Wenig Code und niedrigere Betriebskosten: Vermeidet Anpassungen in AEM, was zu Systemen führt, die einfacher zu verwalten und zu erweitern sind, wodurch Betriebskosten reduziert werden.
- Vereinfachte Kommunikation zwischen AEM und externen Systemen: Beseitigt Punkt-zu-Punkt-Verbindungen, indem Adobe I/O Events Nachrichten verwalten kann, z. B. durch die Bestimmung, welche AEM-Ereignisse für bestimmte Systeme oder Dienste bereitgestellt werden sollen.
- Größere Beständigkeit von Ereignissen: Adobe I/O Events ist ein hochverfügbares und skalierbares System, das große Mengen von Ereignissen handhabt und diese zuverlässig an Abonnentinnen und Abonnenten sendet.
- Parallelverarbeitung von Ereignissen: Ermöglicht die gleichzeitige Bereitstellung von Ereignissen an mehrere Abonnentinnen und Abonnenten, wodurch die verteilte Ereignisverarbeitung über verschiedene Systeme hinweg möglich ist.
- Entwicklung von Server-losen Anwendungen: Unterstützt die Bereitstellung des Ereignisverbraucher-Codes als Server-lose Anwendung, wodurch die Flexibilität und Skalierbarkeit des Systems weiter verbessert werden.
Einschränkungen
AEM Eventing ist zwar leistungsstark, hat jedoch einige Einschränkungen, die beachtet werden müssen:
-
Verfügbarkeit auf AEM as a Cloud Service beschränkt: Derzeit ist AEM Eventing ausschließlich für AEM as a Cloud Service verfügbar.
-
Verfügbare Ereignistypen: Überprüfen Sie die aktuelle Liste der verfügbaren Ereignistypen hier.
Aktivierung
Lesen Sie Aktivieren der AEM-Ereignisse in Ihrer AEM Cloud Service-Umgebung für die nächsten Schritte.
Informationen zum Abonnement
Um AEM-Ereignisse zu abonnieren, müssen Sie keinen Code in AEM schreiben, stattdessen wird ein Adobe Developer Console-Projekt konfiguriert. Die Adobe Developer Console ist ein Gateway zu Adobe-APIs, SDKs, Ereignissen, Runtime und App Builder.
In diesem Fall können Sie mit einem Projekt in der Adobe Developer Console Ereignisse abonnieren, die von AEM as a Cloud Service-Umgebungen ausgegeben werden, und die Ereignisbereitstellung für externe Systeme konfigurieren.
Weitere Informationen finden Sie unter Abonnieren von AEM-Ereignissen in der Adobe Developer Console.
So nutzen Sie Ereignisse
Es gibt zwei Hauptmethoden für die Nutzung von AEM-Ereignissen: die Push-Methode und die Pull-Methode.
- Push-Methode: Bei diesem Ansatz wird der Verbraucher bzw. die Verbraucherin proaktiv von Adobe I/O-Ereignissen benachrichtigt, wenn ein Ereignis verfügbar wird. Zu den Integrationsoptionen gehören Webhooks, Adobe I/O Runtime und Amazon EventBridge.
- Pull-Methode: Hier fragt der Verbraucher bzw. die Verbraucherin Adobe I/O-Ereignisse aktiv ab, um nach neuen Ereignissen zu suchen. Die primäre Integrationsoption für diese Methode ist die Adobe Developer Journaling-API.
Weitere Informationen finden Sie unter Verarbeitung von AEM-Ereignissen über Adobe I/O-Ereignisse.