IBM WebSphere · Arazzo Workflow

WebSphere Deploy and Start Application

Version 1.0.0

Deploy an application archive, confirm it installed, and start it.

1 workflow 1 source API 1 provider
View Spec View on GitHub Application ServerCloud NativeEnterprise JavaJ2EEMicroservicesMiddlewareArazzoWorkflows

Provider

websphere

Workflows

deploy-and-start-application
Deploy a new application archive to WebSphere and start it.
Deploys the supplied archive, verifies the application is installed by reading it back, and starts the application.
3 steps inputs: contextRoot, file, name, targetServer outputs: applicationName, contextRoot, finalStatus
1
deployApplication
deployApplication
Deploy the application archive to the target server or cluster as a multipart form upload.
2
getApplication
getApplication
Read the newly deployed application to confirm it is registered before attempting to start it.
3
startApplication
startApplication
Start the deployed application so it begins serving requests.

Source API Descriptions

Arazzo Workflow Specification

websphere-application-deploy-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: WebSphere Deploy and Start Application
  summary: Deploy an application archive, confirm it installed, and start it.
  description: >-
    Covers the core WebSphere application install path. The workflow uploads an
    application archive (EAR, WAR, or JAR) to a target server or cluster, reads
    the newly installed application to confirm it is registered, and starts it so
    it begins serving traffic. Every step spells out its request inline so the
    flow can be read and executed without opening the underlying OpenAPI
    description.
  version: 1.0.0
sourceDescriptions:
- name: websphereAdminApi
  url: ../openapi/websphere-admin-rest-api.yml
  type: openapi
workflows:
- workflowId: deploy-and-start-application
  summary: Deploy a new application archive to WebSphere and start it.
  description: >-
    Deploys the supplied archive, verifies the application is installed by
    reading it back, and starts the application.
  inputs:
    type: object
    required:
    - file
    - name
    properties:
      file:
        type: string
        description: The application archive content (EAR, WAR, or JAR).
      name:
        type: string
        description: The name to register the application under.
      contextRoot:
        type: string
        description: Context root for web modules.
      targetServer:
        type: string
        description: Target server or cluster name.
  steps:
  - stepId: deployApplication
    description: >-
      Deploy the application archive to the target server or cluster as a
      multipart form upload.
    operationId: deployApplication
    requestBody:
      contentType: multipart/form-data
      payload:
        file: $inputs.file
        name: $inputs.name
        contextRoot: $inputs.contextRoot
        targetServer: $inputs.targetServer
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      deployedName: $response.body#/name
      deployedStatus: $response.body#/status
  - stepId: getApplication
    description: >-
      Read the newly deployed application to confirm it is registered before
      attempting to start it.
    operationId: getApplication
    parameters:
    - name: appName
      in: path
      value: $steps.deployApplication.outputs.deployedName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      contextRoot: $response.body#/contextRoot
      targetServer: $response.body#/targetServer
  - stepId: startApplication
    description: >-
      Start the deployed application so it begins serving requests.
    operationId: startApplication
    parameters:
    - name: appName
      in: path
      value: $steps.deployApplication.outputs.deployedName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      status: $response.body#/status
      message: $response.body#/message
  outputs:
    applicationName: $steps.deployApplication.outputs.deployedName
    contextRoot: $steps.getApplication.outputs.contextRoot
    finalStatus: $steps.startApplication.outputs.status