다음을 통해 공유


Windows 워크플로 개요

워크플로는 실제 프로세스를 설명하는 모델로 저장되는 활동 이라는 요소 단위 집합입니다. 워크플로는 실행 순서와 단기 또는 장기 실행 작업 간의 종속 관계를 설명하는 방법을 제공합니다. 이 작업은 처음부터 끝까지 모델을 통과하며, 작업은 사용자 또는 시스템 함수에 의해 실행될 수 있습니다.

워크플로 런타임 엔진

실행 중인 모든 워크플로 인스턴스는 호스트 프로세스가 다음 중 하나를 통해 상호 작용하는 In-process 런타임 엔진에 의해 생성되고 유지 관리됩니다.

  • 메서드처럼 워크플로를 호출하는 A WorkflowInvoker.

  • WorkflowApplication 단일 워크플로 인스턴스의 실행에 대한 명시적 제어를 위한 A입니다.

  • WorkflowServiceHost는 다중 인스턴스 시나리오에서 메시지 기반 상호 작용을 위한 것입니다.

각 클래스는 활동을 실행하는 데 책임이 있는 핵심 활동 런타임, 즉 ActivityInstance를 래핑합니다. 애플리케이션 도메인 내에서 동시에 실행되는 여러 ActivityInstance 개체가 있을 수 있습니다.

위의 세 개의 호스트 상호 작용 개체는 각각 워크플로 프로그램이라고 하는 활동 트리에서 만들어집니다. 이러한 형식 또는 래핑 ActivityInstance하는 사용자 지정 호스트를 사용하여 콘솔 애플리케이션, 양식 기반 애플리케이션, Windows 서비스, ASP.NET 웹 사이트 및 WCF(Windows Communication Foundation) 서비스를 비롯한 모든 Windows 프로세스 내에서 워크플로를 실행할 수 있습니다.

44c79d1d-178b-4487-87ed-3e33015a3842호스트 프로세스 의
호스트 프로세스의 워크플로 구성 요소

워크플로 구성 요소 간의 상호 작용

다음 다이어그램에서는 워크플로 구성 요소가 서로 상호 작용하는 방법을 보여 줍니다.

워크플로 구성 요소가 상호 작용하는 방법을 보여 주는 다이어그램

위의 다이어그램 Invoke 에서 클래스의 WorkflowInvoker 메서드는 여러 워크플로 인스턴스를 호출하는 데 사용됩니다. WorkflowInvoker 는 호스트에서 관리할 필요가 없는 간단한 워크플로에 사용됩니다. 호스트에서 관리해야 하는 워크플로(예: Bookmark 다시 시작)를 대신 사용하여 Run 실행해야 합니다. 다른 워크플로 인스턴스를 호출하기 전에 한 워크플로 인스턴스가 완료되기를 기다릴 필요는 없습니다. 런타임 엔진은 여러 워크플로 인스턴스를 동시에 실행할 수 있습니다. 호출된 워크플로는 다음과 같습니다.

참고하십시오