BizTalk Server 2006已经发布有一段时间,笔者使用BizTalk Server 2006系统也有一段时间。鉴于国内关于BizTalk平台的学习资源不多,比较好的参考资源也只有安装程序自带的BizTalk Server文档,因此,笔者对国外CodeProject.com网站上能查到的BizTalk相关文章进行了研究和例子调试,确实体会到 BizTalk平台应用于EAI、B2B的强大和开发的高效率,个人认为是一个非常优秀的企业应用集成平台。为使国内BizTalk项目开发者能更快的学 习和掌握BizTalk企业集成应用平台,笔者对CodeProject.com上学习过的每篇文章进行了概括性描述,并注明例子调试BizTalk系统 版本,以方便国内开发者快速寻找参考解决方案。
介 绍:本文演示使用多个业务流程实现无人干预的工作流实现,其中实现的技术关键点有设置每个流程第一个接受模块的筛选器表达式来指明应用于传入消息的属性, 只接收满足此筛选标准的消息,设置激活为true。各个业务流程之间通过使用直接端口绑定,并设置在端口之间的路由由MessageBox数据库中传入的 消息的筛选器表达式定义。
介 绍:文章讲解面向消息的系统使用的设计模式,第一篇介绍Content Enricher Pattern,使用消息关键信息从WebService端口获取消息的附加信息。第二篇介绍Claim Check Pattern,对于比较大的消息,在业务流程处理过程中访问中间处理端口时只需要大消息的某部分内容,把大消息不需要作为参数传输的部分保存到临时变 量,在最终发送时再进行组合。
介 绍:本文介绍如何使用Office InfoPath2003来访问BizTalk Server的业务流程编排。实现过程为发布特定业务流程指定端口为WebService,再使用Office InfoPath 2003来访问该发布的WebService从而实现对业务流程的访问。
介 绍:本文讲解如何在把包含多个记录的单个文件通过接收管道拆分成多个单条记录再进行处理的实现。实现过程为定义一个消息文档架构和一个信封架构,并在信封 架构中导入该文档架构,建立自定义接收管道,设置XML拆装器的相关文档架构属性。文中提到另一种实现方式为在信封架构中使用Data Structure属性为“xs:anyType”的元素节点来代替文档架构导入,在这篇文章的检索新订单的例子中有实现例子。
介 绍:本文介绍如何在发送端口中设置文件名的宏,具体举了%SourceFileName%宏的使用,同时说明对没有包含接收文件名的适配器(比如Sql Adapter)设置输出消息的FILE.ReceivedFileName值来使%SourceFileName%起作用。
介 绍:本文是一篇讲解如何编写自定义管道组件的技术文章,作者通过编写自定义接收管道组件来实现把通过接收端口进来的包含多个报文文件的压缩包解压缩成多个 报文进行处理的功能,并说明如何对自定义管道进行调试和部署。文章使用ICSharpCode第三方组件实现解压缩功能。
介 绍:本篇文章介绍如何在Orchestration中实现动态架构映射,并使用动态端口进行消息发送。具体实现过程为对接收消息的消息架构部分属性进行升 级,对进入业务流程的消息分析升级的属性字段来动态的设置System.Type类型的变量,然后通过消息映射转换生成发送消息,接着动态的指定消息 Microsoft.XLANGs.BaseTypes.Address值,通过动态端口发送到不同的文件目录。
介 绍:本篇文章介绍如何在Orchestration中使用平行模块,针对在并行操作中是否进行共享数据更新两种情况进行分开讲解,对 Orchestration和Scope的相关属性做出必要设置说明,强调对于共享的数据在并行操作中被修改时,每个分支中的所有引用都必须位于同步作用 域或原子作用域中。
介 绍:本篇文章介绍了如何在Orchestration中使用补偿模块。补偿的作用就是在原子事务执行事务递交成功后无法再回滚,但在继续的处理中出现问题 需要对上一提交的事务进行取消或修改,而这些undo操作可使用补偿来实现。文章中使用某公司员工请假的例子来说明补偿功能的使用,具体流程为请假时需要 在EmployeeLeaveHistory表中写入请假记录,然后需要在Employee表中更新该员工对应的请假计数,在后者更新中可能发生 Exception,如何异常发生,因此需要通过补偿来删除写入到EmployeeLeaveHistory表的请假记录,作者通过串行和并行两种方式来 演示补偿功能,值得注意的是解决方案中有一个访问数据层的组件项目,由BizTalk项目引用,并在Orchestration的表达式模块中调用该组件 来更新数据到数据库。

相关文章: