业务流程管理解决方案经过设计,可以根据需要替换阶段。 此设计还提供更简单的版本控制架构方法。
有关将业务流程划分为阶段的信息,请参阅 业务流程管理解决方案中的一些设计原则。
注释
解决方案的元素高度依赖于消息结构。 更改消息结构需要对业务流程进行重大更改。
有关更新已部署解决方案中的程序集的常规说明以及编写脚本以处理更新的指南,请参阅 更新 BizTalk 应用程序。
添加、替换或删除阶段
订单处理阶段业务流程包含两种类型的代码:实现业务流程的代码和提供基础结构的代码,以便它可以在解决方案中运行。 在阶段业务流程( CableOrder1 和 CableOrder2)中,业务流程代码位于标记为“业务处理”的组形状内。
创建新阶段的最简单方法是复制其中一个阶段,将“业务处理”组中的代码替换为代码,并使基础结构代码保持不变。
注释
CableOrder2 编排包含两个“业务处理”组,第二个组围绕“更新历史记录发送”形状。 “发送”形状是高效发送范围域的一部分。 (有关详细信息,请参阅 OrderBroker 编排中的处理“通过嵌套范围提高性能”。由于“组”形状不能与“范围”形状的部分重叠,因此第二个组被标记,以表明它是业务流程代码的一部分。
必须将新编排上的筛选器表达式设置为其在序列中的编号。 OrderManager 假定阶段编号以 1 开头,每个阶段(1、2、3 ...)分别增加一个。 若要筛选第三个阶段,请将筛选器表达式设置为以下内容:
(Microsoft.Samples.BizTalk.SouthridgeVidoe.Schemas.Stage == 3)
该解决方案使用 BAM API 跟踪解决方案中的事件,包括订单处理阶段。 第一个阶段启动 BAM 活动;最后阶段结束它。 如果存在异常,解决方案中的处理程序将结束所涉及的 BAM 活动。 BAM 有效地将不连续的操作重新组合为一个连续的视图,以便监控。
更改配置
如果更改增加或减少阶段数,则必须更改存储在企业单一 Sign-On(SSO)机密存储中的配置信息。
如果尚未部署应用程序,可以在 CreateSouthridgeVideoApplication.cmd 脚本文件中修改 TotalStages 的配置设置。 在部署期间运行脚本时,该值将更改。
如果已部署应用程序,可以通过在 SDK\Common\SsoApplicationConfig 文件夹中运行命令行实用工具 BTSScnSSOApplicationConfig 来更改值。 若要将阶段总数设置为 3,请使用以下命令行:
BTSScnSSOApplicationConfig -set SouthRidgeVideo.CableOrder ConfigProperties TotalStages 3
由于解决方案缓存配置值,因此必须等到刷新间隔通过才能使新值生效。
版本控制架构
BizTalk 从包含它的程序集的最新版本获取架构。 这意味着,如果创建架构的新版本,它将完全替换架构的所有早期版本。 当事务生存期较短时,这很有效。 但是,业务流程管理解决方案中的事务是长期存在的:订单可能需要长达一年的时间才能完成。
为了允许使用正在使用的架构的多个版本,解决方案中的每个架构在其命名空间中包含版本号。 例如,Order 架构的命名空间如下所示:
http://Microsoft.Samples.BizTalk.SouthridgeVideo.Schemas.Order.v1
由于命名空间标识了架构并包含版本号使命名空间对架构是唯一的,因此新架构将与旧版本不同。 因此,无需取代旧架构即可使用新架构。