M3-Ereignisse im Überblick

Hintergrund

Dieses Dokument beschreibt das Konzept der Ereignisabonnements in M3. Es gibt auch einen kurzen Überblick über die Ereignisse und wie sie innerhalb der M3-Lösung verwaltet werden.

M3-Ereignisse im Überblick

Ein Ereignis in M3 ist das Auftreten einer Änderung an einer Aufgabe oder einem System, die ein Business-Objekt auslöst. Dieses Business-Objekt, das Daten und ein Ereignisverb enthält, wird zu einem Ereignis im WebSphere Business Integration System.

M3-Ereignisse werden automatisch ausgelöst, wenn signifikante Änderungen in der M3 BE-Datenbank (DB) auftreten oder ein Programm startet oder stoppt. Technisch gesehen werden die Ereignisse von der M3 Foundation-Schicht generiert, wenn der Datensatz in die Datenbank übertragen wird. Programmbasierte Ereignisse werden durch die Laufzeitschicht von M3 Foundation erstellt. Dies ist ein plattformübergreifendes Laufzeit-Framework für die M3 BE-Anwendungslogik, die Services für Datenbankzugriff, Verwaltung von Anwendungsjobs und Subsystemprozessen, für Client-Server-Interaktionen sowie zur Ausgabeverwaltung und -überwachung bereitstellt.

Datenbankereignisse: Die Datenbankereignisse (DB-Ereignisse) werden am häufigsten verwendet und beim Erstellen, Aktualisieren und Löschen eines beliebigen DB-Datensatzes generiert. Diese Ereignisse enthalten den vollständigen DB-Datensatz des Feldwerts vor und nach der Änderung, wie z. B. Primärschlüssel, Zeitstempel, das Programm, das die DB-Änderung initiiert hat, das Startprogramm, das den Prozess gestartet hat, und die ID des Benutzers, der den Prozess startet.

Hinweis

Informationen, die nur im Arbeitsspeicher enthalten sind, sind nicht im M3-Ereignissystem enthalten. Und auch DB-Aktualisierungen wie externe SQL-Aktualisierungen werden nur innerhalb der M3 Foundation-Schicht ausgeführt.

Das M3-Ereignissystem basiert auf einer vom Event Hub verwalteten Herausgeber–Abonnenten-Beziehung, und nur Ereignisse mit einem aktiven Abonnenten werden veröffentlicht. Der Herausgeber selbst kennt die Abonnenten nicht und sendet die Ereignisse nur an den Event Hub. Mit dem Event Hub soll sichergestellt werden, dass die Ereignisse vom Abonnenten in derselben Reihenfolge empfangen werden, in der sie generiert wurden. Ereignisse werden normalerweise nur im Speicher gehalten, um die Leistung zu maximieren, können jedoch in Journalen gespeichert werden, wenn der Abonnent die veröffentlichten Ereignisse nicht empfangen kann. Nach Lieferung an die Abonnenten werden die Ereignisse aus dem Event Hub gelöscht.

M3-Ereignisse werden in mehreren Szenarien verwendet, um zum Beispiel den Infor Enterprise Search (IES)-Index online zu aktualisieren oder Business Object Documents (BODs) und andere Nachrichten über Infor Enterprise Collaborator (MEC) auszulösen. M3 BE kann auch Ereignisse abonnieren, die M3-Funktionalität auslösen. Dies wird weiter unten beschrieben.

M3-Ereignisabonnement

Benutzer von M3 BE können ihre eigenen Abonnements für Ereignisse in "Ereignisabonnement" (CMS045) erstellen, wo der Benutzer den Ereignisnamen, den Herausgeber und eine mögliche Ereignisoperation wie Erstellen, Aktualisieren oder Löschen eingibt. Wenn Sie zum Beispiel M3 BE-DB-Ereignisse abonnieren, ist der Name des Ereignisses der DB-Tabellennamen (in Großbuchstaben wie MITMAS für den Artikelstamm) und der Herausgeber ist M3. Bei Programmereignissen entspricht der Name des Ereignisses dem Programmnamen. Wenn Sie Abonnements von anderen Herausgebern abonnieren, finden Sie in der Dokumentation der Anwendung weitere Informationen zum Hinzufügen von Abonnements ihrer Ereignisse.

Die Benutzer definieren außerdem, unter welchen Umständen das Ereignisabonnement verwendet werden soll. Zweitens definieren die Benutzer die Verwendung des Ereignisses in verknüpften Funktionen. Nach Fertigstellung der Definitionen müssen die zugehörigen M3 BE-Autojobs neu gestartet werden, um das Abonnement im Event Hub zu aktivieren und die in M3 BE durchgeführten Definitionen zwischenzuspeichern, damit die Leistung maximiert werden kann.

Durch Verwendung der Ereignisoperation ist es möglich, bestimmte Typen von Ereignissen zu abonnieren. Wenn beispielsweise "D" als Operation definiert ist, wird das Abonnement nur für Löschereignisse in der DB ausgeführt. Dies ist eine nützliche Funktion, da die Anzahl der Ereignisse, die eine Validierung erfordern, automatisch begrenzt wird.

Die Ereignisabonnements werden für die M3-Umgebung/Tenant in allen möglichen Firmen und Divisionen ausgeführt. Das Ergebnis der Ereignisaktivität wird jedoch nur in der Firma und in der Division des Ereignisses angezeigt und verwendet. Beispielsweise könnte die Definition eines Ereignislogs für alle Firmen in der Umgebung/Tenant identisch sein, aber das Ergebnis wird nur für die Firma angezeigt, in der der Benutzer angemeldet ist.

Hinweis

Es wird empfohlen, M3-Ereignisse nur für Tabellen mit einer begrenzten Anzahl von Aktualisierungen zu verwenden. Wenn Sie zu viele Ereignisse in dieses Abonnement laden, kann es zu gravierenden Leistungseinbrüchen bei M3 Business Engine, Event Hub und den zugehörigen Produkten kommen.