Order Handler 개체를 사용하여 백 엔드 시스템과 통신
비즈니스 프로세스 관리 솔루션은 최종 주문을 받는 케이블 프로비전 시스템인 레거시 백 엔드 주문 시스템과 여러 가지 방법으로 통신할 수 있습니다. 이 솔루션은 Microsoft .NET Framework 있는 .NET 원격 기능을 사용하여 프로비전 시스템과 통신합니다.
솔루션은 인터페이스를 사용하여 백 엔드 시스템에 대한 액세스 개체를 정의하는 일반적인 기술을 사용합니다. 인터페이스를 별도의 어셈블리에 배치하면 클라이언트 어셈블리가 컴파일된 어셈블리에 액세스하지 않고도 원격 개체에 액세스할 수 있습니다.
IOrderHandler 인터페이스는 백 엔드 순서 시스템과 통신하는 메서드를 정의합니다. 이 인터페이스에는 주문을 분석, 활성화, 취소 및 완료하는 메서드가 포함되어 있습니다. 또한 이 인터페이스는 주문을 취소할 때 필요한 메서드인 서비스 유형 식별 메서드를 제공합니다.
CableOrder1, CableOrder2 및 위성 오케스트레이션은 IOrderHandler를 구현하는 OrderHandlerWrapper 개체를 사용합니다. OrderHandlerWrapper 개체는 CableProvisioningSystemServer 실행 파일에서 제공하는 OrderHandler 개체의 원격 instance 호출합니다. 래퍼 개체를 사용하면 .NET Remoting을 사용하여 백 엔드 주문 시스템과 통신해야 하는 비즈니스 요구 사항이 충족되는 동시에 예외 처리 구성 요소의 다시 시도 기능을 사용할 수 있습니다.
오케스트레이션에서 참조되는 모든 개체를 직렬화할 수 있어야 하므로 OrderHandlerWrapper 를 직렬화할 수도 있습니다. OrderHandlerWrapper를 사용하면 serialization 코드를 오케스트레이션에서 격리합니다.
코드를 살펴보면 OrderHandlerWrapper 개체가 ISerializable 인터페이스를 명시적으로 구현합니다. 이 개체는 기본값이 아닌 생성자이므로 해당 serialization을 처리해야 합니다.
.NET Remoting을 사용하여 백 엔드 시스템과 통신하는 경우 메시징을 사용하는 것보다 효율적인 동시에 순수 메시징 솔루션보다 더 긴밀하게 오케스트레이션을 백 엔드 시스템에 바인딩할 수 있습니다. 또한 .NET Remoting을 사용하면 솔루션이 요청을 다시 시도하기 위해 기본 제공 BizTalk Server 기능을 이용할 수 없습니다.