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快。
- 配置密钥时使用相对路径。
![]()
- 设置相应的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上使用
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上使用
gacutil /uf $(TargetName)
gacutil /if $(TargetPath)
[2008.12.12更新]
或者使用以下代码将DLL安装到GAC中
CALL "%VS80COMNTOOLS%vsvars32.bat" gacutil /uf $(TargetName) gacutil /if "$(TargetPath)
![]()
解决方案目录:
![]()
系统文件夹目录
![]()
BizTalk开发系列(二十四) BizTalk项目框架建议的更多相关文章
- BizTalk开发系列(二十二) 开发自定义Map Functoid
尽管 BizTalk Server 提供许多Functoid以支持一系列不同的操作,但仍可能会遇到需要其他方法的情况.<BizTalk开发系列 Map扩展开发>介绍了通过使用自定义 XSL ...
- BizTalk开发系列(二十八) MSMQ 适配器
MSMQ(MicroSoft Message Queue,微软消息队列)是在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可以分布于相连的网络空间 中的任一 ...
- BizTalk开发系列(二十六) 使用Web Service
Web Service是在构建SOA平台中广泛使用的技术.在BizTalk开发过程中使用SOAP适配器接收和发送 Web Services 请求.业务流程可以发布为 Web Services 并使用外 ...
- BizTalk开发系列(二十五) SQL Adapter
SQL Server 是.NET开发的首选数据库.当然开发BizTalk应用程序很多也离不了SQL Server.针对SQL Server的数据操作BizTalk 提供了SQL Adapter作为与数 ...
- BizTalk开发系列(二十) 类型作用域
Orchestration中的Type概念跟.NET 里的Class一样,可以在Orchestration开过过程中将多个实例绑定到一种类型.Orchestration 视图里包括的类型有Port T ...
- BizTalk开发系列(三十四) Xpath
XPath 是在 XML 文档中查找信息的语言,在BizTalk的开发中应用非常广泛,当然你可以不必先学Xpath再去学BizTalk.但是如果对Xpath有一定了解的 话,在很多应用下会使你的开发更 ...
- BizTalk开发系列(二十九) 宏的使用
在BizTalk中可以使用宏集合动态的让BizTalk发送处理程序使用单独的值来替换宏.常用的使用宏的发送程序有:文件发送适配器和SMTP发送适 配器.在表达式中可以使用同时使用多个宏.例如:在文件发 ...
- BizTalk 开发系列(三十九) BizTalk Server 2009技术概览
BizTalk Server 2009已经发布一段时间了,之前Beta版发布的时候也写过一篇文章<BizTalk Server 2009 Beta初体验>, 当时比较了2006 R2与20 ...
- Chrome浏览器扩展开发系列之十四
Chrome浏览器扩展开发系列之十四:本地消息机制Native messaging 时间:2015-10-08 16:17:59 阅读:1361 评论:0 收藏:0 ...
随机推荐
- Redis 的 5 个常见使用场景
2015-07-22 23:31:46 本文由 伯乐在线 - 刘晓鹏 翻译,黄利民 校稿.未经许可,禁止转载!英文出处:Joe Engel.欢迎加入翻译组. 在这篇文章中,我们将阐述 Redis 最常 ...
- AngularJS 学习之表格
1.ng-repeat指令可以完美的显示表格: 2.在表格中显示数据: <div ng-app="myApp" ng-controller=""custo ...
- JS_ECMA基本语法中的几种封装的小函数
先来回顾一下我们的字符串: 字符串方法: str.length str.charAt(i):取字符串中的某一个; str.indexOf('e');找第一个出现的位置;找不到返回-1; str.l ...
- Gym 100814C Connecting Graph 并查集+LCA
Description standard input/output Statements Alex is known to be very clever, but Walter does not be ...
- 转 Delphi中使用FastMM4结合View CPU避免内存泄漏
http://www.cnblogs.com/kongchao/archive/2009/10/27/1590479.html 核心提示:内存泄漏经常出现在本地代码中,特别是多线程和发生异常的情况下, ...
- http://www.cnblogs.com/meiCode/p/5896239.html
http://www.cnblogs.com/meiCode/p/5896239.html
- sring mvc 返回值至jsp界面的几种方式
Spring 通过Controller 向 View 传值的方法有以下四种 HttpServletRequest ModelAndView Map<String, Object> map ...
- oracle存储海量数据 设计方案
日历基本活动表的数据有四千万条,在这些生产库业务中是小的了. 从三个方面提高效率: 1.sql语句 要绑定变量,sql语句书写规范这些,包括的就多了.主要目的就是提高数据库吞吐量及业务SQL响应时间. ...
- ural 2066. Simple Expression
2066. Simple Expression Time limit: 1.0 secondMemory limit: 64 MB You probably know that Alex is a v ...
- ural 1343. Fairy Tale
1343. Fairy Tale Time limit: 1.0 secondMemory limit: 64 MB 12 months to sing and dance in a ring the ...