BizTalk 2009 教程 修正版(二) - 教程一:第1课

教程一: 企业应用集成(Enterprise Application Integration,EAI)
场景:
某企业有一个仓库,这个仓库有一个货物请单(inventory),当货物清单上的货物少到一定程度的时候,仓库就给BizTalk Server 发一个替换货单的请求。
 
BizTalk 在处理这一请求的时候要做一下事情:
1. 使用公司的商业规则(business policies) 来决定是否批准这一请求。
2. 如果BizTalk 批准了这一请求,BizTalk将这个请求发送给ERP(Enterprise Resource Planning) 系统以生成一个购买订单。
3. 如果BizTalk 没有批准这一请求,BizTalk 给仓库发送一个拒绝请求的信息。
4. 当ERP 系统收到BizTalk 的请求,ERP 系统生成购买定单。

业务逻辑图:(千万记住,下面干的一切事情就是为了干这个,理解了需求=成功了一半)

Tutorial 1 message flow 
 
第一课 创建EAI Solution
这一课里我们要创建2个Schema 1个pipeline 和1个map
1. 在Visual Studio 2008 里创建一个BizTalk Project,
   
    Name: EAISchemas
    Location: C:\tutorial\Lessons
    Solution Name: EAISolution
 
2. 创建货物清单请求Schema(就是从仓库发出来的Message的Schema)
   
    把Root改名为Request, 然后构建下面这样的Schema:
   
3. 把Quantity的数据类型修改为unsignedInt. 以便将来BizTalk 根据Quantity 的大小来决定是否更新Inventory.
   
4. 创建"请求拒绝消息"的Schema, Name: RequestDenied.xsd
   
    把Qty的数据类型更改为unsignedInt
5. 创建Distinguished Fields
    把两个Schema里的Quantity 和Qty. promote为Distinguished Fields
    (如何promote? 请看: http://msdn.microsoft.com/en-us/library/aa560697%28BTS.10%29.aspx)
6. 创建一个自定义的发送管道(Send Pipeline), 这个pipeline将把发往ERP的xml 消息转换为Flat File消息
   
    往Assemble里添加一个Flat File assembler
   
    然后在Properties 里 从Document Schema下拉列表里选择EAISchemas.Request
7. 创建Map , 这个Map 将把request消息映射为DeniedRequest 消息.Name: MapToReqDenied.btm. 消息映射如下:
   
8. Build the EAISchemas Project
    点出工程Properties, 在Signing Tab 用之前生成的Tutorial.snk 给工程做强签名,因为dll 要部署到GAC里去,不强签名不行。
    在 Deployment Tab. Application Name: EAIApplication
    然后,右键点击EAISChemas 工程名 -> Build . 如果看到 Build Succeeded. 本课结束。
   
 
下一课:
BizTalk 2009 教程 修正版(三) - 教程一:第2课

blog comments powered by Disqus