BizTalk 2009 教程 修正版(二) - 教程一:第1课 27. August 2009 xhinker BizTalk Comments (28) 教程一: 企业应用集成(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 系统生成购买定单。 业务逻辑图:(千万记住,下面干的一切事情就是为了干这个,理解了需求=成功了一半) 第一课 创建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课