之前根据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的开发有个大概的了解。

BizTalk开发系列(七) Hello World2的更多相关文章

  1. BizTalk 开发系列(四十一) BizTalk 2010 BAM 安装手记

    使用64位系统可以支持更大的内存,现在服务器基本上都使用64位系统.微软从Windows Server 2008 R2开始服务器版的操作系统也只支持64位了,不过对于像BizTalk这种“繁杂的东西” ...

  2. BizTalk开发系列(三十三)BizTalk之Excel终极解决方案

    Excel作为优秀的客户端数据处理程序得到了广泛的应用. 由于其简单又强大的功能在很多公司或个人的数据处理中占用非常重要的位置. 而BizTalk作为微软的SOA主打产品虽然免费提供了很多Adapte ...

  3. BizTalk开发系列(二十八) MSMQ 适配器

    MSMQ(MicroSoft Message Queue,微软消息队列)是在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可以分布于相连的网络空间 中的任一 ...

  4. BizTalk开发系列(二十二) 开发自定义Map Functoid

    尽管 BizTalk Server 提供许多Functoid以支持一系列不同的操作,但仍可能会遇到需要其他方法的情况.<BizTalk开发系列 Map扩展开发>介绍了通过使用自定义 XSL ...

  5. BizTalk开发系列(十八) 使用信封拆分数据库消息

    之前写了一篇的<BizTalk开发系列(十七) 信封架构(Envelop)> 是关于信封架构及其拆装原理的,都是理论性的内容.信封在BizTalk开发过程中最常用的应该是在读取SQL Se ...

  6. BizTalk开发系列(二十五) SQL Adapter

    SQL Server 是.NET开发的首选数据库.当然开发BizTalk应用程序很多也离不了SQL Server.针对SQL Server的数据操作BizTalk 提供了SQL Adapter作为与数 ...

  7. 微信小程序开发系列七:微信小程序的页面跳转

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序 ...

  8. BizTalk开发系列(二) "Hello World" 程序搬运文件

    我们在<QuickLearn BizTalk系列之"Hello World">里讲到了如何快速的开发第一个BizTalk 应用程序.现在我们来讲一下如何把这个程序改成用 ...

  9. BizTalk 开发系列(四十二) 为BizTalk应用程序打包不同的环境Binding

    我们在使用微软或者其他公司提供的BizTalk应用程序MSI包的时候经常会有一个目标环境的选择选项.该选项可以在不同的环境下使用不同的绑定(BizTalk应用程序配置)感觉很高级. 其实这个非常的简单 ...

随机推荐

  1. Webbrowser中显示MHT文件

    把MHT文件存成临时文件,用WEBBROWSER的Navigate方法打开,代码如下: //从程序集中读取资源文件 Assembly asmm = Assembly.GetCallingAssembl ...

  2. json 入门(1)

    1.JSONObject介绍 JSONObject-lib包是一个beans,collections,maps,Java arrays和xml和JSON互相转换的包. 2.下载jar包 http:// ...

  3. java&Protocol Buffers

    ps: Protocol Buffers简称PB PB 安装配置 下载 PB: 在 PB 官网,下载最新版(或者其他版本)PB,这里为了与 Java 项目中的 PB Maven 依赖版本一致,使用 P ...

  4. Python学习笔记06

      源代码文件第一行添加:#coding:utf-8,这样就可以避免了 或者:#-*- coding: UTF-8 -*-   dict:实际就是哈希表,其键只能是不可变类型,如string,bool ...

  5. qq邮箱邮我组件

    http://openmail.qq.com/cgi-bin/qm_help_mailme?sid=uvkgSu7e0aOrc0Qc&t=open_mailme 邮我 使用"邮我&q ...

  6. mac 快捷键大全

    1.control+space 可以使用 spotlight搜索,用于快速找到所需要的文件 2.我尝试使用android studio 提示的快捷键来进行写代码,发现自己按照它的提示操作没有成功,原因 ...

  7. How to retrieve instance parameters from an uninstantiated (uninserted) family

    The trick to be able to read the default values for instance parameters is to get to the FamilyManag ...

  8. Storm分布式实时流计算框架相关技术总结

    Storm分布式实时流计算框架相关技术总结 Storm作为一个开源的分布式实时流计算框架,其内部实现使用了一些常用的技术,这里是对这些技术及其在Storm中作用的概括介绍.以此为基础,后续再深入了解S ...

  9. AFNetworking 2.0 出现Use of undeclared identifier AFURLSessionManager错误

    当向下面使用时会出现错误 #import "AFNetworking.h" #import "AFURLSessionManager.h" AFURLSessi ...

  10. ACM: FZU 2150 Fire Game - DFS+BFS+枝剪 或者 纯BFS+枝剪

    FZU 2150 Fire Game Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u ...