다른 프로세스에 의해 시작된 프로세스를 서브프로세스라고 합니다. 서브프로세스의 라이프 사이클을 관리할 수 있는 방법과 서브프로세스의 버전화 동작은 이러한 프로세스가 모델링된 방법에 따라 결정됩니다.
모듈화와 재사용을 위해 캡슐화라는 프로그래밍 개념을 비즈니스 프로세스 모델에 적용해 볼 수 있습니다. 즉 하나 이상의 비즈니스 로직 단계를 별도의 프로세스로 구현한 후 이 프로세스를 기본 프로세스에서 호출하는 것입니다. 서브프로세스는 다른 프로세스를 시작할 수도 있습니다. 이렇게 하면 프로세스 인스턴스의 계층 구조를 원하는 깊이로 만들 수 있습니다. 이러한 프로세스를 전개할 경우 프로세스 투 프로세스 관계에 있는 모든 프로세스 템플리트는 동일한 Business Process Choreographer 데이터베이스에 전개되어야 합니다.
서브프로세스는 호출 프로세스와 피어 투 피어 관계 또는 상위-하위 관계를 가질 수 있습니다. 이 관계는 프로세스 라이프 사이클을 관리하는 조치가 호출 프로세스에 대해 호출될 때 서브프로세스의 동작을 결정합니다. 라이프 사이클 조치는 일시중단, 재개, 종료, 삭제 및 보상으로 구성됩니다. 프로세스 라이프 사이클을 관리하는 조치는 맨 위 레벨 프로세스 인스턴스에서만 취해질 수 있습니다.
그러나 단방향 인터페이스가 구현된 작성 작업을 가지고 있는 장기 실행 프로세스의 경우 자율 속성의 값은 자동으로 런타임에 피어로 설정됩니다. 자율 속성이 하위로 설정된 경우 이 값은 런타임에 무시됩니다.
마이크로플로우는 항상 서브프로세스로서 실행됩니다. 그러나, 두 프로세스 사이에 다른 구성요소가 있으면 이 구성요소가 상위-하위 관계를 설정하지 못하도록 할 수 있습니다(예를 들어, 두 프로세스 구성요소 사이에 연결된 인터페이스 맵 구성요소).
초기 바인딩의 예로는 SCA 배선이 있습니다. 예를 들어 독립형 참조를 프로세스 구성요소에 배선할 경우 이 참조를 사용하는 프로세스를 호출하면 언제나 프로세스 구성요소가 나타내는 특정 버전으로 대상이 지정됩니다.
서브프로세스가 호출될 때 지연 바인딩을 적용하려면 참조 상대가 유효한 서브프로세스를 선택하게 될 서브프로세스 템플리트의 이름을 상위 프로세스에서 지정해야 합니다. 프로세스의 유효 시작 속성은 현재 유효한 서브프로세스 템플리트를 결정하는 데 사용됩니다. 모든 SCA 배선은 무시됩니다.
지연 바인딩의 예로는 새 프로세스를 Business Process Choreographer 탐색기에서 호출하는 경우가 있습니다. 작성되는 인스턴스는 항상 미래 시점이 아닌 유효 시작 날짜를 가진 프로세스 템플리트의 최신 버전을 기준으로 합니다.
ⓒ Copyright IBM Corporation 2005, 2006.
이 Information Center는 Eclipse 기술을 기반으로 합니다. (http://www.eclipse.org)