Este ejemplo crea una tarea de tiempo de ejecución que utiliza una
interfaz que ya está definida, es decir, el sistema de archivos local en el
cliente tiene un archivo que contiene la descripción de la interfaz.
El ejemplo sólo se ejecuta en el contexto de la aplicación de empresa
que llama, para la que se cargan los recursos.
- Acceda a ClientTaskFactory y cree un conjunto de recursos que
contenga las definiciones del nuevo modelo de tarea.
ClientTaskFactory factory = ClientTaskFactory.newInstance();
ResourceSet resourceSet = factory.createResourceSet();
- Acceda a la definición de WSDL y a las descripciones de las
operaciones.
La descripción de la interfaz está ubicada en una posición relativa a
la del lugar donde se ejecuta el código.
Definition definition = factory.loadWSDLDefinition(
resourceSet, "interface.wsdl" );
PortType portType = definition.getPortType(
new QName( definition.getTargetNamespace(), "doItPT" ) );
Operation operation = portType.getOperation("doIt", null, null );
- Cree el modelo EMF de la nueva tarea de usuario.
Si
crea una instancia de tarea, no se necesita una fecha de válido-desde (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 );
Este paso inicializa las propiedades del modelo de tarea con valores por
omisión.
- Modifique las propiedades del modelo de tarea de usuario.
// utilizar los métodos del paquete com.ibm.wbit.tel, por ejemplo,
humanTask.setBusinessRelevance( TBoolean, YES_LITERAL );
// recuperar la fábrica de tareas para crear o modificar elementos de tarea compuestos
TaskFactory taskFactory = factory.getTaskFactory();
// especificar valores de escalada
TVerb verb = taskFactory.createTVerb();
verb.setName("John");
// crear escalationReceiver y añadir verbo
TEscalationReceiver escalationReceiver =
taskFactory.createTEscalationReceiver();
escalationReceiver.setVerb(verb);
// crear escalada y añadir receptor de escalada
TEscalation escalation = taskFactory.createTEscalation();
escalation.setEscalationReceiver(escalationReceiver);
- Cree un modelo de tarea que contenga todas las definiciones de
recurso
TaskModel taskModel = ClientTaskFactory.createTaskModel( resourceSet );
- Valide el modelo de tarea y corrija los problemas de validación que
se encuentren.
ValidationProblem[] validationProblems = taskModel.validate();
- Cree la instancia o plantilla de tarea de tiempo de ejecución.
Utilice la interfaz HumanTaskManagerService para crear la instancia de tarea o
la plantilla de tarea.
Debe proporcionar un nombre de aplicación que contenga las definiciones de tipo
de datos para que se pueda acceder a ellas.
La aplicación debe contener también una tarea o proceso ficticio para que
Business Process Choreographer cargue la aplicación.
- El snippet siguiente crea una instancia de tarea:
task.createTask( taskModel, "BOapplication", "HTM" );
- El snippet siguiente crea una plantilla de tarea:
task.createTaskTemplate( taskModel, "BOapplication" );
Si se ha creado una instancia de tarea de tiempo de ejecución, ahora
puede iniciarse. Si se ha creado una plantilla de tarea de tiempo de ejecución,
ahora puede crear instancias de tarea a partir de la plantilla.