Laufzeittasks erstellen, die komplexe Typen verwenden

In diesem Beispiel wird eine Laufzeit-Task erstellt, die in ihrer Schnittstelle komplexe Typen verwendet. Die komplexen Typen sind bereits definiert, d. h., das lokale Dateisystem auf dem Client verfügt über XSD-Dateien, die die Beschreibung der komplexen Typen enthalten.

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

  1. 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();
  2. Fügen Sie die XSD-Definitionen Ihrer komplexen Typen zur Ressourcengruppe hinzu, sodass sie bei der Definition Ihrer Operationen verfügbar sind.
    Die Dateien befinden sich in relativer Position zu der Position, an der der Code ausgeführt wird.
    factory.loadXSDSchema( resourceSet, "InputBO.xsd" );
    factory.loadXSDSchema( resourceSet, "OutputBO.xsd" );
  3. Erstellen Sie die WSDL-Definition, und fügen Sie die Beschreibungen Ihrer Operationen hinzu.
    // Erstellen der WSDL-Schnittstelle
    Definition definition = factory.createWSDLDefinition
             ( resourceSet, new QName( "http://www.ibm.com/task/test/", "test" ) );
        
    // Erstellen eines Porttyps
    PortType portType = factory.createPortType( definition, "doItPT" );
    
    // Erstellen einer Operation; die Eingabenachricht ist InputBO, und
    // die Ausgabenachricht ist OutputBO;
    // Eine Fehlernachricht wird nicht angegeben
    Operation operation = factory.createOperation
            ( definition, portType, "doIt", 
              new QName( "http://Input", "InputBO" ),
              new QName( "http://Output", "OutputBO" ),
              null );
  4. 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.

  5. Ä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);
  6. Erstellen Sie das Taskmodell, das alle Ressourcendefinitionen enthält.
    TaskModel taskModel = ClientTaskFactory.createTaskModel( resourceSet );
  7. Prüfen Sie das Taskmodell, und korrigieren Sie sämtliche gefundenen Prüffehler.
    ValidationProblem[] validationProblems = taskModel.validate();
  8. 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.


Rechtliche Hinweise |

Letzte Aktualisierung: LASTUPDATEDVAR

(c) Copyright IBM Corporation 2005.
Dieses Information Center basiert auf Eclipse-Technologie. (http://www.eclipse.org)