Berücksichtigen Sie bei der Entscheidung, ob Sie eine Methode als synchrone und asynchrone Methode definieren wollen, das Umfeld der späteren Verwendung der Methode in einer Aufgabe:
Definition als ... |
Verwendung |
asynchrone Methode |
Eine Aufgabe, die sich auf eine asynchrone Objektmethode bezieht, muß mit mindestens einem beendenden Ereignis definiert sein. Wenn Sie eine asynchrone Methode definieren, müssen Sie sicherstellen, daß nach der Durchführung der Methode eines der beendenden Ereignisse ausgelöst wird. Zur Laufzeit wird das entsprechende Workitem nur beendet, wenn eines der definierten, beendenden Ereignisse eintrifft. |
synchrone Methode |
Eine Aufgabe, die sich auf eine synchrone Objektmethode bezieht, kann mit beendenden Ereignissen definiert sein. Zur Laufzeit wird das entsprechende Workitem in der Regel dadurch beendet, daß die synchrone Methode erfolgreich durchlaufen wurde. Das Workitem wird aber auch beendet, wenn eines der definierten, beendenden Ereignisse eintrifft. |
Wann definieren Sie asynchrone Methoden?
Sie definieren eine Methode als asynchrone Methode, wenn Sie wollen, daß eine Aufgabe, die diese Methode verwendet, ausschließlich über Ereignisse beendet wird. Gründe für die Definition einer Methode als asynchrone Methode können sein:
Die Funktion innerhalb der Methode nutzt den Verbucher
Die Methode wird durch ein Ereignis beendet, das bei erfolgreicher Verbuchung erzeugt wird.
Wenn Sie die Methode in diesem Fall trotzdem als synchrone Methode definieren, können durch Verbuchungsabbrüche oder -verzögerungen die Daten des Workflow und die aktuellen Daten auf der Datenbank inkonsistent werden.
Die Methode kann auch außerhalb des Workflow aufgerufen werden
Wenn es passieren kann, daß ein Benutzer die in der Methode gekapselte Funktion auch außerhalb des Workflow aufruft, obwohl das Objekt zeitgleich auch unter der Kontrolle eines Workflow bearbeitet wird, sollten Sie die Methode als asynchrone Methode implementieren. Es ist dann unerheblich, ob der Aufruf der Funktion innerhalb oder außerhalb des Workflow-Systems erfolgt. Nach dem Eintreffen des Ereignisses wird der Workflow fortgesetzt.
In der Aufgabe wird eine asynchrone Methode mit umfassender Funktionalität aufgerufen
Durch die beendenden Ereignisse erhält diese Aufgabe ihren spezifischen Charakter.
In einer Aufgabe soll ein bestimmter Auftrag für die Faktura freigegeben werden. In der Aufgabe rufen Sie dazu die (allgemeine) Methode Auftrag bearbeiten auf und tragen als beendendes Ereignis das Ereignis Fakturasperre gelöscht ein.
Die Aufgabe, soll auch durch solche Ereignisse beendet werden können, die sich nicht notwendigerweise aus der Methodenbearbeitung ergeben
Die Aufgabe, in der die Methode Kundenauftrag bearbeiten ausgeführt wird, wird auch durch das Ereignis Kunde zahlungsunfähig beendet.
Wann definieren Sie synchrone Methoden?
Sie definieren eine Methode als synchrone Methode, wenn Sie Bearbeitungsergebnisse als
Methodenparameter oder als Ergebnis nutzen wollen.Weitere Gründe für die Definition einer Methode als synchrone Methode können sein:
Die Funktion innerhalb der Methode nutzt keinen Verbucher
Die Methode soll "einfach nur" ausgeführt werden
Die Methode Display zum Anzeigen eines Objektes.
Die Methode soll innerhalb der Bearbeitung einer Aufgabe mehrfach aufgerufen werden können
Die Bearbeitung der Aufgabe ist erst dann beendet, wenn der Bearbeiter im Business Workplace den Bearbeitungsstatus auf beendet setzt.
Die Methode Brief schreiben.
Es stehen keine geeigneten Ereignisse zur Verfügung
Es stehen keine Ereignisse zur Verfügung, die als beendende Ereignisse geeignet sind, und Sie haben keine Möglichkeit, die fehlenden Ereignisse zu erzeugen.