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. 【虚拟机】苹果虚拟机mac10.11.6+Xcode8.1

    [虚拟机]苹果虚拟机mac10.11.6+Xcode8.1本虚拟机加装Xcode8.1,方便大家更好学习Swift3.0语言以及iOS开发.安装注意事项:第一步:确认硬件:1.确认主板以及cpu支持虚 ...

  2. 疯狂java学习笔记之面向对象(三) - 方法所属性和值传递

    方法的所属性: 从语法的角度来看:方法必须定义在类中 方法要么属于类本身(static修饰),要么属于实例 -- 到底是属于类还是属于对象? 有无static修饰 调用方法时:必须有主调对象(主语,调 ...

  3. 解决Ue4C++使用UMG之类的模块时出现的拼写错误

    在cs文件中加入UMG模块后,在项目文件上右键生成项目文件即可解决

  4. HTML DOM domain 属性

    定义和用法 domain 属性可返回下载当前文档的服务器域名. 语法 document.domain 说明 该属性是一个只读的字符串,包含了载入当前文档的 web 服务器的主机名. 提示和注释 提示: ...

  5. SQL批量更新数据库中所有用户数据表中字段类型为tinyint为int

    --SQL批量更新数据库中所有用户数据表中字段类型为tinyint为int --关键说明:--1.从系统表syscolumns中的查询所有xtype='48'的记录得到类型为[tinyint]的字段- ...

  6. WPF之依赖属性

    Introduction When you begin to develop appliations with WPF, you will soon stumble across Dependency ...

  7. unity gizmo绘制圆形帮助调试

    using UnityEngine; using System.Collections; using System; public class LearnGrazio : MonoBehaviour ...

  8. java中的IO操作总结

    一.InputStream重用技巧(利用ByteArrayOutputStream) 对同一个InputStream对象进行使用多次. 比如,客户端从服务器获取数据 ,利用HttpURLConnect ...

  9. 使用Percona Toolkit解决Mysql主从不同步问题【备忘】

    由于各种原因,mysql主从架构经常会出现数据不一致的情况出现,大致归结为如下几类 1:备库写数据 2:执行non-deterministic query 3:回滚掺杂事务表和非事务表的事务 4:bi ...

  10. ACM: 继续畅通工程-并查集-最小生成树-解题报告

    继续畅通工程 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status Descri ...