다음을 통해 공유


비즈니스 프로세스 관리 솔루션의 몇 가지 디자인 원칙

이 항목에서는 먼저 비즈니스 프로세스를 단계로 구분하는 작업과 관련된 일반적인 지침을 제공합니다. 그리고 계속해서 이러한 지침 및 비즈니스 요구 사항과 연관된 솔루션의 오케스트레이션, 어셈블리 및 응용 프로그램의 몇 가지 구조에 대해 설명합니다. 비즈니스 요구 사항에 대한 자세한 내용은 비즈니스 프로세스 관리 솔루션 이해의 "비즈니스 요구 사항"을 참조하세요.

비즈니스 프로세스 구분

비즈니스 프로세스를 고려할 경우 처음에는 비즈니스 프로세스를 단일 프로세스로 다루려고 하는 경향이 있습니다. 하지만 이런 접근 방법이 적합하지 않을 수도 있습니다. Southridge Video에서 주문은 장기 실행 비즈니스 프로세스이며, 완료하는 데 1년까지 걸릴 수도 있습니다. 그 사이 비즈니스 프로세스 자체가 변경될 수도 있습니다. 진행 중인 주문을 방해하지 않으면서 비즈니스 프로세스를 업데이트할 수 있도록 Southridge Video 주문 처리는 여러 단계로 구분됩니다.

프로세스를 구분하는 위치에 따라 프로세스에서 버전 관리가 가능한 부분과 보류 중인 주문에 허용되는 중단의 유형이 결정됩니다. Southridge Video 솔루션에서는 네 가지 일반 기준에 따라 단계를 결정합니다.

  • 비즈니스 프로세스에서 단계의 논리적인 그룹화

  • 오케스트레이션 내의 작업 범위

  • 비즈니스 프로세스에서 버전을 관리할 때 유용한 프로세스의 요소

  • 장기 작업 완료 후 오케스트레이션 종료

    보통은 작업 범위가 버전을 관리할 명확한 요소와 논리적인 그룹화를 훨씬 능가하기 때문에 네 가지 중에서 첫 번째와 세 번째가 가장 중요합니다. 하지만 범위 중간에서 오케스트레이션을 종료하는 것은 좋지 않습니다.

    첫 번째 단계인 CableOrder1.odx의 오케스트레이션을 살펴보면 시설 시스템에 대한 요청 응답 시퀀스로 효과적으로 끝나는 것을 볼 수 있습니다. 이 위치는 프로세스에서 실제로 주문을 완료하는 작업과 관련된 부분이므로 단계 종료에 좋은 위치입니다. 오케스트레이션이 끝나는 부분 근처에 긴 처리 단계를 두면 리하이드레이션 시에 오케스트레이션이 빨리 끝납니다. 그러면 솔루션 전체가 새 버전의 오케스트레이션으로 이동하는 속도도 빨라집니다.

참고

솔루션은 프로세스를 연속되지 않은 단계로 분할하지만, 솔루션 모니터링을 사용하면 BAM을 사용하여 연속 보기로 표시할 수 있습니다.

주문 작업, 브로커 및 관리자 오케스트레이션

주문 처리를 단계로 나누는 것 외에도 주문, 주문 유효성 검사, 주문 취소와 같은 각 주문 작업이 별도의 오케스트레이션에 있다는 것을 알 수 있습니다. 각 작업을 별도의 오케스트레이션에 넣으면 작업이 단계의 구조에서 분리됩니다. 그러면 주문 처리 단계의 디자인과 버전 관리가 훨씬 유연해집니다.

주문 브로커와 주문 관리자도 비슷한 이유로 별도의 오케스트레이션에 있습니다. 솔루션 디자인에서는 여러 주문 관리자를 사용하여 다른 종류의 주문을 처리할 수 있습니다. 브로커와 관리자를 분리하면 이 둘을 다른 위치에 둘 수도 있습니다. 주문 브로커의 디자인에 대한 자세한 내용은 OrderBroker 오케스트레이션의 처리에서 "이유 및 주문 브로커?"를 참조하세요. 주문 관리자에 대한 자세한 내용은 프로세스 관리자 논리를 참조하세요.

