Bei diesem Beispiel wird eine Laufzeit-Task erstellt, die eine Schnittstelle verwendet, die
ein Teil der aufrufenden Anwendung ist. Die Laufzeit-Task wird in einem
Java-Snippet eines Business-Prozesses erstellt und verwendet eine Schnittstelle der Prozessanwendung.
Das Beispiel funktioniert nur im Kontext der aufrufenden Enterprise-Anwendung,
für die die Ressourcen geladen werden.
- Greifen Sie auf die ClientTaskFactory zu, und erstellen Sie eine Ressourcengruppe,
die die Definitionen des neuen Taskmodells enthalten soll.
ClientTaskFactory factory = ClientTaskFactory.newInstance();
// Angeben des Ladeprogramms für Kontextklassen, damit nach den folgenden
Ressourcen gesucht wird
ResourceSet resourceSet = factory.createResourceSet
( Thread.currentThread().getContextClassLoader() );
- Greifen Sie auf die WSDL-Definition und die Beschreibungen Ihrer Operationen zu.
Geben Sie den Pfad in der übergeordneten JAR-Paketdatei an.
Definition definition = factory.loadWSDLDefinition( resourceSet,
"com/ibm/workflow/metaflow/interface.wsdl" );
PortType portType = definition.getPortType(
new QName( definition.getTargetNamespace(), "doItPT" ) );
Operation operation = portType.getOperation("doIt", null, null );
- Erstellen Sie das EMF-Modell Ihrer neuen Benutzertask.
Wenn Sie eine
Taskinstanz erstellen, ist kein Gültigkeitsstartdatum (UTCDate) erforderlich.
TTask humanTask = factory.createTTask( resourceSet,
TTaskKinds.HTASK_LITERAL,
"TestTask",
new UTCDate( "2005-01-01T00:00:00" ),
"http://www.ibm.com/task/test/",
portType,
operation );
Durch diesen Schritt werden die
Merkmale des neuen Taskmodells mit den Standardwerten initialisiert.
- Ändern Sie die Merkmale Ihres Benutzertaskmodells.
// Verwenden der Methoden aus dem Paket com.ibm.wbit.tel, z. B.:
humanTask.setBusinessRelevance( TBoolean, YES_LITERAL );
// Abrufen der Task-Factory zum Erstellen oder Ändern von zusammengesetzten
Taskelementen TaskFactory taskFactory = factory.getTaskFactory();
// Angeben der Eskalationseinstellungen
TVerb verb = taskFactory.createTVerb();
verb.setName("John");
// Erstellen des Eskalationsempfängers und Hinzufügen eines Verbs
TEscalationReceiver escalationReceiver =
taskFactory.createTEscalationReceiver();
escalationReceiver.setVerb(verb);
// Erstellen einer Eskalation und Hinzufügen eines Eskalationsempfängers
TEscalation escalation = taskFactory.createTEscalation();
escalation.setEscalationReceiver(escalationReceiver);
- Erstellen Sie das Taskmodell, das alle Ressourcendefinitionen enthält.
TaskModel taskModel = ClientTaskFactory.createTaskModel( resourceSet );
- Prüfen Sie das Taskmodell, und korrigieren Sie sämtliche gefundenen Prüffehler.
ValidationProblem[] validationProblems = taskModel.validate();
- Erstellen Sie die Laufzeit-Taskinstanz bzw. die Laufzeit-Schablone.
Verwenden Sie die
Schnittstelle HumanTaskManagerService, um die Taskin-
stanz oder die Taskschablone zu erstellen. Sie müssen einen
Anwendungsnamen angeben, der die Datentypdefinitionen enthält, damit
ein Zugriff möglich ist.
- Durch das folgende Snippet wird eine Taskinstanz erstellt:
task.createTask( taskModel, "WorkflowApplication", "HTM" );
- Durch das folgende Snippet wird eine Taskschablone erstellt:
task.createTaskTemplate( taskModel, "WorkflowApplication" );
Wenn eine Laufzeit-Taskinstanz erstellt wurde, kann sie nun gestartet werden. Wenn eine
Laufzeit-Schablone erstellt wurde, können Sie nun auf der Basis der Schablone Taskinstanzen erstellen.