In questo esempio viene creata un'attività di runtime che utilizza solo i tipi Java semplici nella relativa interfaccia, ad esempio, un oggetto String.
Perché e quando effettuare questa attività
L'esempio viene eseguito solo all'interno del contesto dell'applicazione aziendale chiamante, per cui vengono caricate le risorse.
Procedura di questa attività
- Accedere a ClientTaskFactory, quindi creare una serie di risorse che contenga le definizioni del nuovo modello di attività.
ClientTaskFactory factory = ClientTaskFactory.newInstance();
ResourceSet resourceSet = factory.createResourceSet();
- Creare la definizione WSDL, quindi aggiungere le descrizioni delle operazioni.
// creare l'interfaccia WSDL
Definition definition = factory.createWSDLDefinition
( resourceSet, new QName( "http://www.ibm.com/task/test/", "test" ) );
// creare un tipo di porta
PortType portType = factory.createPortType( definition, "doItPT" );
// creare un'operazione, i messaggi di input o di output sono di tipo String:
// un messaggio di errore non è specificato
Operation operation = factory.createOperation
( definition, portType, "doIt",
new QName( "http://www.w3.org/2001/XMLSchema", "string" ),
new QName( "http://www.w3.org/2001/XMLSchema", "string" ),
(Map)null );
- Creare il modello EMF del nuovo human task.
Se si sta creando un'istanza di attività, non è richiesta una data Valido da (UTCDate).
TTask humanTask = factory.createTTask( resourceSet,
TTaskKinds.HTASK_LITERAL,
"TestTask",
new UTCDate( "2005-01-01T00:00:00" ),
"http://www.ibm.com/task/test/",
portType,
operation );
Questo passo inizializza le proprietà del modello di attività con i valori predefiniti.
- Modificare le proprietà del modello human task.
// utilizzare i metodi dal pacchetto com.ibm.wbit.tel, ad esempio,
humanTask.setBusinessRelevance( TBoolean, YES_LITERAL );
// richiamare la produzione attività per creare o modificare gli elementi
dell'attività compositi
TaskFactory taskFactory = factory.getTaskFactory();
// specificare le impostazioni di escalation
TVerb verb = taskFactory.createTVerb();
verb.setName("John");
// creare escalationReceiver, quindi aggiungere il verbo
TEscalationReceiver escalationReceiver =
taskFactory.createTEscalationReceiver();
escalationReceiver.setVerb(verb);
// creare l'escalation, quindi aggiungere il destinatario dell'escalation
TEscalation escalation = taskFactory.createTEscalation();
escalation.setEscalationReceiver(escalationReceiver);
- Creare il modello dell'attività che contiene tutte le definizioni della risorsa.
TaskModel taskModel = ClientTaskFactory.createTaskModel( resourceSet );
- Convalidare il modello dell'attività, quindi correggere eventuali problemi di convalida che vengono trovati.
ValidationProblem[] validationProblems = taskModel.validate();
- Creare l'istanza o la maschera di attività di runtime.
Utilizzare l'interfaccia HumanTaskManagerService per creare l'istanza o la maschera dell'attività. Poiché l'applicazione utilizza solo tipi Java semplici, non è necessario specificare un nome dell'applicazione.
- Il frammento di seguito riportato crea un'istanza dell'attività:
task.createTask( taskModel, (String)null, "HTM" );
- Il frammento di seguito riportato crea una maschera dell'attività:
task.createTaskTemplate( taskModel, (String)null );
Risultato
Se viene creata un'istanza di attività di runtime, ora può essere avviata. Se viene creata una maschera di attività di runtime, ora è possibile creare istanze di attività dalla maschera.