Gleichzeitige Verarbeitung von ereignisausgelösten Abläufen implementieren

Sie können Collaboration-Objekte und Connector-Controller so konfigurieren, dass gleichzeitig mehrere ereignisausgelöste Abläufe verarbeitet werden. Hierdurch kann die Leistung für ereignisausgelöste Schnittstellen erheblich verbessert werden.

Gleichzeitige Verarbeitung von ereignisausgelösten Abläufen in Collaborations

Collaborations können so konfiguriert werden, dass mehrere ereignisausgelöste Abläufe gleichzeitig verarbeitet werden. Durchsatz und Reaktionszeit des Systems bei der Ereignisverarbeitung werden verbessert, wenn die gleichzeitig ablaufende Verarbeitung von Ereignissen richtig eingesetzt wird (siehe Tipp unten). In der Standardeinstellung verarbeitet eine Collaboration jeweils einen ereignisausgelösten Ablauf zur Zeit.

Bei der gleichzeitigen Verarbeitung von ereignisausgelösten Abläufen ermittelt die Collaboration Abhängigkeiten zwischen diesen Abläufen und verarbeitet sie in der Reihenfolge, in der sie vom Connector-Controller gesendet wurden. Die gleichzeitige Verarbeitung von ereignisausgelösten Abläufen wird für Abläufe ausgeführt, die keine Datenkonflikte verursachen. Abläufe, die Datenkonflikte aufweisen, werden hingegen in der Reihenfolge verarbeitet, in der sie empfangen wurden.

Informationen dazu, wie Sie eine Collaboration für die Verarbeitung von mehreren ereignisausgelösten Abläufen konfigurieren können, finden Sie unter Höchstzahl gleichzeitiger Ereignisse.

Tipp:
Die gleichzeitige Verarbeitung von ereignisausgelösten Abläufen in Collaborations erfordert zusätzliche Systemressourcen. Im Hinblick auf eine Leistungsmaximierung müssen Sie sicherstellen, dass sich die Systemressourcen, mit denen gleichzeitige Ereignisse verarbeitet werden, nicht im Leerlauf befinden. Beispielsweise darf die Einstellung Höchstzahl gleichzeitiger Ereignisse nicht auf den Wert 10 gesetzt werden, falls die Anzahl der Ereignisse in der Collaboration-Warteschlange die Anzahl 10 nie erreicht.

Falls die Ports für eingehende Daten einer Collaboration so gebunden sind, dass nur externe Aufrufe über die Server Access-Schnittstelle empfangen werden, und nicht an Connectors gebunden sind, können Sie die Leistung verbessern, indem Sie die Einstellung Höchstzahl gleichzeitiger Ereignisse auf den Wert 0 setzen. Setzen Sie diesen Wert jedoch nicht auf 0, wenn die Collaboration für den bidirektionalen Austausch mit Connectors verwendet wird.

Gleichzeitige Verarbeitung von durch Ereignisse ausgelösten Abläufen in Gruppen von Collaboration-Objekten

Jede Collaboration in einer Gruppe von Collaboration-Objekten kann unabhängig so konfiguriert werden, dass eine Reihe gleichzeitiger durch Ereignisse ausgelöster Abläufe verarbeitet wird. Es empfiehlt sich, für alle Collaborations in einer Gruppe die Anzahl der gleichzeitigen ereignisausgelösten Abläufe mit demselben Wert zu definieren, damit eine Collaboration mit einem niedrigen Wert für den gemeinsamen Zugriff keine Engpässe verursacht.

Gleichzeitige Verarbeitung von ereignisausgelösten Abläufen in Connector-Controllern

Connector-Controller können so konfiguriert werden, dass mehrere ereignisausgelöste Abläufe gleichzeitig verarbeitet werden.

Die Leistung bei der Verarbeitung von Ereignisabläufen wird verbessert, wenn ein Connector so konfiguriert ist, dass ausgelöste Ereignisabläufe gleichzeitig verarbeitet werden. Dies liegt daran, dass mehrere Geschäftsobjekte bei der Zuordnung auf einmal umgewandelt werden können.

Zur Konfiguration der gleichzeitigen Verarbeitung von ereignisausgelösten Abläufen legen Sie für die Eigenschaft ConcurrentEventTriggeredFlows die maximale Anzahl der Abläufe fest, die gleichzeitig verarbeitet werden sollen. Weitere Informationen zu dieser Eigenschaft finden Sie unter ConcurrentEventTriggeredFlows. Zusätzliche Angaben zum Festlegen der Connectoreigenschaften mit der Connectorkonfiguration können Sie in Connectors konfigurieren nachlesen.

Tipp:
Falls die Eigenschaft ConcurrentEventTriggeredFlows mit einem Wert größer als 1 konfiguriert ist, behält der Connector-Controller die Reihenfolge der Ereignisse bei, die er von der Anwendung empfangen hat. Die gleichzeitige Verarbeitung von ereignisausgelösten Abläufen in Connectors erfordert zusätzliche Systemressourcen. Im Hinblick auf eine Leistungsmaximierung müssen Sie sicherstellen, dass sich die Systemressourcen, mit denen gleichzeitige Ereignisse verarbeitet werden, nicht im Leerlauf befinden. Beispielsweise darf für die Eigenschaft ConcurrentEventTriggeredFlows nicht der Wert 10 festgelegt werden, wenn die Anzahl der Ereignisse, die für den Connector bei InterChange Server Express eintreffen, den Wert 10 in keinem Fall erreicht. Im Fenster "Serverstatistik" können Sie die Anzahl der Ereignisse ermitteln, die sich in der Warteschlange des Connectors befinden, indem Sie die MQ-Warteschlangenlänge für den Connector überwachen. Durch die Überwachung dieser Statistik ist es einfacher, den Wert zu ermitteln, den Sie für die Eigenschaft ConcurrentEventTriggeredFlows festlegen sollten.

Falls ein Connector ausschließlich als Ziel verwendet wird, können Sie eine verbesserte Leistung erzielen, indem Sie den Wert von ConcurrentEventTriggeredFlows auf 0 setzen. Setzen Sie diesen Wert jedoch nicht auf 0, wenn der Connector für den bidirektionalen Austausch mit einer Collaboration verwendet wird.

Copyright IBM Corp. 2004, 2005