Vous pouvez utiliser une bibliothèque SDK Java pour appeler des opérations sur l'API REST d'Orchestrator dans les applications Java et travailler directement avec les objets.

Tous les services Web RESTful du SDK REST d'Orchestrator possèdent une catégorie d'encapsulation Java avec des méthodes qui correspondent aux opérations qui peuvent être exécutées par le biais de ce service.

Le SDK REST Java est installé en même temps qu'Orchestrator. Les artefacts du SDK REST Java sont disponibles aux emplacements suivants.

Note:

Vous devez avoir déployé le dispositif Orchestrator pour accéder aux artefacts.

  • https://orchestrator_host:port/vco-repo/com/vmware/o11n/o11n-rest-client/

  • https://orchestrator_host:port/vco-repo/com/vmware/o11n/o11n-rest-client-examples/

  • https://orchestrator_host:port/vco-repo/com/vmware/o11n/o11n-rest-client-services/

  • https://orchestrator_host:port/vco-repo/com/vmware/o11n/o11n-rest-client-stubs/

Exécuter un workflow et attendre son achèvement

L'exemple de code suivant exécute un workflow et attend la fin de son exécution.

//start a new session to Orchestrator by using specified credentials
VcoSession session = DefaultVcoSessionFactory.newLdapSession(new URI("https://orchestrator-server:8281/vco/api/"), "username", "password");

//create the services
WorkflowService workflowService = new WorkflowService(session);
ExecutionService executionService = new ExecutionService(session);

//find a workflow by ID
Workflow workflow = workflowService.getWorkflow("1231235");

//create an ExecutionContext from the user's input
ExecutionContext context = new ExecutionContextBuilder().addParam("name", "Jerry").addParam("age", 18).build();

//run the workflow
WorkflowExecution execution = executionService.execute(workflow, context);

//wait for the workflow to reach the user interaction state, checking every 500 milliseconds
execution = executionService.awaitState(execution, 500, 10, WorkflowExecutionState.CANCELED, WorkflowExecutionState.FAILED, WorkflowExecutionState.COMPLETED);

String nameParamValue = new ParameterExtractor().fromTheOutputOf(execution).extractString("name");
System.out.println("workflow was executed with 'name' input set to" + nameParamValue);