Bei diesem Beispiel wird eine Laufzeit-Task erstellt, die eine Schnittstelle verwendet,
die bereits definiert ist, d. h., das lokale Dateisystem
auf dem Client verfügt über eine Datei, die die Beschreibung der Schnittstelle
enthält.
Anlass und Zeitpunkt für die Ausführung dieser Task
Das Beispiel funktioniert nur im Kontext der aufrufenden Enterprise-Anwendung,
für die die Ressourcen geladen werden.
Erforderliche Schritte für diese Task
- Greifen Sie auf die ClientTaskFactory zu, und erstellen Sie eine Ressourcengruppe,
die die Definitionen des neuen Taskmodells enthalten soll.
ClientTaskFactory factory = ClientTaskFactory.newInstance();
ResourceSet resourceSet = factory.createResourceSet();
- Greifen Sie auf die WSDL-Definition und die Beschreibungen Ihrer Operationen zu.
Die Schnittstellenbeschreibung
befindet sich in relativer Position zu der Position, an der der Code ausgeführt wird.
Definition definition = factory.loadWSDLDefinition(
resourceSet, "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 Taskinstanz oder die Taskschablone zu erstellen. Sie müssen einen
Anwendungsnamen angeben, der die Datentypdefinitionen enthält, damit
ein Zugriff möglich ist. Die Anwendung muss auch eine Mustertask oder einen Musterprozess enthalten, sodass die Anwendung
von Business Process Choreographer geladen wird.
- Durch das folgende Snippet wird eine Taskinstanz erstellt:
task.createTask( taskModel, "BOapplication", "HTM" );
- Durch das folgende Snippet wird eine Taskschablone erstellt:
task.createTaskTemplate( taskModel, "BOapplication" );
Ergebnis
Wenn eine Laufzeit-Taskinstanz erstellt wurde, kann sie nun gestartet werden. Wenn eine
Laufzeittaskschablone erstellt wurde, können Sie nun auf der Basis der Schablone Taskinstanzen erstellen.