Der Ereignisspeicher ist ein persistenter Cache, in dem Ereignisdatensätze gespeichert werden, bis der abfragende Adapter sie verarbeiten kann. Der Adapter verwendet einen Ereignisspeicher, um die eingehenden Ereignisse auf ihrem Weg durch das System zu überwachen.
Das Erstellen, Aktualisieren oder Löschen eines Ereignisdatensatzes in der Siebel-Geschäftsanwendung ist ein 'Ereignis'. Jedes Mal, wenn ein Geschäftsobjekt erstellt, aktualisiert oder gelöscht wird, aktualisiert der Adapter den Status des Ereignisses in einem Ereignisspeicher.
Wenn beispielsweise einer Kundenkomponente ein neuer Kunde hinzugefügt wird, löst dies eine Aktualisierung aus. Wenn der Adapter für den Empfang der Ereignisse bezüglich der neuen Aktualisierung konfiguriert ist, sind auf der Siebel-Seite Auslöser eingerichtet, die mit der Kundenkomponente verbunden sind. Die Auslöser fügen der Ereignis-Geschäftskomponente einen Datensatz hinzu. Der Datensatz enthält Informationen zum neuen Kunden, wie z. B. die Kunden-ID. Diese Informationen werden im Objektschlüssel gespeichert. Der Objektschlüssel ist die eindeutige Kennung, die den Schlüsselnamen und -wert der aktualisierten Ereignis-Geschäftskomponente liefert (Beispiel: Id=1-20RT). Bei dem Objektnamen handelt es sich um den Namen des WebSphere-Geschäftsobjekts, das die Kundenkomponente darstellt (z. B. Account). Der Adapter ruft dieses Ereignis und die damit verbundenen Informationen zum neuen Kunden ab. Anschließend verarbeitet er das Ereignis und stellt es der Exportkomponente zu.
Während der eingehenden Verarbeitung fragt der Adapter die Ereignis-Geschäftskomponenten in regelmäßigen Intervallen vom Ereignisspeicher ab. Bei jedem Sendeaufruf werden mehrere Ereignisse vom Adapter verarbeitet. Die Ereignisse werden in aufsteigender Reihenfolge der Priorität sowie der Zeitmarke der Ereignisse verarbeitet. In jeden Sendeaufruf werden neue Ereignisse aufgenommen. Der Adapter ruft die Wertegruppe im Objektschlüsselfeld für das Ereignis ab und lädt das entsprechende Geschäftsobjekt. Anhand der abgerufenen Informationen wird das Geschäftsobjekt erstellt. Dieses wird den Exportkomponenten zugestellt.
Wenn Sie die Aktivierungsspezifikationseigenschaft 'AssuredOnceDelivery' auf true setzen, wird eine Transaktions-ID (XID-Wert) für jedes Ereignis im Ereignisspeicher eingestellt. Nachdem ein Ereignis für die Verarbeitung abgerufen wurde, wird der XID-Wert für dieses Ereignis im Ereignisspeicher aktualisiert und in der XID-Spalte in der Ereignis-Geschäftskomponente angezeigt. Das Ereignis wird dann der entsprechenden Exportkomponente zugestellt und der Status wird aktualisiert, um anzuzeigen, dass das Ereignis erfolgreich zugestellt wurde. Wenn die Anwendung gestoppt oder das Ereignis nicht vollständig verarbeitet wird, wird in der XID-Spalte ein Wert angezeigt. Dadurch wird sichergestellt, dass das Ereignis erneut verarbeitet und an die Exportkomponente gesendet wird. Nachdem die Verbindung erneut hergestellt oder der Adapter erneut gestartet wurde, sucht der Adapter im Ereignisspeicher nach Ereignissen, die einen Wert in der XID-Spalte haben. Der Adapter verarbeitet diese Ereignisse zuerst und fragt dann die anderen Ereignisse während des Abfragezyklus ab.
Der Adapter kann entweder alle Ereignisse verarbeiten oder die Ereignisse gefiltert nach Geschäftsobjekttyp verarbeiten. Der Filter wird mit der Aktivierungsspezifikationseigenschaft 'EventTypeFilter' festgelegt. Diese Eigenschaft enthält eine durch Kommas begrenzte Liste mit Geschäftsobjekttypen. Nur die Typen, die in der Eigenschaft angegeben sind, werden verarbeitet. Wenn die Eigenschaft 'EventTypeFilter' nicht festgelegt wird, werden alle Ereignisse verarbeitet. Wenn die Eigenschaft 'FilterFutureEvents' auf true gesetzt wird, filtert der Adapter die Ereignisse basierend auf der Zeitmarke. Der Adapter vergleicht bei jedem Abfragezyklus die Systemzeit mit der Zeitmarke bei jedem Ereignis. Wenn ein Ereignis für die Zukunft festgelegt wird, wird es erst zu diesem Zeitpunkt verarbeitet.
Nachdem ein Ereignis erfolgreich übergeben und der Exportkomponente zugestellt wurde, wird der Eintrag aus dem Ereignisspeicher gelöscht. Fehlgeschlagene Ereignisse (Übergabe und Zustellung zur Exportkomponente waren nicht erfolgreich) bleiben im Ereignisspeicher und werden mit -1 gekennzeichnet. Dadurch wird eine doppelte Verarbeitung vermieden.
In der Ereignis-Geschäftskomponente IBM2 werden Informationen zum Ereignis gespeichert. Die gespeicherten Informationen werden vom Ressourcenadapter während der Ereignissubskription verwendet, um das entsprechende Geschäftsobjekt zu erstellen und an die registrierten Exportkomponenten zu senden. Die gespeicherten Informationen und die Struktur des Ereignisspeichers, der vom Adapter verwendet wird, sind in folgender Tabelle dargestellt.
Feld | Beschreibung | Beispiel |
---|---|---|
Beschreibung | Jeder Kommentar, der mit dem Ereignis zusammenhängt. | Ereignis zum Erstellen eines Kontos |
Ereignis-ID | Die Kennung der Ereigniszeile. | Automatisch generierte eindeutige ID in Siebel (Beispiel: 1-XYZ) |
Ereigniszeitmarke | Die Zeitmarke für das Ereignis. Das Format lautet MM/TT/JJJJ hh:mm:ss | 02/24/2007 11:37:56 |
Ereignistyp | Der Typ des Ereignisses. | 'Erstellen', 'Aktualisieren' oder 'Löschen' |
Objektschlüssel | Eine eindeutige Kennung der Geschäftsobjektzeile, für die das Ereignis erstellt wurde. Es ist ein Name/Wert-Paar, bestehend aus dem Namen der Eigenschaft (Schlüsselname) und dem Wert. | ID=1-20RT |
Objektname | Der Name des Geschäftsobjekts, für welches das Ereignis erkannt wurde. | IOAccountPRMANIICAccount |
Priorität | Die Ereignispriorität. | 1 |
Status | Der Ereignisstatus. Dieser wird zunächst auf den
Wert für ein neues Ereignis gesetzt und während der Verarbeitung durch den Adapter immer
aktualisiert. Der Status kann einen der folgenden Werte haben:
Diese Spalte kann keinen Nullwert enthalten. |
0 |
XID | Die Transaktions-ID. Dadurch wird die zuverlässige Nachrichtenübermittlung sichergestellt. | Ohne |
CONNECTOR ID | Die für den Adapter definierte ID. | Siebel001 |
Das Ereignis wird aus der Ereignis-Geschäftskomponente IBM2 abgerufen, und mit dieser Information wird die Ereignisgeschäftskomponente abgerufen.
Feld | Beschreibung | Beispiel |
---|---|---|
Beschreibung | Jeder Kommentar, der mit dem Ereignis zusammenhängt. | Ereignis 'Account PRM ANI' |
Ereignis-ID | Die Kennung der Ereigniszeile. | Automatisch generierte eindeutige ID in Siebel (Beispiel: 1-XYZ) |
Ereigniszeitmarke | Die Zeitmarke für das Ereignis. Das Format lautet MM/TT/JJJJ hh:mm:ss | 02/24/2007 11:37:56 |
Ereignistyp | Der Typ des Ereignisses. | 'Erstellen', 'Aktualisieren' oder 'Löschen' |
Objektschlüssel | Eine eindeutige Kennung der Geschäftsobjektzeile, für die das Ereignis erstellt wurde. Es ist ein Name/Wert-Paar, bestehend aus dem Namen der Eigenschaft (Schlüsselname) und dem Wert. | Name=TestName;Location=BGM, wobei 'Name' und 'Location' die Schlüssel in der Integrationskomponente, 'TestName' und 'BGM' die angegebenen Werte und ';' der Ereignisschlüsselbegrenzer sind. |
Objektname | Der Name des Geschäftsobjekts, für welches das Ereignis erkannt wurde. | IOAccountPRMANIICAccount |
Priorität | Die Ereignispriorität. | 1 |
Status | Der Ereignisstatus. Dieser wird zunächst auf den
Wert für ein neues Ereignis gesetzt und während der Verarbeitung durch den Adapter immer
aktualisiert. Der Status kann einen der folgenden Werte haben:
Diese Spalte kann keinen Nullwert enthalten. |
0 |
XID | Die Transaktions-ID. Dadurch wird die 'garantierte einmalige Zustellung' sichergestellt. | Ohne |