Creación de tareas de tiempo de ejecución que utilizan una interfaz existente

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.
  1. 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();
  2. 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 );
  3. 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.

  4. 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);
  5. Cree un modelo de tarea que contenga todas las definiciones de recurso
    TaskModel taskModel = ClientTaskFactory.createTaskModel( resourceSet );
  6. Valide el modelo de tarea y corrija los problemas de validación que se encuentren.
    ValidationProblem[] validationProblems = taskModel.validate();
  7. 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.


Condiciones de uso |

Última actualización: Wed Apr 19 21:34:07 2006

(c) Copyright IBM Corporation 2005, 2006.
Este centro de información está basado en tecnología Eclipse (http://www.eclipse.org)