CodeProject.com
上微软BizTalk平台技术文章集锦
作者:郑佐
日期:2006-07-12
BizTalk Server 2006
已经发布有一段时间,笔者使用BizTalk Server 2006系统也有一段时间。鉴于国内关于BizTalk平台的学习资源不多,比较好的参考资源也只有安装程序自带的BizTalk Server文档,因此,笔者对国外CodeProject.com网站上能查到的BizTalk相关文章进行了研究和例子调试,确实体会到BizTalk平台应用于EAI、B2B的强大和开发的高效率,个人认为是一个非常优秀的企业应用集成平台。为使国内BizTalk项目开发者能更快的学习和掌握BizTalk企业集成应用平台,笔者对CodeProject.com上学习过的每篇文章进行了概括性描述,并注明例子调试BizTalk系统版本,以方便国内开发者快速寻找参考解决方案。
1.
A Simple BizTalk Hands-On Example
By _ABHILASH_MS_
http://www.codeproject.com/dotnet/BiztalkSample.asp
版本:BizTalk Server 2004
介绍:本文简单介绍如何通过BizTalk管理控制器和Vs.net中BizTalk Explorer来配置发送物理端口,接收物理端口和接收物理位置。
2.
Asynchronous call to web services in Biztalk orchestrations
By Mauricio Ritter
http://www.codeproject.com/dotnet/bts_async_call.asp
版本:BizTalk Server 2004
介绍:本文介绍如何使用主业务流程中自相关绑定类型接收消息端口来接收在主业务流程中调用的子业务流程发送的消息,并在子业务流程中使用请求响应操作端口来访问WebService,从而实现WebService的异步调用。
3.
Using a SQL Adapter in BizTalk Server 2004
By Mauricio Ritter
http://www.codeproject.com/dotnet/usingsqladapter.asp
版本:BizTalk Server 2004
介绍:本文通过事例完整介绍了Sql适配器的使用,内容包括通过SQL元数据架构向导产生架构文件,添加业务流程逻辑端口,部署项目到BizTalk服务器上,对SQL适配器物理端口进行设置。
4.
First Footsteps with Orchestrations in BizTalk Server 2004
By Naveen Karamchetti
http://www.codeproject.com/dotnet/FootstepsInOrchestration.asp
版本:BizTalk Server 2004
介绍:本文通过制定业务流程从接收端口接收一个请求xml消息映射为响应xml消息并通过发送端口进行发送的例子来演示如何开发最简单的BizTalk项目。在架构映射文件中演示了脚本Functoid和字符串连接Functoid的使用,其中脚本使用C#编写。
5.
Biztalk 2004 FAQs
By pmsgoa
http://www.codeproject.com/useritems/Biztalk_2004_FAQs.asp
版本:BizTalk Server 2004
介绍:Biztalk Server 2004常见问题解答,主要讲解使用Http适配器碰到的常见问题。
6.
HOW TO Unit Test BizTalk 2006 Orchestrations using BizUnit 2006
By Naveen Karamchetti
http://www.codeproject.com/useritems/BizUnit2006.asp
版本:BizTalk Server 2006
介绍:本文描述如何使用BizUnit 2006来对BizTalk2006项目进行单元测试,这里演示的版本需要安装NUnit才能使用BizUnit2006,在新的版本中已经使用TSVS版本中的单元测试工具来代替NUnit。
7.
Calling a Web Service with Custom Parameters from an Orchestration in BizTalk Server 2004
By Naveen Karamchetti
http://www.codeproject.com/useritems/WSCustomParams.asp
版本:BizTalk Server 2004
介绍:本文演示了如何通过BizTalk调用带有复杂自定义输入参数和返回参数的Web Service。在Web Service事例中使用自定义类来作为参数。
8.
Creating an Automated Purchase Order Workflow using BizTalk Server 2004
By Naveen Karamchetti
http://www.codeproject.com/useritems/POWorkflow.asp
版本:BizTalk Server 2004
介绍:本文演示使用多个业务流程实现无人干预的工作流实现,其中实现的技术关键点有设置每个流程第一个接受模块的筛选器表达式来指明应用于传入消息的属性,只接收满足此筛选标准的消息,设置激活为true。各个业务流程之间通过使用直接端口绑定,并设置在端口之间的路由由MessageBox数据库中传入的消息的筛选器表达式定义。
9.
Using Custom XSLT Transformations in BizTalk Server 2004 Mapper
By Naveen Karamchetti
http://www.codeproject.com/dotnet/CustomXSLTMapInBizTalk.asp
版本:BizTalk Server 2004
介绍:本文介绍了通过脚本 Functoid编写自定义XSLT来转换xml部分节点的高级功能。
10.
How to create a self-routing message using Dynamic Ports in BizTalk Server 2004
By Naveen Karamchetti
http://www.codeproject.com/dotnet/DynamicRouting.asp
版本:BizTalk Server 2004
介绍:本文演示如何在BizTalk中使用动态发送端口,在演示的业务流程中通过表达式来动态决定发送消息到指定的发送端口,这里没有使用判定模块实现选择,而是在表达式模块中处理选择逻辑。
11.
Configuring BizTalk Orchestrations to handle un-typed messages
By Naveen Karamchetti
http://www.codeproject.com/dotnet/UntypedBiztalkMessages.asp
版本:BizTalk Server 2004
介绍:本文演示如何通过定义System.Xml.XmlDocument类型的消息类型来处理同一接收位置的消息,并通过判断实际消息类型来把非类型化消息转换成实际类型化消息,最后再次转化为非类型化消息进行发送。
12.
BizTalk Enterprise Integration Patterns
By Naveen Karamchetti
http://www.codeproject.com/useritems/EnricherPattern.asp
http://www.codeproject.com/useritems/ClaimCheckPattern.asp
版本:BizTalk Server 2004
介绍:文章讲解面向消息的系统使用的设计模式,
第一篇介绍Content Enricher Pattern,使用消息关键信息从WebService端口获取消息的附加信息。
第二篇介绍Claim Check Pattern,对于比较大的消息,在业务流程处理过程中访问中间处理端口时只需要大消息的某部分内容,把大消息不需要作为参数传输的部分保存到临时变量,在最终发送时再进行组合。
13.
B2B Integration with SAP Infrastructure using Microsoft BizTalk Server
By ManishKalkar
http://www.codeproject.com/useritems/SAP-BizTalk_Integration.asp
版本:BizTalk Server
介绍:本文讲解如何使用BizTalk Server来实现基于企业SAP系统的B2B应用集成。
14.
A Quick look at the new functoids in BizTalk Server 2006
By Naveen Karamchetti
http://www.codeproject.com/dotnet/BizTalkFunctoids.asp
版本:BizTalk Server 2006
介绍:本文介绍在2006版本的BizTalk Server中新增加的几个functoids。
15.
How to invoke a BizTalk Orchestration using Office InfoPath 2003
By Naveen Karamchetti
http://www.codeproject.com/dotnet/InfoPathBizTalk.asp
版本:BizTalk Server 2004
介绍:本文介绍如何使用Office InfoPath2003来访问BizTalk Server的业务流程编排。实现过程为发布特定业务流程指定端口为WebService,再使用Office InfoPath 2003来访问该发布的WebService从而实现对业务流程的访问。
16.
Explaining the BizTalk Architecture to your Grandma
By _ABHILASH_MS_
http://www.codeproject.com/dotnet/BiztalkToGrandma.asp
版本:BizTalk Server
介绍:本文概括性的介绍了BizTalk Server的系统架构组成。各部分包括接收端口、适配器、接收管道、MessageBox和订阅、业务流程、业务规则引擎、发送管道和发送端口等。
17.
How to debug XLANG schedule
By Alawi Alkaf
http://www.codeproject.com/tips/DebugXLANGschedule.asp
版本:BizTalk Server
介绍:本文介绍如何调试Xlang,笔者在中文BizTalk Server 2004/2006中都没有找到该程序因此没有进行测试。
18.
How to split an XML message in BizTalk 2004 using Document and Envelope Schemas
By Gaurang Desai
http://www.codeproject.com/dotnet/BizEnvelop.asp
版本:BizTalk Server 2004
介绍:本文讲解如何在把包含多个记录的单个文件通过接收管道拆分成多个单条记录再进行处理的实现。实现过程为定义一个消息文档架构和一个信封架构,并在信封架构中导入该文档架构,建立自定义接收管道,设置XML拆装器的相关文档架构属性。
文中提到另一种实现方式为在信封架构中使用Data Structure属性为“xs:anyType”的元素节点来代替文档架构导入,在这篇文章的检索新订单的例子中有实现例子。
19.
Creating Flat File schemas using the BizTalk Server 2006 Flat File Schema Wizard
By Naveen Karamchetti
http://www.codeproject.com/useritems/FFSchemaWizard.asp
版本:BizTalk Server 2006
介绍:本文介绍如何使用BizTalk Server 2006平面文件架构向导来快速创建平面架构文件。
20.
Flattening out the complexity in flat file schemas in BizTalk 2004
By Naveen Karamchetti
http://www.codeproject.com/dotnet/FlatFileSchemasPart1.asp
http://www.codeproject.com/dotnet/FlatFileSchemasPart2.asp
版本:BizTalk Server 2004
介绍:这里两篇文件介绍如何为各种平面文件建立架构,包括分割符方式的平面文件、位置索引方式的平面文件以及两者混合的平面文件。
21.
Flattening out the complexity in flat file schemas in BizTalk 2004 - Part 3
By Naveen Karamchetti
http://www.codeproject.com/useritems/OptionalRecordSchema.asp
版本:BizTalk Server 2006
介绍:本文是Flattening out the complexity in flat file schemas in BizTalk 2004系列文章的第三篇,主要介绍如何为平面文件中的可选数据建立架构。
22.
Using the MSI installer wizard for deploying applications created in BizTalk Server 2006
By Naveen Karamchetti
http://www.codeproject.com/useritems/BT2006Deployment.asp
版本:BizTalk Server 2006
介绍:本文介绍如何把BizTalk Server 2006应用程序部署到远程没有安装VS 2005的服务器上实现方式为通过BizTalk Server 2006 管理控制台导出导入MSI文件来实现。
23.
Keep The Orchestration Simple (KTOS) - A BizTalk Pattern
By Naveen Karamchetti
http://www.codeproject.com/useritems/IndependentOrchestration.asp
版本:BizTalk Server 2006
介绍:本文讲解如何通过对接收端口设置入站架构映射和发送端口设置出站架构映射来简化业务流程设计。
24.
BizTalk 2004/2006 Interview questions that every developer must know
By Naveen Karamchetti
http://www.codeproject.com/useritems/BizTalkInterviewQuestions.asp
版本:BizTalk Server
介绍:本文以FAQ的方式来解释BizTal Server具有的一些特征和提供的功能,以及解答使用者容易分不清楚的一些概念,比如架构可分辨字段和属性架构的区别,BizTalk执行是同步还是异步方式,补偿功能的作用,动态发送端口和静态发送端口的区别等。
25.
Using the %SourceFileName% macro to create a custom send file name in BizTalk 2004
By vish1979
http://www.codeproject.com/useritems/SendHandlerMacro.asp
版本:BizTalk Server 2004
介绍:本文介绍如何在发送端口中设置文件名的宏,具体举了%SourceFileName%宏的使用,同时说明对没有包含接收文件名的适配器(比如Sql Adapter)设置输出消息的FILE.ReceivedFileName值来使%SourceFileName%起作用。
26.
UnzipDisassembler - A custom pipeline component for BizTalk Server 2004
By Mauricio Ritter
http://www.codeproject.com/dotnet/btsunzipdisassembler.asp
版本:BizTalk Server 2004
介绍:本文是一篇讲解如何编写自定义管道组件的技术文章,作者通过编写自定义接收管道组件来实现把通过接收端口进来的包含多个报文文件的压缩包解压缩成多个报文进行处理的功能,并说明如何对自定义管道进行调试和部署。文章使用ICSharpCode第三方组件实现解压缩功能。
27.
Using Dynamic Maps in BizTalk
By _ABHILASH_MS_
http://www.codeproject.com/dotnet/DynamicMaps.asp
版本:BizTalk Server 2004
介绍:本篇文章介绍如何在Orchestration中实现动态架构映射,并使用动态端口进行消息发送。
具体实现过程为对接收消息的消息架构部分属性进行升级,对进入业务流程的消息分析升级的属性字段来动态的设置System.Type类型的变量,然后通过消息映射转换生成发送消息,接着动态的指定消息Microsoft.XLANGs.BaseTypes.Address值,通过动态端口发送到不同的文件目录。
28.
A Quick guide to handling exceptions in BizTalk Orchestrations
By Naveen Karamchetti
http://www.codeproject.com/useritems/ExceptionDemo.asp
版本:BizTalk Server 2004
介绍:本篇文章介绍如何在业务流程的作用域中使用异常扑捉,通过在Orchestration中使用WebService请求响应端口和文件发送端口来演示如何设置作用域属性和端口属性从而使异常扑捉正常工作。
29.
Parallel Branching and Scoping in BizTalk Orchestrations - Advanced Concepts
By Naveen Karamchetti
http://www.codeproject.com/dotnet/BizTalkParallelBranching.asp
版本:BizTalk Server 2004
介绍:本篇文章介绍如何在Orchestration中使用平行模块,针对在并行操作中是否进行共享数据更新两种情况进行分开讲解,对Orchestration和Scope的相关属性做出必要设置说明,强调对于共享的数据在并行操作中被修改时,每个分支中的所有引用都必须位于同步作用域或原子作用域中。
30.
HOW To Compensate a Transaction in a BizTalk Orchestration
By Naveen Karamchetti
http://www.codeproject.com/useritems/BizTalkCompensation.asp
版本:BizTalk Server 2006
介绍:本篇文章介绍了如何在Orchestration中使用补偿模块。补偿的作用就是在原子事务执行事务递交成功后无法再回滚,但在继续的处理中出现问题需要对上一提交的事务进行取消或修改,而这些undo操作可使用补偿来实现。文章中使用某公司员工请假的例子来说明补偿功能的使用,具体流程为请假时需要在EmployeeLeaveHistory表中写入请假记录,然后需要在Employee表中更新该员工对应的请假计数,在后者更新中可能发生Exception,如何异常发生,因此需要通过补偿来删除写入到EmployeeLeaveHistory表的请假记录,作者通过串行和并行两种方式来演示补偿功能,值得注意的是解决方案中有一个访问数据层的组件项目,由BizTalk项目引用,并在Orchestration的表达式模块中调用该组件来更新数据到数据库。
以上文章描述内容是笔者对文章阅读和例子调试后的个人总结,如果有网友觉得有不妥的地方,请在我的BLOG上指正,笔者将虚心接受。另外,笔者将会定期增加新的文章。