之前根据BizTalk的订阅原理,使用BizTalk管理控制台创建了第一个应用程序 Hello World。但是由于控制台的开发功能有限,绝大多数的BizTalk程序都是在集成开发环境Visual Studio下进行的。下面我们在Visual Studio下创建Hello World2程序。其功能是将源消息的两个字段组成第三个字段并保存到目标消息。[效果图如下]
此程序主要是为要熟悉BizTalk相关的开发组件包括:Schema, Mapping , Pipeline, Orchestration的开发。Receive/Send Port的配置等。以下是开发的一些步骤:
1.创建应用程序
打开Visual Stuido,依次点击 文件->新建->项目. 在程序名称和路径中填上相应的名称和路径。点击确定创建应用程序
2.创建架构(Schema)
右击BizTalk项目,依次点击 添加->新建项. 在弹出的对话框中的左侧导航栏中选择Schema文件,在右侧的模板中选择Schema.在名称中选择输入Schema的名称。
在打开的Schema编辑器中右击Root.依次点击 Insert Schema Node->Child Field Element.
依次创建两个子元素,并命名为:para1和para2(元素默认为字符串值)。Schema命名空间按默认值。
按以上方法创建目标Schema.文件名为:TargetSchema.架构视图如下:
2. 创建映射(Map)
右击BizTalk项目,依次点击 添加->新建项. 在弹出的对话框中的左侧导航栏中选择Map 文件,在右侧的模板中选择Map.在名称中选择输入Map的名称。
在打开的编辑器的左侧窗口中点击 Open Source Schema 在打开的对话框中选择BTSHelloWorld2.SourceSchema.在右侧窗口点击Open Destination Schema. 在打开的对话框中选择BTSHelloWorld2.TargetSchema.
打开源与目标架构之后,依下图连接源与目标节点。目标架构的string节点是由para1和para2连接而。在map编辑的工具窗口选择String Concatenate Functoid.
3.创建业务流程(Orchestration)
3.1 如前所述。右击BizTalk项目,依次点击 添加->新建项. 在弹出的对话框中的左侧导航栏中选择Orchestration 文件,在右侧的模板中选择Orchestration.在名称中选择输入Orchestration的名称。
3.2 创建消息。打开Orchestration文件,在Orchestration
View窗口中新建两个消息分别为:SourchMsg和TrgetMsg。其类型分别为:BTSHelloWorld2.SourceShema和
BTSHelloWorld2.TargetSchema。如果当前编辑环境中没有Orchestration View可以在View->Other Windows->Orchestration View中打开视图
3.3 创建和配置业务流程
如图中所示为已经配置完成的流程图形状,实现此流程需要做以下几步。
- 从工具栏中选择Receive , Transform , Send 三个形状以图中所示位置排列好。
- 在Receive形状的属性窗口的消息属性中选择刚才创建的SourceMsg。双击Transform在弹出的窗口中选择已存在映射并 在下拉框中选择BTSHelloWorld.StringMap.在Source和Destination中分别选择SourceMsg和TargetMsg。在Send 形状的属性窗口的消息属性中选择刚才创建的TargetMsg
- 在Receive形状的属性窗口的Active属性选择True.表示活动端口以激活业务流程实例
- 创建接收端口:从工具栏中选择Port形状,拖放到左侧Port Surface中.在端口配置向导中按照提示分别输入:端口名称,端口类型,“从此端口接收消息”“稍后配置”。
- 创建发送端口:从工具栏中选择Port形状,拖放到右侧Port Surface中.在端口配置向导中按照提示分别输入:端口名称,端口类型,“从此端口发送消息”“稍后配置”。
4 创建接收的发送管道(Pipeline)
4.1 接收管道(Receive Pipeline)
如前所述。右击BizTalk项目,依次点击 添加->新建项. 在弹出的对话框中的左侧导航栏中选择Pipeline文件,在右侧的模板中选择Receive Pipeline.在名称中选择输入Pipeline的名称。
打开Receive Pipeline 从工具箱中选择XML disassembler组件,拖放到Disassemble阶段。
4.2 发送管道(Send Pipeline)
发送管道的创建方法和接收管道类似,只是在选择模板时选择发送管道。在Pipeline编辑器中选择 XML Assemble组件拖放到Assemble阶段。如下图所示:
5. 部署BizTalk项目
至此BizTalk的项目开发到这里就基本上完成了。可以生成项目文件看有没有错误信息。接下来需要将BizTalk项目部署到BizTalk
主机中。由于BizTalk的程序集需要安装到GAC(全局应用程序缓存)中。所以需要给程序集添加签名。方法是在Visual studio
的命名窗口中输入如下命令:
sn -k e:\projects\btshelloworld2\btshelloworld2.snk
创建应用程序签名之后。在BizTalk应用程序的属性页的Assembly Key File里引用签名。
在配置属性的Build窗口里填上应用程序的名称,并验证服务器是否为本机。从别的机器上拷贝的程序需要注意这一点。
养成良好的习惯,配置解决方案的配置将程序的部署选择上。这对于较大的BizTalk开发有帮助。通过解决方案部署Visual Studio会判断程序之间的关系先后部署。
配置完之后右击解决方案。选择部署解决方案即可。
6. 配置和启动应用程序。
应用程序部署完之后,就可以在BizTalk管理控制台上看到相应的程序。右击该程序,选择配置。在配置应用程序页中分别为程序配置主机,接收端口和发送端口。
6.1 创建接收端口
由于接收端口稍微复杂一点。所以我们以创建接收端口为例。发送端口可参照接收端口的做法创建。首先在应用程序配置页的接收物理端口的下拉框中选择新建接收端口。在弹出的对话框中输入接收端口名称。在左边的导航栏中选择接收位置。在接收位置对话框中输入名称。接收管道选择自定义的接收管道名称(发送端口则选择自定义发送管道名称)类型选择FILE. 点击Config。在弹出的FILE传输对话框中输入接收位置。
配置向导会显示相应完成的部分。都配置好之后,点击确定即可。
6.2 启动应用程序
右击应用程序点击启动。在弹出的对话框中再次点击启动。
7. 测试程序
BizTalk程序部署完成了。那下一步就是需要测试程序。测试程序需要源数据,这个源数据不需要我们手动创建。我们可以借助Schema编辑器的生成实例功能生成源数据。右击SourceSchema.选择Generate Instance
在Visual Studio的输出窗口中可以查看到生成文件的地址,打开文件并更改相应的内容。(如果想指定输出文件的路径。可以右击SourceSchema选择属性在对话框中的输出文件里填上文件的路径即可。)
<ns0:Root xmlns:ns0="http://BTSHelloWorld2.SourceSchema"> <para1>Hello </para1> <para2> World!</para2> </ns0:Root>
在配置的输出位置我们可以看到相应的输出文件。
8.总结
至此我们完成了整个程序的开发。此Sample涵盖了Schema, Map, Pipeline, Orchestration的开发。BizTalk应用程序的部署及配置等。希望以此都够让你对BizTalk的开发有个大概的了解。