어셈블리

솔루션에서 어셈블리는 구성 요소의 버전 관리를 지원하고 다른 서버로의 구성 요소 이동을 지원하도록 구성됩니다. 예를 들어 스키마는 별도의 어셈블리에 있습니다. 특히 order broker에 대한 스키마는 자체 어셈블리에 있습니다. 이로 인해 솔루션의 다른 요소를 변경하지 않고도 버전을 관리할 수 있습니다. 또한 주문 브로커를 간단하게 별도의 그룹이나 서버로 이동할 수 있습니다. 애플리케이션 및 스키마 어셈블리 버전 관리에 대한 자세한 내용은 비즈니스 프로세스 관리 솔루션 버전 관리를 참조하세요.

애플리케이션

BizTalk 관리 콘솔을 보면 빌드된 솔루션이 다음과 같은 세 개의 개별 응용 프로그램으로 구성되는 것을 알 수 있습니다.

  • BTSScn.BPM.OrderBrokerApp, order broker를 포함하는 애플리케이션

  • BTSScn.BPM.CableOrderApp, 주문 처리 구성 요소를 포함하는 애플리케이션

  • BTSScn.BPM.MessagingApp, 다른 두 애플리케이션에서 공유하는 아티팩트를 수집하는 애플리케이션

    세 부분으로 된 솔루션 구조가 가능한 것은 BizTalk 응용 프로그램에서 같은 BizTalk 그룹에 속한 다른 응용 프로그램의 아티팩트를 사용할 수 있기 때문입니다. 다른 응용 프로그램의 아티팩트를 사용하려면 참조하는 응용 프로그램에서 다른 응용 프로그램에 대한 참조를 추가합니다. 다른 애플리케이션을 참조하는 방법에 대한 자세한 내용은 다른 애플리케이션에 참조를 추가하는 방법을 참조하세요.

    공통된 아티팩트를 별도 응용 프로그램에 두면 한 곳에서만 구성 요소를 업데이트하는 것도 가능합니다. 공유 구성 요소에는 포트를 비롯한 모든 것이 포함될 수 있습니다. 예를 들어 솔루션의 오케스트레이션은 오류 보고 포트로 오류를 보냅니다. 해당 포트는 전체 솔루션에서 사용할 수 있는 메시징 응용 프로그램인 BTSScn.BPM.MessagingApp에 있습니다.

    솔루션을 세 개의 응용 프로그램 구조로 구성하면 솔루션의 일부를 다른 서버로 이동하기도 쉽습니다. 각 응용 프로그램과 참조된 응용 프로그램은 MSI 파일로 변환할 수 있습니다. 그런 다음 MSI 파일을 다른 컴퓨터에 설치할 수 있습니다. 애플리케이션을 MSI 파일로 변환하는 방법에 대한 자세한 내용은 BizTalk 애플리케이션 내보내기를 참조하세요.

테스트 솔루션

또한 BizTalk 관리 콘솔에서 BTSScn.BPM.OrderBrokerApp.Test, BTSScn.BPM.CableOrderApp.TestBTSScn.BPM.MessagingApp.Test의 세 가지 테스트 애플리케이션을 테스트합니다. 이 세 가지 응용 프로그램은 테스트 응용 프로그램을 위한 포트만 포함하며 주 응용 프로그램에서 참조됩니다. 이러한 구조를 활용하면 테스트 포트를 솔루션에서 분리하면서도 주 응용 프로그램에서 테스트 포트를 사용하여 테스트 솔루션을 생성할 수 있습니다.

참고 항목

비즈니스 프로세스 관리 솔루션의 구현 주요 사항
비즈니스 프로세스 관리 솔루션의 패턴