启动 BizTalk 项目时,我通常遵循 here 中的命名约定。 。您命名项目和程序集的位置类似于:
MyCompany.MyProject.Orchestrations.dll
MyCompany.MyProject.Schemas.dll
MyCompany.MyProject.Pipelines.dll
MyCompany.MyProject.Transforms.dll
MyCompany.MyProject.PipelineComponents.dll
其他 BizTalk 人员的几个问题:
1) 我通常发现自己有多个带有模式的项目或需要分离模式。您是否将它们放在单独的程序集中,如果是,那么您遵循什么约定来命名项目/程序集。如果不是,您是否将它们粘贴到一个程序集中的子文件夹中。
2) 我相信,这可能是错误的,这是一种 BizTalk 约定,将项目和程序集命名为相同的名称,如上所示。我考虑过不要将项目命名为与完整程序集名称相同的名称,因此我可能将项目命名为 Maps,并将其程序集命名为 MyCompany.MyProject.Maps。其他人也这么做吗?
最佳答案
从 BTS 2009 开始,我们根据项目和程序集所属的应用程序以及可选的子应用程序或关注范围来命名我们的项目和程序集:
MyCompany.Biz.MyFirstApp.dll
MyCompany.Biz.MyFirstApp.Util.dll
MyCompany.Biz.MyFirstApp.ConcernOne.dll
MyCompany.Biz.MySecondApp.dll
我们采取了将编排、架构和映射放在一起的方法,因为多程序集依赖关系可能会使部署变得非常麻烦。
我们的主要目标是将源系统和目标系统分开以避免直接引用。我们通过引入“核心”组件来解决我们正在处理的所有问题,从而实现了这一目标:
BTS 应用程序 MyFirstApp
MyCompany.Biz.MyFirstApp.OrderProcessing.dll
MyCompany.Biz.MyFirstApp.Util.dll
BTS 应用核心
MyCompany.Biz.CORE.OrderProcessing.dll
BTS 应用程序 MySecondApp
MyCompany.Biz.MySecondApp.OrderProcessing.dll
MyFirstApp
和 MySecondApp
都将引用 CORE.OrderProcessing
中的架构。
更新
MyCompany.Biz.MyFirstApp.OrderProcessing 将包含传入订单文档的消息架构以及用于将这些文档映射到核心订单消息架构(包含在MyCompany.Biz.CORE 中)的映射。订单处理)。如果需要,它还可以包含用于接收消息和(接收)管道组件的编排(例如处理平面文件时)。
MyCompany.Biz.MySecondApp.OrderProcessing 将包含传出文档的消息架构以及用于从核心订单消息架构映射(到传出)的映射。
在此基本布局中,CORE 只是内部消息模式的容器,但它将是向订单文档添加信息的最佳位置 - 例如,为 A 类客户提供全局折扣的编排(业务规则! )。简而言之,基本上任何步骤在发送或接收消息时都会执行两次甚至多次,并且如果传入或传出消息架构更改或添加新应用程序,您不想触及。
关于Biztalk 项目命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4136315/