Ein Mikroprozess kann durch eine Empfangs- oder Auswahlaktivität gestartet
werden. Der Startservice ist eindeutig, wenn der Mikroprozess mit einer
Empfangsaktivität beginnt, oder wenn die Auswahlaktivität nur über eine einzige
onMessage-Definition verfügt.
Anlass und Zeitpunkt für die Ausführung dieser Task
Wenn der Mikroprozess eine Operation für Antwortanforderung implementiert,
d. h., der Prozess enthält eine Antwort, können Sie den Prozess mit der Aufrufmethode
ausführen, wobei der Name der Prozessschablone als Parameter im Aufruf übergeben wird.
Wenn es sich
bei dem Mikroprozess um eine unidirektionale Operation handelt,
verwenden Sie die Methode sendMessage zum Ausführen des Prozesses.
Diese Methode wird in diesem Beispiel nicht dargelegt.
Erforderliche Schritte für diese Task
- Optional: Listen Sie die Prozessschablonen auf, um den
Namen des Prozesses zu finden, den Sie ausführen möchten.
Dieser Schritt
ist optional, wenn Sie den Namen des Prozesses bereits kennen.
ProcessTemplateData[] processTemplates = process.queryProcessTemplates
("PROCESS_TEMPLATE.EXECUTION_MODE =
PROCESS_TEMPLATE.EXECUTION_MODE.EXCECUTION_MODE_MICROFLOW",
"PROCESS_TEMPLATE.NAME",
new Integer(50),
null);
Die Ergebnisse sind nach dem Namen sortiert.
Die Abfrage gibt eine Matrix mit den ersten 50 sortierten Schablonen zurück, die
mit der Aufrufmethode gestartet werden können.
- Starten Sie den Prozess mit einer Eingabenachricht des passenden Typs.
Beim Erstellen der Nachricht müssen Sie den Nachrichtentypnamen so angeben,
dass er die Nachrichtendefinition enthält.
ProcessTemplateData template = processTemplates[0];
// Erstellen einer Nachricht für die einzelne Empfangsstartaktivität
ClientObjectWrapper input = process.createMessage
(template.getID(),
template.getInputMessageTypeName());
DataObject myMessage = null;
if ( input.getObject()!= null && input.getObject() instanceof DataObject )
{
myMessage = (DataObject)input.getObject();
// Festlegen der Zeichenfolgen in der Nachricht (z. B. ein Kundenname)
myMessage.setString("Kundenname", "Schmidt");
}
// Ausführen des Prozesses
ClientObjectWrapper output = process.call(template.getName(), input);
DataObject myOutput = null;
if ( output.getObject() != null && output.getObject() instanceof DataObject )
{
myOutput = (DataObject)output.getObject();
int order = myOutput.getInt("Bestellnr");
}
Diese Aktion erstellt eine Instanz der
Prozessschablone 'Kundenschablone' und übergibt die Kundendaten. Die Operation
gibt das Ergebnis erst zurück, wenn der Prozess abgeschlossen ist.
Das Ergebnis des Prozesses (Bestellnr) wird an den Aufrufenden
zurückgegeben.