本部分介绍的解决方案提供了实现业务流程管理应用程序的一种方法。 在理想的业务流程管理器中,表示业务流程的解决方案(业务规则、与特定后端系统通信、发送响应消息)的部分独立于支持该过程的基础结构。
在此解决方案中,南岭视频的有线电视服务订购系统将业务流程分为一系列阶段。 对业务规则和后端系统一无所知的订单管理器将指导各个阶段的具体操作。 订单管理器从订单中介接收订单,中介可以将订单定向到多个不同的订单管理器。
该解决方案广泛使用 BizTalk Server 功能,并显示应用程序内部的消息用于协调应用程序的各个部分。
读者指南
本文档假定你熟悉 BizTalk Server 和 Microsoft Visual Studio。 它还假设你了解有关企业应用程序集成和 Web 服务的基本概念。
此外,若要阅读并遵循开发人员文档,应熟悉如何使用 Visual Studio 和执行以下任务来生成应用程序:创建项目、设置引用和调试和测试 BizTalk 解决方案。
从南岭视频订购有线电视服务
业务流程管理解决方案为南岭视频实施有线电视服务订购系统。 客户拨打呼叫中心,客户服务代表将订单输入到订单系统中。 下图显示了订单通过系统的常规流程:
订单将转到订单代理,该代理将订单发送到订单管理器。 订单管理器按正确的顺序运行处理阶段来处理订单。 请注意,某些类型的错误将转到作中心进行更正和重新提交,并且解决方案记录 SQL Server 表中每个订单的历史记录。
下图显示了处理订单的步骤的大致概述。
请注意,订单可以更新和取消。
业务要求
业务流程管理解决方案是索南里奇视频(一家有线电视服务提供商)的订单系统示例。 它显示了在 Microsoft BizTalk Server 中实现进程管理器模式的一种方法。 该解决方案通过一个编排流程管理订单流,该编排流程利用两个卫星编排来实现业务流程。 此结构来自解决方案的业务要求,其中包括:
能够对业务流程进行版本控制
处理长期订单
修改或取消仍在处理的订单(补充航班订单)
避免暂停订单
在整个流程中跟踪订单
批量订单处理
接受来自远程数据中心的订单
允许不同的组处理订单处理的各个部分
通过添加 BizTalk 组缩放应用程序
通过远程处理将订单管理器公开为应用程序服务器
Southridge Video 的业务要求由三部分构成:订单代理、流程经理和业务流程本身。 南岭视频公司有两个单独的 IT 团队参与开发该应用。 消息传送组维护公司消息传递基础结构,并提供用于将应用程序连接到该基础结构的组件。 另一个组为特定业务流程编写和维护应用程序。 因此,订单代理与订单流程管理器和进程阶段分开,以便它可以由单独的组维护。 因为它是一个独立的组件,订单经纪人也可以扩展为向多个流程管理器处理订单。 可以添加流程管理器来支持新的业务线,例如 VIP 服务。
Southridge Video的订单是长期运行的过程:电缆订单可能需要从一分钟到一年才能完成。 由于 BizTalk 业务流程的实例必须完整地运行到结束,这意味着该业务流程实例的生命周期最长可能达到一年。
Southridge Video 需要一个体系结构,用于长时间运行的进程,允许应用程序组件在订单处理期间更改。 因此,Southridge 将订单处理划分为多个阶段,以便订单可以使用最新的进程组件完成。 有关如何确定业务流程中的阶段边界的信息,请参阅 业务流程管理解决方案中的一些设计原则。
订单的处理时间较长,部分决定了需要更改航班内订单。 修改订单是解决方案包含大量中断系统的原因之一。 在订单更改或取消完成之前,此中断系统简化了更改或取消订单的过程。 解决方案使用 .NET 消息在解决方案的功能部分之间进行通信以处理中断。
由于系统具有许多外部依赖项,因此在发生故障后可以重试某些作。 例如,如果后端系统不可用且请求超时,则解决方案将等待适当的间隔并重试请求。 由于与外部系统的连接通过自定义代码,因此该解决方案的这一部分广泛使用 .NET 反射,以允许重试对象方法。
该解决方案假设,与现实生活中的公司一样,订单处理问题可由运营组中的人员处理。 同样,将某种订单错误转回客户服务代表,该代表可能会取消或更正并重新提交订单。
业务流程管理解决方案资源
有关业务流程管理解决方案的其他信息,请阅读以下文档。
业务流程管理解决方案资源
-
开发人员和软件架构师可以使用本指南来记录生成和运行业务流程管理应用程序所需的所有代码、模式、体系结构和性能设计问题。
-
对 BizTalk Server 有一般了解的 IT 专业人员可以使用本指南来生成和运行业务流程管理应用程序。 本指南假定大致了解应用程序在分布式环境中的工作原理。