业务流程管理解决方案可以通过多种方式与旧后端订单系统(接收最终订单的电缆预配系统)进行通信。 该解决方案使用 Microsoft .NET Framework 中找到的 .NET 远程处理设施来与预配系统通信。
该解决方案使用使用接口定义后端系统的访问对象的常见技术。 通过将接口放在单独的程序集中,客户端程序集可以访问远程对象,而无需访问编译的程序集。
IOrderHandler 接口定义与后端顺序系统通信的方法。 该接口包括用于分析、激活、取消和完成订单的方法。 它还提供用于标识服务类型的方法,这是取消订单时所需的方法。
CableOrder1、CableOrder2 和卫星业务流程使用实现 IOrderHandler 的 OrderHandlerWrapper 对象。 OrderHandlerWrapper 对象反过来又调用 CableProvisioningSystemServer 可执行文件提供的 OrderHandler 对象的远程实例。 使用包装器对象可满足使用 .NET 远程处理与后端订单系统通信的业务要求,同时允许使用异常处理组件的重试功能。
由于必须能够序列化业务流程中引用的每个对象,OrderHandlerWrapper也可以被序列化。 使用 OrderHandlerWrapper 将序列化代码与业务流程隔离开来。
如果查看代码,你将确定 OrderHandlerWrapper 对象显式实现 ISerializable 接口。 对象必须处理其自己的序列化,因为它使用非默认构造函数。
使用 .NET 远程处理与后端系统进行通信比使用消息传送更高效。 另一方面,它比纯消息解决方案更紧密地将业务流程绑定到后端系统。 使用 .NET 远程处理还会阻止解决方案利用内置的 BizTalk Server 功能来重试请求。