업데이트 세트를 사용한 워크플로우 이동

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기5분
  • 워크플로우 정보는 여러 테이블에 걸쳐 저장되므로 시스템에서는 업데이트 세트의 워크플로우를 다른 기록과는 다르게 추적합니다.

    워크플로우 버전에 대한 변경 사항은 워크플로우가 게시될 때까지 업데이트 세트에 추가되지 않으며, 게시되면 전체 워크플로우가 업데이트 세트에 추가됩니다. 업데이트 세트는 워크플로우를 단일 워크플로우[wf_workflow] 기록으로 저장하고 업데이트 유형이 워크플로우인 최신 버전만 유지합니다.

    업데이트 세트에 대한 자세한 내용은 시스템 업데이트 세트를 참조하십시오.

    워크플로우 업데이트 세트 마이그레이션 사용 사례 - 단순

    의존성이 없는 새 워크플로우를 생성한 후 업데이트 세트에서 워크플로우를 마이그레이션합니다.

    1. 사용자 A는 업데이트 세트 A를 선택합니다.
    2. 사용자 A는 워크플로 A라는 새 워크플로를 만듭니다.
    3. 사용자 A가 워크플로우 A를 게시합니다.

      고객 업데이트 세트 기록이 게시된 워크플로우 A 및 모든 활동 의존성을 포함한 XML 페이로드를 포함하는 업데이트 세트 A에 추가됩니다. XML 페이로드에는 워크플로우와 연결된 워크플로우 입력 변수도 포함되어 있습니다.

    4. 사용자 A가 업데이트 세트 A를 완료하고 이를 프로덕션 인스턴스로 마이그레이션합니다.
    5. 업데이트 세트 A가 성공적으로 커밋됩니다.
    6. 워크플로우 A가 예상대로 작동합니다.

    워크플로우 업데이트 세트 마이그레이션 사용 케이스 - 하위 플로우 의존성(성공)

    기존 워크플로우와 종속 하위 플로우를 편집하고 마이그레이션합니다.

    1. 사용자 A는 업데이트 세트 B를 선택합니다.
    2. 사용자 A가 워크플로우 A를 체크 아웃합니다.
    3. 사용자 A는 워크플로우 B라는 하위 플로우를 워크플로우 A에 추가합니다.

      워크플로우 B가 이전에 게시되어 프로덕션 인스턴스로 마이그레이션되었다고 가정합니다.

    4. 사용자 A가 워크플로우 A를 게시합니다.

      고객 업데이트 세트 기록이 게시된 워크플로우 A 및 모든 활동 의존성을 포함한 XML 페이로드를 포함하는 업데이트 세트 B에 추가됩니다. XML 페이로드에는 워크플로우와 연결된 워크플로우 입력 변수도 포함되어 있습니다.

    5. 사용자 A가 업데이트 세트 B를 완료하고 이를 프로덕션 인스턴스로 마이그레이션합니다.
    6. 업데이트 세트 B가 성공적으로 커밋됩니다.
    7. 워크플로우 A는 예상대로 작동하고 워크플로우 B는 하위 플로우입니다.

    워크플로우 업데이트 세트 마이그레이션 사용 케이스 - 하위 플로우 의존성(실패)

    종속 하위 플로우 누락으로 인해 테스트 인스턴스에서 프로덕션 인스턴스에서 실행되지 못한 프로덕션 인스턴스로 기존 워크플로우를 편집하고 마이그레이션합니다.

    1. 사용자 A는 업데이트 세트 C를 선택합니다.
    2. 사용자 A가 워크플로우 A를 체크 아웃합니다.
    3. 사용자 A는 워크플로우 B라는 하위 플로우를 워크플로우 A에 추가합니다.

      워크플로우 B가 이전에 게시되었지만 프로덕션 인스턴스로 마이그레이션되지 않았다고 가정합니다.

    4. 사용자 A가 워크플로우 A를 게시합니다.

      고객 업데이트 세트 기록이 게시된 워크플로우 A 및 모든 활동 의존성을 포함하여 XML 페이로드를 포함하는 업데이트 세트 C에 추가됩니다. XML 페이로드에는 워크플로우와 연결된 워크플로우 입력 변수도 포함되어 있습니다.

      업데이트 세트 C에는 워크플로우 B라는 하위 플로우가 없습니다. 사용자 A가 업데이트 세트 C를 선택하기 전에 워크플로우 B가 게시되었습니다.

    5. 사용자 A가 업데이트 세트 C를 완료하고 이를 프로덕션 인스턴스로 마이그레이션합니다.
    6. 업데이트 세트 C가 경고와 함께 커밋됩니다.
    7. 워크플로우 A가 프로덕션 인스턴스에서 호출되면 다음과 같은 결과가 나타납니다.

      워크플로우 A가 런타임 유효성 검사를 통과하지 못해 프로덕션 시스템에서 실행할 수 없게 됩니다. 시스템이 워크플로우 컨텍스트에 오류의 원인, 특히 종속 워크플로우의 부재를 자세히 설명하는 워크플로우 로그 항목을 추가합니다.

      워크플로우 의존성 및 업데이트 세트에 대한 유효성 검사에 대한 자세한 내용은 을 참조하십시오 ValidateUpdateSetDependencies.

    워크플로우 업데이트 세트 마이그레이션 사용 케이스 - 하위 플로우 의존성(위험)

    적절한 조정 없이 여러 사용자가 워크플로우를 테스트 인스턴스에서 프로덕션 인스턴스로 마이그레이션합니다. 이 사용 사례는 성공할 수 있지만 각 사용자가 종속성을 이해하고 워크플로우의 종속 부분을 새 인스턴스로 적절하게 마이그레이션하는 경우에만 가능합니다.

    이 사용 사례에서 업데이트 세트가 가장 자주 비난을 받더라도 이 예는 업데이트 세트 실패를 나타내지 않습니다. 확인을 통해 여러 업데이트 세트에 걸쳐 워크플로우 의존성에 대한 가시성이 향상되고 디자이너가 더 나은 정보를 얻을 수 있습니다. 대부분의 경우 경고는 작업을 방지하지 않고 위험을 식별할 뿐입니다. 디자이너는 유효성 검사에서 제공된 조언에 대한 조치를 취할 책임이 있습니다.

    1. 사용자 A는 업데이트 세트 C를 선택합니다.
    2. 사용자 A가 워크플로우 A를 체크 아웃합니다.
    3. 사용자 A는 사용자 ID를 반환하는 워크플로우 B라는 하위 플로우를 추가합니다.
      주:
      워크플로우 B가 이전에 게시되어 프로덕션 인스턴스로 마이그레이션되었다고 가정합니다.
    4. 사용자 A는 워크플로우 B의 반환 값을 사용하여 승인을 생성합니다.
    5. 사용자 B는 업데이트 세트 D를 선택합니다.
    6. 사용자 B는 워크플로우 B(워크플로우 A의 하위 플로우)를 체크아웃합니다.
    7. 사용자 B는 워크플로의 반환 값을 사용자 ID 에서 문자열 메시지로 변경하여 수정합니다.
    8. 사용자 A가 워크플로우 A를 게시합니다.
      주:
      대화 상자는 워크플로 A와 관련된 경고를 표시하고 사용자 A가 게시하기 전에 워크플로의 유효성을 검사하도록 권장합니다.
    9. 사용자 A가 게시를 취소하고 워크플로 A 의 유효성을 검사합니다 .
    10. 사용자 A는 다른 업데이트 세트의 사용자가 워크플로우 B를 수정했다는 경고를 받았습니다.
    11. 사용자 A는 이 경고를 무시하고 워크플로 A를 게시합니다.
      주:
      고객 업데이트 세트 기록이 게시된 워크플로우 A 및 모든 활동 의존성을 포함하여 XML 페이로드를 포함하는 업데이트 세트 C에 추가됩니다. XML 페이로드에는 워크플로우와 연결된 워크플로우 입력 변수도 포함되어 있습니다.
    12. 사용자 A가 업데이트 세트 C를 완료하고 이를 프로덕션 인스턴스로 마이그레이션합니다.
    13. 워크플로우 A는 프로덕션 인스턴스에서 호출되고 시스템에 이미 있는 이전 버전의 워크플로우 B를 사용하여 성공적으로 실행됩니다.
    14. 사용자 B가 워크플로우 B를 게시합니다.
      주:
      업데이트 세트가 더 이상 진행 중이 아니므로 사용자 B에게 업데이트 세트 C 의존성에 대한 경고가 표시되지 않습니다. 그러나 사용자 B는 대화 상자를 통해 워크플로 버전과 관련된 경고가 있음을 알리고 워크플로 B의 유효성을 검사하라는 지시를 받습니다. 사용자 B가 게시를 취소하고 워크플로우의 유효성을 검사하면 워크플로우 B를 하위 플로우로 사용하는 워크플로우가 있다는 경고가 사용자 B에게 표시됩니다. 반환 값이 변경되었음을 알고 있는 사용자 B는 해당 워크플로도 테스트해야 합니다. 업데이트 세트 경고의 매개변수를 이해하려면 을 참조하십시오 ValidateUpdateSetDependencies .
    15. 사용자 B가 마지막으로 워크플로 B를 게시합니다.
      주:
      고객 업데이트 세트 기록이 게시된 워크플로우 B 및 모든 활동 의존성을 포함하여 XML 페이로드를 포함하는 업데이트 세트 D에 추가됩니다.
    16. 사용자 B가 업데이트 세트 D를 완료하고 이를 프로덕션 인스턴스로 마이그레이션합니다.
    17. 업데이트 세트 D가 경고 없이 커밋됩니다.
    18. 워크플로우 A가 프로덕션 인스턴스에서 호출되었지만 성공적으로 실행되지 않습니다. 이는 워크플로우 B의 반환 값이 더 이상 사용자 ID를 생성하지 않기 때문입니다.