Lebenszyklus von Prozeduren

Jede Prozedur durchläuft einen vollständigen Lebenszyklus.

Der Laufzeitlebenszyklus einer Prozedur umfasst die folgenden Schritte.

  1. Erkennung und Initialisierung
  2. Auswahl (optional)
  3. Ausführung
  4. Vernichtung

Erkennung und Initialisierung

Für Unica Plan müssen alle standardmäßigen und benutzerdefinierten Prozeduren definiert werden, die für eine bestimmte Installationsinstanz zur Verfügung stehen. Dieser Prozess wird als Erkennung bezeichnet.

Anmerkung: Standardprozeduren (vom Unica Plan-Entwicklungsteam definierte Prozeduren) sind implizit bekannt, darum sind keinerlei Aktionen zur Erkennung dieser Prozeduren erforderlich.

Benutzerdefinierte Prozeduren werden in der Plug-in-Definitionsdatei der Prozedur definiert. Der Plug-in-Manager von Unica Plan liest diese Datei während der Initialisierung. Für jede erkannte Prozedur führt der Plug-in-Manager die folgenden Schritte aus.

  1. Instanziieren der Prozedur, Überführung ihres Status in INSTANTIATED.
  2. Erstellen eines Prüfungdatensatzes für die Prozedur.
  3. Wenn die Prozedur instanziiert wurde, wird ihre initialize()-Methode mit allen Initialisierungsparametern aufgerufen, die in ihrer Plug-in-Beschreibungsdatei vorhanden sind. Wenn von dieser Methode eine Ausnahmebedingung ausgegeben wird, wird der Status protokolliert und die Prozedur abgebrochen. Andernfalls geht die Prozedur in den Status INITIALIZED über. Die Prozedur ist nun zur Ausführung bereit.
  4. Erstellen eines Prüfungdatensatzes für die Prozedur.
  5. Wenn die Prozedur initialisiert wurde, wird ihre getKey()-Methode aufgerufen, um den von Clients zum Verweis auf die Prozedur verwendeten Schlüssel zu bestimmen. Dieser Schlüssel wird der Instanz zugeordnet und für spätere Suchvorgänge gespeichert.

Auswahl

Von Zeit zu Zeit zeigt Unica Plan Benutzern möglicherweise eine Liste der verfügbaren Prozeduren an, damit Administratoren beispielsweise einen Trigger einrichten können. Unica Plan zeigt diese Liste erst an, nachdem die Prozedur mit den Methoden getDisplayName() und getDescription() der Prozedur initialisiert wurde.

Ausführung

Nach der Initialisierung der Prozedur erhält Unica Plan eine Anforderung zur Ausführung der Prozedur. Dies kann zeitgleich mit weiteren Prozeduren (oder der gleichen Prozedur) in anderen Threads erfolgen.

Während der Laufzeit führt der Ausführungsmanager der Prozedur die folgenden Schritte aus.

  1. Starten der Datenbanktransaktion.
  2. Festlegen des Prozedurstatus auf EXECUTING.
  3. Erstellen eines Prüfungdatensatzes für die Prozedur.
  4. Aufrufen der execute()-Methode der Prozedur mit einem Ausführungskontext und allen Ausführungsparametern, die der Client zur Verfügung stellt. Bei der Methodenimplementierung wird bei Bedarf die Unica Plan-API verwendet, um Bearbeitungssperren anzufordern und den Ausführungskontext weiterzugeben. Wenn die Ausführungsmethode eine Ausnahme auslöst, markiert der Ausführungsmanager die Transaktion für den Rollback.
  5. Entsprechend den Ausführungsergebnissen Commit oder Rollback für die Transaktion durchführen und den Prozedurstatus auf EXECUTED setzen.
  6. Jegliche ausstehende Bearbeitungssperren auflösen.
  7. Erstellen eines Prüfungdatensatzes für die Prozedur.
Anmerkung: Die execute()-Methode ist nicht dazu gedacht, Prozedurinstanzdaten zu ändern.

Vernichtung

Wenn Unica Plan beendet wird, geht der Plug-in-Manager der Prozedur alle geladenen Prozeduren durch. Für jede erkannte Prozedur führt der Plug-in-Manager die folgenden Schritte aus.

  1. Aufrufen der Destroy()-Methode der Prozedur, um der Prozedur eine Bereinigung zu ermöglichen, bevor die Instanz vernichtet wird.
  2. Änderung des Status der Prozedur in FINALIZED (sie kann nicht ausgeführt werden).
  3. Erstellen eines Prüfungdatensatzes für die Prozedur.
  4. Vernichten der Instanz der Prozedur.