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快。
  • 配置密钥时使用相对路径。

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

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

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

注:如自动部署提示错误,请确保所有程序集均已签名

[2012.2.24 更新]

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

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

"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\gacutil.exe" /i "$(TargetPath)" /F

[2009.5.5 更新]

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

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

[2008.12.12更新]

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

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

解决方案目录:

系统文件夹目录

BizTalk开发系列(二十四) BizTalk项目框架建议的更多相关文章

  1. BizTalk开发系列(二十二) 开发自定义Map Functoid

    尽管 BizTalk Server 提供许多Functoid以支持一系列不同的操作,但仍可能会遇到需要其他方法的情况.<BizTalk开发系列 Map扩展开发>介绍了通过使用自定义 XSL ...

  2. BizTalk开发系列(二十八) MSMQ 适配器

    MSMQ(MicroSoft Message Queue,微软消息队列)是在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可以分布于相连的网络空间 中的任一 ...

  3. BizTalk开发系列(二十六) 使用Web Service

    Web Service是在构建SOA平台中广泛使用的技术.在BizTalk开发过程中使用SOAP适配器接收和发送 Web Services 请求.业务流程可以发布为 Web Services 并使用外 ...

  4. BizTalk开发系列(二十五) SQL Adapter

    SQL Server 是.NET开发的首选数据库.当然开发BizTalk应用程序很多也离不了SQL Server.针对SQL Server的数据操作BizTalk 提供了SQL Adapter作为与数 ...

  5. BizTalk开发系列(二十) 类型作用域

    Orchestration中的Type概念跟.NET 里的Class一样,可以在Orchestration开过过程中将多个实例绑定到一种类型.Orchestration 视图里包括的类型有Port T ...

  6. BizTalk开发系列(三十四) Xpath

    XPath 是在 XML 文档中查找信息的语言,在BizTalk的开发中应用非常广泛,当然你可以不必先学Xpath再去学BizTalk.但是如果对Xpath有一定了解的 话,在很多应用下会使你的开发更 ...

  7. BizTalk开发系列(二十九) 宏的使用

    在BizTalk中可以使用宏集合动态的让BizTalk发送处理程序使用单独的值来替换宏.常用的使用宏的发送程序有:文件发送适配器和SMTP发送适 配器.在表达式中可以使用同时使用多个宏.例如:在文件发 ...

  8. BizTalk 开发系列(三十九) BizTalk Server 2009技术概览

    BizTalk Server 2009已经发布一段时间了,之前Beta版发布的时候也写过一篇文章<BizTalk Server 2009 Beta初体验>, 当时比较了2006 R2与20 ...

  9. Chrome浏览器扩展开发系列之十四

    Chrome浏览器扩展开发系列之十四:本地消息机制Native messaging 时间:2015-10-08 16:17:59      阅读:1361      评论:0      收藏:0    ...

随机推荐

  1. HTML head表头添加meta设置

    <!--页面编码规则--> <meta charset="UTF-8" /> <!--设置浏览器以文档最高模式启用--> <meta ht ...

  2. 廖雪峰js教程笔记6 generator一个坑 看完python在回来填坑

    generator(生成器)是ES6标准引入的新的数据类型.一个generator看上去像一个函数,但可以返回多次. ES6定义generator标准的哥们借鉴了Python的generator的概念 ...

  3. 【转】ContextLoaderListener 和 DispatcherServlet

    转载地址: http://www.guoweiwei.com/archives/797 DispatcherServlet介绍 DispatcherServlet是Spring前端控制器的实现,提供S ...

  4. aapt命令介绍及常用命令实践

    D:\>aapt -h ERROR: Unknown command '-h' Android Asset Packaging Tool Usage: aapt l[ist] [-v] [-a] ...

  5. 【SAP BusinessObjects】WEBI中的动态求和,累加函数的使用

    在WEBI中,提供了这样一个函数: RunningSum([字段名]) 其作用是,将[字段名]这一列进行累加动态求和 对于需要进行计算累加值的列就不必写复杂的SQL,直接使用此函数即可解决.

  6. linux中用shell获取时间,日期

    linux中用shell获取昨天.明天或多天前的日期:在Linux中对man date -d 参数说的比较模糊,以下举例进一步说明:# -d, --date=STRING display time d ...

  7. webpack: require.ensure与require AMD的区别

    http://blog.csdn.net/zhbhun/article/details/46826129

  8. CUDA程序设计(三)

    算法设计:基数排序 CUDA程序里应当尽量避免递归,因而在迭代排序算法里,基数排序通常作为首选. 1.1 串行算法实现 十进制位的基数排序需要考虑数位对齐问题,比较麻烦.通常实现的是二进制位的基数排序 ...

  9. 关于NSNotificationCenter消息通信用法

    NSNotificationCenter主要用于广播消息到多个监听着,其传统用法 - (void)viewDidLoad { [super viewDidLoad]; [[NSNotification ...

  10. [深入浅出Windows 10]分屏控件(SplitView)

    4.18 分屏控件(SplitView) 分屏控件(SplitView)是Windows 10新增的控件类型,也是Windows 10通用应用程序主推的交互控件,通常和一个汉堡按钮搭配作为一种抽屉式菜 ...