应用程序的升级和版本控制策略
需要并行运行 BizTalk 解决方案的两个版本,或者无法使用 BizTalk 应用程序停机来部署新版本时,BizTalk 应用程序版本控制可能会成为一个问题。 如果不需要同时运行解决方案的两个版本 (例如,) 没有长时间运行的业务流程,并且服务维护时段可用,则完全可以接受取消部署旧版本,并将新版本部署为版本控制策略, (无程序集版本控制) 。 这是一种可能的版本控制策略,尽管我们仍建议 (递增文件版本号,以便知道在运行 BizTalk Server) 的计算机上部署了哪个版本。
何时使用版本控制
如果需要支持长时间运行的业务流程,并且/或需要在不停机 BizTalk 应用程序的情况下执行 BizTalk 应用程序部署,则需要为不同的版本控制方案实施和实践可靠的端到端BizTalk Server版本控制策略。 这包括所有 BizTalk 项目的 .NET 程序集版本和版本控制,其中包括架构、映射、管道、管道组件、业务流程、自定义适配器、业务流程和映射中调用的自定义类、业务规则和 BAM。
架构版本控制是唯一的,BizTalk Server管道根据架构中定义的目标命名空间和根节点名称确定消息的消息类型。 有关详细信息,请参阅 管道组件中的架构解析。 如果需要对架构进行版本控制,版本指示器必须是目标命名空间的一部分。 更改架构版本会在整个解决方案中产生连锁反应,因此应提前计划。 创建业务流程消息时,请搜索BizTalk Server:8 个提示和技巧,以改进 BizTalk 编程 (提示 1:始终使用多部分消息类型) 。 使用此方法在对架构进行版本控制时提供了更大的灵活性。
使用分解进行程序集版本控制
如果需要支持长时间运行的业务流程、并行部署或无停机升级,则应实现程序集版本控制与打包策略。 若要对 BizTalk 项目执行程序集版本控制,需要将 BizTalk 解决方案程序集分解为 (打包) ,以便BizTalk Server版本控制。 有三种类型的分解:
无分解
所有 BizTalk 项目都在一个程序集中。 这是最容易理解和部署的,但提供的灵活性最低。
全分解
每个 BizTalk 项目都位于其自己的程序集中。 这提供了最大的灵活性,但最复杂的部署和理解。
最佳分解
基于 BizTalk 应用程序的深入分析,介于“无分解”和“完全分解”之间。 除了版本控制之外,还可以轻松实现 BizTalk 主机设计。 这是通过查找 BizTalk 项目之间的关系来实现的。 始终一起进行版本控制的项目通常可以放在同一程序集中。 如果需要项目的独立版本控制,则必须将其放入不同的程序集中。 这是你想要实现的分解级别。
其他资源
定义并实践可靠的版本控制策略,以确保它提供你可能需要的任何并行部署策略。 BizTalk Server应用程序升级和版本控制策略的资源包括: