다음을 통해 공유


BAM을 사용하여 비즈니스 프로세스 관리 솔루션 모니터링

이 솔루션에서는 BAM(비즈니스 활동 모니터링) API를 사용하여 주문 처리 단계를 모니터링합니다. 비즈니스 프로세스의 디자인에서 활동은 여러 단계로 나뉩니다. 그러나 활동을 다시 결합하여 하나의 연속된 프로세스를 만들 수 있습니다. BAM은 다른 백 엔드가 참여하는 기간, 완료된 주문 수 및 기타 유사한 정보를 알 수 있도록 집계 데이터도 제공합니다.

서비스 지향 솔루션과 마찬가지로 새 OrchestrationEventStream 개체를 사용합니다. OrchestrationEventStream 개체에 대한 자세한 내용은 BAM을 사용하여 서비스 지향 솔루션 모니터링의 "OrchestrationEventStream 개체란?"을 참조하세요.

BAM에 대한 일반적인 내용은 비즈니스 활동 모니터링 사용을 참조하세요. TPE(추적 프로필 편집기)에 대한 자세한 내용은 추적 프로필 편집기를 참조하세요.

OrchestrationEventStream 개체 래핑

서비스 지향 솔루션과 마찬가지로 비즈니스 프로세스 관리 솔루션은 OrchestrationEventStream 개체를 래핑합니다. 또한 서비스 지향 솔루션과 마찬가지로 오케스트레이션에서 메서드를 사용하기 위해 개체 인스턴스를 만들 필요가 없으므로 모든 메서드가 정적입니다. 이 경우 추적에 사용되는 개체를 serialize할 필요가 없으며 엔진이 오케스트레이션을 디하이드레이션하는 경우 개체를 저장할 필요도 없습니다(serialize 가능할 필요가 없음). 그러나 비즈니스 프로세스 관리 솔루션은 OrchestrationEventStream 을 단일 추상 개체에서 파생된 여러 개체로 래핑합니다.

추상 클래스는 BasicActivity입니다. 추상 클래스임에도 불구하고 이 클래스는 파생 클래스의 템플릿으로 사용되지 않습니다. 대신 해당 정적 메서드를 통해 파생 클래스의 자격 없이 사용할 수 있는 메서드 집합을 제공합니다. 실제로 이 메서드 집합은 메서드의 4가지 기본 구현을 제공합니다. 네 가지 정적 메서드는 CreateActivityId, BeginActivity, UpdateActivityEndActivity입니다.

클래스는 BeginActivity 메서드를 오버로드합니다. 메서드의 한 버전은 활동 이름을 단일 인수로 사용하고, 활동 식별자로 사용할 GUID를 만든 다음 활동 이름과 활동 식별자를 사용하는 해당 메서드의 버전을 호출하고 활동 식별자를 반환합니다. 이 단일 인수 버전은 주문에 고유 식별자가 없을 수 있는 경우에 유용합니다.

CreateActivityId 메서드는 요청 식별자와 같은 문자열 및 고유 식별자를 사용하고 밑줄과 연결하는 문자열을 반환합니다. 이 메서드는 고유한 활동 식별자를 제공하며 파생 클래스에서 광범위하게 사용됩니다. BeginActivity, UpdateActivityEndActivity 메서드는 OrchestrationEventStreamBeginActiviy, UpdateActivityEndActivity 메서드를 호출합니다.

솔루션은 주문 브로커(CustomerOrderRequest), 주문 관리자(OrderManager) 및 처리 단계(ServiceOrderRequest)에 대한 BasicActivity에서 클래스를 파생합니다. 각 클래스가 하나의 활동에 해당합니다. 각 클래스는 활동 마일스톤에 특수화된 메서드뿐만 아니라 활동 식별자를 만들기 위해 CreateActivityId 에서 사용할 활동 이름에 대한 문자열을 제공합니다.

주문 Broker는 주문을 보내고 나중에 응답을 받기 때문에 주문의 요청 식별자에 지정된 활동 식별자를 복구할 메서드를 포함합니다. 이 메서드를 통해 비즈니스 프로세스에서 주문 처리의 최종 요소를 계속 추적할 수 있습니다.

참고

고객 서비스 웹 응용 프로그램 대신 파일 기능을 통해 주문을 제출하는 경우 각 요청에 고유한 식별자를 추가해야 합니다.

참고 항목

비즈니스 프로세스 관리 솔루션 개발