Temenos · Arazzo Workflow

Temenos Microservices Define And Execute Orchestration

Version 1.0.0

Define a service orchestration sequence and trigger its execution.

1 workflow 1 source API 1 provider
View Spec View on GitHub BankingCloud BankingCore BankingDigital BankingFinancial ServicesFintechOpen BankingPaymentsWealth ManagementArazzoWorkflows

Provider

temenos

Workflows

define-execute-orchestration
Create an orchestration sequence and execute it with input parameters.
Defines a service orchestration sequence, then executes it, branching on the execution status returned by the orchestrator.
2 steps inputs: description, inputParameters, name, steps outputs: executionId, executionStatus, orchestrationId
1
createOrchestration
createOrchestration
Register the orchestration sequence describing the ordered service calls.
2
executeOrchestration
executeOrchestration
Trigger execution of the orchestration with the supplied input parameters, branching on the reported execution status.

Source API Descriptions

Arazzo Workflow Specification

temenos-microservices-orchestration-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Temenos Microservices Define And Execute Orchestration
  summary: Define a service orchestration sequence and trigger its execution.
  description: >-
    Service orchestration flow on the Temenos Banking Microservices platform.
    The workflow registers a named orchestration sequence describing the
    ordered service calls to chain, then triggers execution with input
    parameters and branches on the reported execution status, surfacing whether
    the run started, is in progress, or failed to launch. Every step inlines
    its request so the chain is self-describing.
  version: 1.0.0
sourceDescriptions:
- name: microservicesApi
  url: ../openapi/temenos-microservices-openapi.yml
  type: openapi
workflows:
- workflowId: define-execute-orchestration
  summary: Create an orchestration sequence and execute it with input parameters.
  description: >-
    Defines a service orchestration sequence, then executes it, branching on
    the execution status returned by the orchestrator.
  inputs:
    type: object
    required:
    - name
    - steps
    properties:
      name:
        type: string
        description: Name of the orchestration sequence.
      description:
        type: string
        description: Description of what the orchestration does.
      steps:
        type: array
        description: Ordered service steps, each with stepOrder, serviceName and operationId.
        items:
          type: object
      inputParameters:
        type: object
        description: Input parameters passed to the orchestration at execution time.
  steps:
  - stepId: createOrchestration
    description: Register the orchestration sequence describing the ordered service calls.
    operationId: createOrchestration
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.name
        description: $inputs.description
        steps: $inputs.steps
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      orchestrationId: $response.body#/orchestrationId
      status: $response.body#/status
  - stepId: executeOrchestration
    description: >-
      Trigger execution of the orchestration with the supplied input
      parameters, branching on the reported execution status.
    operationId: executeOrchestration
    parameters:
    - name: orchestrationId
      in: path
      value: $steps.createOrchestration.outputs.orchestrationId
    requestBody:
      contentType: application/json
      payload:
        inputParameters: $inputs.inputParameters
    successCriteria:
    - condition: $statusCode == 202
    outputs:
      executionId: $response.body#/executionId
      status: $response.body#/status
    onSuccess:
    - name: running
      type: end
      criteria:
      - context: $response.body
        condition: $.status == "STARTED" || $.status == "IN_PROGRESS" || $.status == "COMPLETED"
        type: jsonpath
    - name: failed
      type: end
      criteria:
      - context: $response.body
        condition: $.status == "FAILED"
        type: jsonpath
  outputs:
    orchestrationId: $steps.createOrchestration.outputs.orchestrationId
    executionId: $steps.executeOrchestration.outputs.executionId
    executionStatus: $steps.executeOrchestration.outputs.status