使用 Order 处理程序对象与后端系统通信

业务流程管理解决方案可以采用多种方式与原有后端订单系统进行通信,该系统是接收最终订单的宽带提供系统。 该解决方案使用 Microsoft .NET Framework 中提供的 .NET 远程处理功能与提供系统进行通信。

该解决方案采用一项常用技术,即使用接口来定义后端系统的访问对象。 通过将接口放置在单独的程序集中,客户端程序集可以具有访问远程对象的权限,而无需具有访问编译的程序集的权限。

IOrderHandler 接口定义与后端订单系统通信的方法。 该接口包括用于分析、激活、取消和完成订单的方法。 它还提供用于标识服务类型的方法,这是取消订单时所需的方法。

CableOrder1CableOrder2 和附属业务流程使用实现 IOrderHandlerOrderHandlerWrapper 对象。 而 OrderHandlerWrapper 对象又调用 CableProvisioningSystemServer 可执行文件提供的 OrderHandler 对象的远程实例。 通过使用包装对象,可以满足使用 .NET 远程处理与后端订单系统进行通信的业务需求,同时还允许使用异常处理组件的重试功能。

由于必须能够序列化业务流程中引用的每个对象, 因此也可以序列化 OrderHandlerWrapper 。 使用 OrderHandlerWrapper 可将序列化代码与业务流程隔离开来。

如果查看代码,可以确定 OrderHandlerWrapper 对象显式实现 ISerializable 接口。 该对象必须处理其自身的序列化,因为它使用非默认的构造函数。

与使用消息传送相比,使用 .NET 远程处理可以更有效地与后端系统进行通信。 另一方面,与单纯的消息传送解决方案相比,使用 .NET 远程处理可以将业务流程更紧密地绑定到后端系统。 通过使用 .NET 远程处理,还可以防止该解决方案利用内置的 BizTalk Server 功能来重试请求。

另请参阅

业务流程管理解决方案的实施重点
进程管理器逻辑