BizTalk开发系列(二十四) BizTalk项目框架建议

    Asp.NET有MVC框架,大部份的开发都是按照MVC进行的。BizTalk是面向消息的开发,不能完全采用分层的开发模式。而微软只提供了BizTalk项目开发的基本策略,通过分析相关的Complex项目。还有自己参与的一些BizTalk项目。整理了一下在BizTalk项目框架的建议。 

基本原则

  • 对于系统建立一个总体的解决方案。
  • 使用VSTS或VSS 对解决方案进行管理(以下是说明指的是在VSTS的环境下创建解决方案)。
  • 统一开发人员的本地项目目录结构。
  • 将较大的项目拆分为较小的几个项目,(单独DLL大小不超过10M)。
  • 使用统一的测试数据。

文件夹和项目规划

  将总体的解决方案根据架构设计分使用文件夹分为不同的区域,例如:BizTalk Applications, Components, Public, Web Applications , WinForm Applications等。在创建解决方案文件夹时要在解决方案的物理文件夹上创建相同的文件夹)。

1. BizTalk Applications子文件夹 

  • Pipelines, Pipeline跟其他项目关系不紧密,强烈建议单独列为一个文件夹。优先使用自己定义的Pipeline。如果系统自带的Pipeline已经有此功能,为了以后修改的方便(新增或删减功能)也建议使用自己创建的Pipeline。

  • Orchestrations

  • Maps

  • Schemas

  • Exception(如果有提供异常解决方案)

2. Components 子文件夹

  • Utility 用于创建公共方法或操作
  • Entity 用于创建实体类
  • BusinessProcess 用于特定业务需求

3. Public 子文件夹

  • Keys 用于存放解决方案的Key,最好只用一个。
  • TestData/Msgs 用于存放Schema生成的实例,还可以用于存放测试数据.
  • Config 用于存放配置文件或绑定文件。

项目初始化配置

  • 配置安装服务器时使用LOCALHOST或"."(点号)。点号的速度比LOCALHOST快。
  • 配置密钥时使用相对路径。

clip_image003

  • 设置相应的Application Name
  • 注意在配置选项菜单选择所有配置。

clip_image002 

  对于BizTalk调用的自定义的程序集在部署的时候是需要安装到GAC里的。此时最好用命令将自定义的组件通过生成后事件将其安装到GAC中。

"C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil.exe" /"$(TargetPath)" /F

 

[2008.12.12更新]

或者使用以下代码将DLL安装到GAC中

CALL "%VS80COMNTOOLS%vsvars32.bat"
gacutil  
/uf $(TargetName)
gacutil  
/if "$(TargetPath)

 

[2009.5.5 更新]

以下代码适合在Visual Studio 2008上使用

CALL "%VS90COMNTOOLS%vsvars32.bat"
gacutil  
/uf $(TargetName)
gacutil  
/if $(TargetPath)

 

[2010.8.21 更新]

以下代码适合在Visual Studio 2010上使用

CALL "%VS100COMNTOOLS%vsvars32.bat"
gacutil  
/uf $(TargetName)
gacutil  
/if $(TargetName)

 

   

clip_image001 

 

解决方案目录:

clip_image004

系统文件夹目录

clip_image005

posted on 2008-10-27 03:37 Gary Zhang 阅读(2417) 评论(8) 编辑 收藏

评论

#1楼  回复 引用 查看   

biztalk ,很帅的技术。不过很难接触到,不知道楼主是公司使用还是自学?
2008-10-27 13:39 | jillzhang      

#2楼[楼主]  回复 引用 查看   

@jillzhang
要是有兴趣自己学或公司使用都可以.我是近来一直在做BizTalk的项目.
2008-10-27 16:35 | Gary Zhang      

#3楼  回复 引用 查看   

好复杂的目录啊,学习学习,期待交流,csharpbs@hotmail.com
2008-10-30 14:54 | upzone      

#4楼  回复 引用 查看   

这样放是否容易乱呢
每个应用程序的文件都放一个项目还行吧
2008-10-31 18:54 | PENGYQ      

#5楼[楼主]  回复 引用 查看   

@PENGYQ
所有的解决方案都放到一个项目下,如果是小一点的项目还行。大的项目编译的时间你就受不了了。
2008-10-31 20:34 | Gary Zhang      

#6楼  回复 引用 查看   

Solution 下面分 Project,编译时候可以选择性的编译,应该问题不大
2008-11-03 08:55 | upzone      

#7楼  回复 引用 查看   

太棒了。我们团队也是基于这些最佳实践来开发的。
2010-02-11 12:58 | ITLOVER      

#8楼  回复 引用 查看   

太好了,看到这篇,对于开发biztalk有了大致的了解了。

在次感谢楼主
2011-01-11 11:51 | 酱板猪      

导航

公告


本Blog所有内容,若无特殊说明,均为原创。如需转载,请注明作者和出处,且保证内容完整!如有其他用途,请联系作者: cbcye@live.com













昵称:Gary Zhang
园龄:4年1个月
粉丝:63
关注:2

我的标签

随笔分类(89)

随笔档案(117)

BizTalk资源

IBM Learning Resource

积分与排名

  • 积分 - 128953
  • 排名 - 773

最新评论

阅读排行榜