Opzionale: Elencare le maschere del processo per trovare il nome del processo che si desidera eseguire. Se si conosce già il nome del processo, questa operazione è facoltativa.
ProcessTemplateData[] processTemplates = process.queryProcessTemplates
("PROCESS_TEMPLATE.EXECUTION_MODE =
PROCESS_TEMPLATE.EXECUTION_MODE.EXCECUTION_MODE_MICROFLOW",
"PROCESS_TEMPLATE.NAME",
new Integer(50),
(TimeZone)null);
I risultati vengono ordinati per nome.
La query riporta una matrice contenente le prime 50 maschere memorizzate da avviare come
microflussi.
Avviare il processo con un messaggio di input del tipo appropriato. Quando si crea un messaggio, è necessario specificare il nome del tipo di messaggio, in modo che contenga la definizione del messaggio.
ActivityServiceTemplateData activity = startActivities[0];
// creare un messaggio per il servizio da richiamare
ClientObjectWrapper input =
process.createMessage(activity.getServiceTemplateID(),
activity.getActivityTemplateID(),
activity.getInputMessageTypeName());
DataObject myMessage = null;
if ( input.getObject()!= null && input.getObject() instanceof DataObject )
{
myMessage = (DataObject)input.getObject();
//impostare le stringhe nel messaggio, ad esempio, un nome cliente
myMessage.setString("CustomerName", "Smith");
}
//eseguire il processo
ClientObjectWrapper output = process.call(activity.getServiceTemplateID(),
activity.getActivityTemplateID(),
input);
//verificare l'output del processo, ad esempio, un numero di ordine
DataObject myOutput = null;
if ( output.getObject() != null && output.getObject() instanceof DataObject )
{
myOutput = (DataObject)output.getObject();
int order = myOutput.getInt("OrderNo");
}
Questa operazione crea un'istanza della maschera del processo, CustomerTemplate, e invia alcuni dati del cliente. L'operazione prevede restituzioni solo quando il processo è completo. Il risultato del processo, OrderNo, viene restituito al chiamante.