Activity 및 ActivityID 노드
Activity 및 ActivityID 노드는 활동 정의를 포함하고 식별하는 데 사용됩니다. Activity 노드는 활동 정의의 항목에 대한 부모 폴더입니다. 모든 데이터 항목 및 비즈니스 이벤트 노드는 연관된 활동 노드에 종속되며 그 안에 포함됩니다. Activity 노드 이름에는 활동 자체의 이름이 반영되어야 합니다.
ActivityID 노드는 활동 정의에서 자동으로 생성되는 항목이며 활동의 고유 식별자를 포함하게 됩니다. ActivityID 노드는 사용자가 제공한 식별자 또는 시스템에서 생성한 식별자를 추적하는 데 사용할 수 있습니다. 예를 들어 시스템의 모든 구매 주문서에 구매 주문서 번호가 고유 식별자로 포함되어 있을 경우 해당 번호를 ActivityID로 사용할 수 있습니다. 이 경우 구매 주문서 스키마의 PO 번호 필드와 같은 일부 이벤트 소스의 ActivityID 값을 노드에 매핑할 수 있습니다. 그러나 구매 주문서 번호가 고유하지 않으면 노드를 매핑되지 않은 상태로 둘 수 있으며 BAM은 런타임에 고유한 식별자를 자동으로 생성합니다.
활동은 다른 활동에 연관될 수 있습니다. 일부 경우에 이러한 관계는 명시적으로 관찰 모델에 속합니다. 특히 사용자 보기에 둘 이상의 활동이 포함되어 있을 때는 해당 활동 간에 자동 관계가 형성됩니다. 이러한 관계가 존재하면 알려진 각 피어 활동에 대해 활동 트리의 Activity 노드 아래에 관계 노드가 자동으로 생성됩니다. 데이터 관계가 있고 스패닝 보기가 없는 시나리오에서는 작업 트리에 관계 노드를 수동으로 추가할 수 있습니다.
어떠한 경우든 간에 관계 노드는 연관된 활동의 식별자를 제공하기 위해 사용됩니다. 예를 들어 구매 주문과 배송은 다대다 관계를 가질 수 있습니다. 즉 하나의 PO가 여러 배송에 의해 수행되거나 하나의 배송을 통해 여러 PO를 만족하는 제품을 운반할 수 있습니다. 각 구매 주문서의 활동 레코드는 관련 배송에 대한 여러 포인터를 포함할 수 있으며 각 배송 활동 레코드는 하나 이상의 구매 주문서를 가리킬 수 있습니다. 데이터베이스 개념을 적용하면 관계 노드의 값은 다른 활동의 테이블에 대한 외래 키에 해당합니다.
Activity ID 노드 작업
예를 들어 다음 시나리오를 고려합니다. EquityLoan 오케스트레이션에는 LoanProcess 활동 폴더가 포함되어 있습니다. 다음을 비롯한 비즈니스 이벤트를 참조합니다.
LoanApplicationReceived
CHRequest
CHResponse
AppraisalRequest
AppraisalResponse
승인됨
거부됨
ActivityID 노드를 통해 솔루션 개발자는 구매 주문서 번호나 샘플 시나리오에 나오는 메시지의 SSN 필드와 같이 활동을 고유하게 식별하는 데이터를 추출할 수 있습니다. 데이터를 ActivityID 노드로 끌어오지 않은 경우 자동으로 생성된 GUID를 통해 비즈니스 활동을 식별할 수 있습니다.
다양한 오케스트레이션에서 여러 비즈니스 이벤트 간 또는 여러 마일스톤 간 관계를 정의하려면 대상 오케스트레이션에서 ActivityID를 참조해야 합니다. TPE를 사용하여 관계를 구현하는 방법에 대한 자세한 내용은 관계 노드를 참조하세요.