업데이트 세트를 사용한 워크플로우 이동
워크플로우 정보가 여러 테이블에 걸쳐 저장되므로 시스템은 업데이트 세트의 워크플로우를 다른 기록과 다르게 추적합니다.
워크플로우 버전에 대한 변경 사항은 워크플로우가 게시될 때까지 업데이트 세트에 추가되지 않으며, 게시되면 전체 워크플로우가 업데이트 세트에 추가됩니다. 업데이트 세트는 워크플로우를 단일 워크플로우[wf_workflow] 기록으로 저장하고 워크플로우의 업데이트 유형이 있는 최신 버전만 유지합니다.
업데이트 세트에 대한 자세한 내용은 시스템 업데이트 세트를 참조하십시오.
워크플로우 업데이트 세트 마이그레이션 사용 사례 - 단순
의존성이 없는 새 워크플로우를 생성한 다음 업데이트 세트에서 워크플로우를 마이그레이션합니다.
- 사용자 A가 업데이트 세트 A를 선택합니다.
- 사용자 A는 워크플로우 A라는 새 워크플로우를 만듭니다.
- 사용자 A가 워크플로우 A를 게시합니다.
고객 업데이트 세트 기록이 게시된 워크플로우 A 및 모든 활동 의존성을 포함하여 XML 페이로드를 포함하는 업데이트 세트 A에 추가됩니다. XML 페이로드에는 워크플로와 연결된 워크플로 입력 변수도 포함되어 있습니다.
- 사용자 A가 업데이트 세트 A를 완료하고 프로덕션 인스턴스로 마이그레이션합니다.
- 업데이트 세트 A가 성공적으로 커밋되었습니다.
- 워크플로우 A는 예상대로 작동합니다.
워크플로우 업데이트 세트 마이그레이션 사용 사례 - 하위 플로우 의존성(성공)
기존 워크플로우와 종속 하위 플로우를 성공적으로 편집하고 마이그레이션합니다.
- 사용자 A가 업데이트 세트 B를 선택합니다.
- 사용자 A가 워크플로우 A를 체크아웃합니다.
- 사용자 A가 워크플로우 B라는 하위 플로우를 워크플로우 A에 추가합니다.
워크플로우 B가 이전에 게시되어 프로덕션 인스턴스로 마이그레이션되었다고 가정합니다.
- 사용자 A가 워크플로우 A를 게시합니다.
고객 업데이트 세트 기록이 게시된 워크플로우 A 및 모든 활동 의존성을 포함한 XML 페이로드를 포함하는 업데이트 세트 B에 추가됩니다. XML 페이로드에는 워크플로와 연결된 워크플로 입력 변수도 포함되어 있습니다.
- 사용자 A가 업데이트 세트 B를 완료하고 프로덕션 인스턴스로 마이그레이션합니다.
- 업데이트 세트 B가 성공적으로 커밋되었습니다.
- 워크플로우 A는 워크플로우 B를 하위 플로우로 사용하여 예상대로 작동합니다.
워크플로우 업데이트 세트 마이그레이션 사용 사례 - 하위 플로우 의존성(실패)
종속 하위 플로우 누락으로 인해 프로덕션 인스턴스에서 실행하지 못한 프로덕션 인스턴스로 기존 워크플로우를 편집하고 테스트 인스턴스에서 프로덕션 인스턴스로 마이그레이션합니다.
- 사용자 A가 업데이트 세트 C를 선택합니다.
- 사용자 A가 워크플로우 A를 체크아웃합니다.
- 사용자 A가 워크플로우 B라는 하위 플로우를 워크플로우 A에 추가합니다.
워크플로우 B가 이전에 게시되었지만 프로덕션 인스턴스로 마이그레이션되지 않았다고 가정합니다.
- 사용자 A가 워크플로우 A를 게시합니다.
고객 업데이트 세트 기록이 게시된 워크플로우 A 및 모든 활동 의존성을 포함하여 XML 페이로드를 포함하는 업데이트 세트 C에 추가됩니다. XML 페이로드에는 워크플로와 연결된 워크플로 입력 변수도 포함되어 있습니다.
업데이트 세트 C에는 워크플로우 B라는 하위 플로우가 없습니다. 워크플로우 B는 사용자 A가 업데이트 세트 C를 선택하기 전에 게시되었습니다.
- 사용자 A가 업데이트 세트 C를 완료하고 프로덕션 인스턴스로 마이그레이션합니다.
- 업데이트 세트 C가 경고와 함께 커밋됩니다.
- 워크플로우 A는 다음과 같은 결과와 함께 프로덕션 인스턴스에서 호출됩니다.
워크플로우 A가 런타임 유효성 검사를 통과하지 못하고 프로덕션 시스템에서 실행되지 않습니다. 시스템은 실패의 원인, 특히 종속 워크플로우의 부재를 자세히 설명하는 워크플로우 로그 항목을 워크플로우 컨텍스트에 추가합니다.
워크플로우 종속성 및 업데이트 세트의 유효성 검사에 대한 자세한 내용은 다음 문서를 참조하십시오 ValidateUpdateSetDependencies.
워크플로우 업데이트 세트 마이그레이션 사용 사례 - 하위 플로우 의존성(위험)
여러 사용자가 적절한 조정 없이 테스트 인스턴스에서 프로덕션 인스턴스로 워크플로우를 마이그레이션합니다. 이 사용 사례는 성공할 수 있지만 각 사용자가 종속성을 이해하고 워크플로우의 종속 부분을 새 인스턴스로 적절하게 마이그레이션하는 경우에만 가능합니다.
이 사용 사례에서 업데이트 세트를 가장 자주 비난하지만 이 예는 업데이트 세트 실패를 나타내지 않습니다. 확인은 여러 업데이트 세트 간의 워크플로우 종속성에 대한 가시성을 높이고 설계자에게 더 나은 정보를 제공합니다. 대부분의 경우 경고는 작업을 방지하지 않고 위험을 식별하기만 합니다. 디자이너는 유효성 검사에서 제공된 조언에 따라 조치를 취할 책임이 있습니다.
- 사용자 A가 업데이트 세트 C를 선택합니다.
- 사용자 A가 워크플로우 A를 체크아웃합니다.
- 사용자 A는 사용자 ID를 반환하는 워크플로우 B라는 하위 플로우를 추가합니다.주:워크플로우 B가 이전에 게시되어 프로덕션 인스턴스로 마이그레이션되었다고 가정합니다.
- 사용자 A는 워크플로우 B의 반환 값을 사용하여 승인을 생성합니다.
- 사용자 B가 업데이트 세트 D를 선택합니다.
- 사용자 B가 워크플로우 B(워크플로우 A의 하위 플로우)를 체크 아웃합니다.
- 사용자 B는 워크플로의 반환 값을 사용자 ID 에서 문자열 메시지로 변경하여 수정합니다.
- 사용자 A가 워크플로우 A를 게시합니다.주:대화 상자에는 워크플로우 A와 관련된 경고가 표시되고 사용자 A가 게시하기 전에 워크플로우의 유효성을 검사할 것을 권장합니다.
- 사용자 A가 게시를 취소하고 워크플로우 A 의 유효성을 검사합니다 .
- 다른 업데이트 세트의 사용자가 워크플로우 B를 수정했다는 경고를 사용자 A에게 알립니다.
- 사용자 A는 이 경고를 무시하고 워크플로우 A를 게시합니다.주:고객 업데이트 세트 기록이 게시된 워크플로우 A 및 모든 활동 의존성을 포함하여 XML 페이로드를 포함하는 업데이트 세트 C에 추가됩니다. XML 페이로드에는 워크플로와 연결된 워크플로 입력 변수도 포함되어 있습니다.
- 사용자 A가 업데이트 세트 C를 완료하고 프로덕션 인스턴스로 마이그레이션합니다.
- 워크플로우 A는 프로덕션 인스턴스에서 호출되고 시스템에 이미 있는 이전 버전의 워크플로우 B를 사용하여 성공적으로 실행됩니다.
- 사용자 B가 워크플로우 B를 게시합니다.주:업데이트 세트가 더 이상 진행 중이 아니므로 사용자 B는 업데이트 세트 C 의존성에 대한 경고를 받지 않습니다. 그러나 사용자 B는 대화 상자를 통해 워크플로 버전과 관련된 경고가 있음을 알리고 워크플로 B의 유효성을 검사하라는 지시를 받습니다. 사용자 B가 게시를 취소하고 워크플로우를 확인하면 사용자 B에게 워크플로우 B를 하위 플로우로 사용하는 워크플로우가 있음을 경고합니다. 반환 값이 변경되었음을 알고 있는 사용자 B는 해당 워크플로도 테스트해야 합니다. 업데이트 세트 경고의 매개변수를 이해하려면 를 참조하십시오 ValidateUpdateSetDependencies .
- 사용자 B가 마지막으로 워크플로우 B를 게시합니다.주:고객 업데이트 세트 기록이 게시된 워크플로우 B 및 모든 활동 의존성을 포함한 XML 페이로드를 포함하는 업데이트 세트 D에 추가됩니다.
- 사용자 B가 업데이트 세트 D를 완료하고 프로덕션 인스턴스로 마이그레이션합니다.
- 업데이트 세트 D가 경고 없이 커밋됩니다.
- 워크플로우 B의 반환 값이 더 이상 사용자 ID를 생성하지 않기 때문에 워크플로우 A가 프로덕션 인스턴스에서 호출되고 성공적으로 실행되지 못합니다.