学习开发语言的时候很喜欢输出“Hello World”作为第一个程序。今天我们也在BizTalk 上创建一个简单的 "Hello World" 程序。

BizTalk的时候有很多文章都是教你如何使用Visual Studio开发BizTalk 的第一个应用程序的。今天我们来换一种思路开发基于BizTalk的"Hello World"应用程序。也就是直接通过BizTalk 管理控制台创建应用程序。

BizTalk Server 管理控制台

安装和配置BizTalk之后就可以通过BizTalk控制台管理BizTalk Server 及应用程序。其中有几个概念先了解一下:

  • BizTalk Group:  BizTalk Server 的逻辑概念,可以将多台BizTalk Server加入一个Group进行管理。
  • Applications: 开发BizTalk应用程序之后它在此节点下。
  • Platform Setting :BizTalk运行环境的配置比如BizTalk实例(BizTalk运行时的进程),BizTalk适配器等的配置。

查看控制台相关概念

看了这些概念可能还是云里雾里的。不过没关系BizTalk不是那么好理解,特别是刚开始学习的时候。因为它的开发理念和程序语言有点不太一样。它是面向 消息的开发理念。之前跟一些学习BizTalk新人聊的时候。常常会听到“我学习BizTalk一个星期了,还不知道它干嘛用。”。 而后来跟一位BizTalk MVP聊的时候我提到了这一点。他也很搞笑的说“我当时搞了三个月了还不知道是干嘛用的”。所以不要急于求成。

开始开发

1. 首先打开BizTalk 服务器管理控制台,在Applications节点右击选择新建->应用程序.在弹出的对话框的名字栏里填上应用程序名称:Hello Word

2. OK,应和程序Hello World已经建了,只不过它什么都干了了。我们会在Hello World节点下看到很多节点。每个应和程序都会有这么多的节点。这些节点都跟BizTalk的架构的关的,暂时先不用了解那么细致。

3. BizTalk像是一个盒子用于处理消息。因为就需要有进入的消息和出来的消息。那样我们首先创建一个接收的端口用于接收消息。

在Receive Port 节点右键->新建->单一方向端口,在常规选项卡里写上端口名称:ReceiveFiles。

4. 端口是BizTalk的逻辑概念,真正接收的地方是在 "Receive Location"节点下配置的。在Receive Locations节点下右键->新建->单一方向接收地址.在"选择接收端口"的对话框中选择刚才新建的端 口"ReceiveFiles"。

5. 在接收位置的配置页,填上接收位置的名称。在类型中选择File, 接收管道选择PassThruReceive。

6. 点击类型的Config按钮,弹出File的配置对话框配置接收位置,以及相应的文件名称。

7. 创建好了接收端口,接下来我们来创建发送端口。发送端口直接指定发送的物理位置和发送方式。多个发送端口使用Send Group进行管理。

右击Send Ports 节点->新建->Static One-Way Send Port

8. 在发送端口配置菜单中参照下图分别配置:发送端口名称,类型,相应类型的发送位置。

9.  OK,现在端口已经全部创建完成了。现在是万事俱备只欠东风。现在你会不会有这样一个问题:怎么让接收到的消息由 发送端口发送出去?也许你会认为它们同在一个应用程序下面直接就可以实现了。但同一个应用程序下面可以创建许许多多的发送的接收端口那BizTalk怎么 去判断消息从哪接收又发送到哪呢?。

呵呵,带着问题,我们来看看可能怎么将接收端口和发送端口关联起来。再次打开发送端口配置对话框,我们会注意到左边的菜单项中有一个叫“Filter”(过滤)。我们就用这个来实现发送端口与接收端口的关联。在条件表达式中设置:   BTS.ReceivePortName == ReceiveFiles

10.  启动BizTalk 应用程序验证程序

右击Hello World应用程序选择Start。打开刚才配置的接收文件夹。将测试XML文件 QuickLearn.CN.Msg.XML拷贝到接收文件夹In中。

在Out 文件夹中查看输出

我们的第一个BizTalk 程序已经成功运行了,感觉怎么样。是不是很神奇。虽然很多理论性的东西没有讲到。但是对于初学者来讲往往兴趣更重要。另外这个程序还可以改为用于搬运文件,或者不需要走流程的业务中。它的专业术语叫“直通流程”。我是在学习BizTalk三个月之后才知道这个东西的。记住这个Sample,在以后的BizTalk学习过程中慢慢理解这个Sample以及BizTalk的架构思想。

BizTalk开发系列(一) "Hello World"的更多相关文章

  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. BizTalk开发系列(七) Hello World2

    之前根据BizTalk的订阅原理,使用BizTalk管理控制台创建了第一个应用程序 Hello World.但是由于控制台的开发功能有限,绝大多数的BizTalk程序都是在集成开发环境Visual S ...

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

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

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

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

  10. BizTalk 开发系列(四十) BizTalk WCF-SQL Adapter读取SQL Service Broker消息

    SQL Service Broker 是在SQL Server 2005中新增的功能.Service Broker 为 SQL Server 提供队列和可靠的消息传递,可以可用来建立以异步消息为基础的 ...

随机推荐

  1. poj1251 最小生成树

    Description The Head Elder of the tropical island of Lagrishan has a problem. A burst of foreign aid ...

  2. jquerymobile 基础教程

    http://www.w3cplus.com/blog/tags/331.html?page=1

  3. HRESULT:0x80070057 (E_INVALIDARG)的异常

    错误信息: 未能加载文件或程序集……或它的某一个依赖项.参数不正确. (异常来自 HRESULT:0x80070057 (E_INVALIDARG)) English:Could not load f ...

  4. The 13th Zhejiang Provincial Collegiate Contest(2016年浙江省赛)

      前4道水题就不说了,其中我做了C题,1Y,小心仔细写代码并且提交之前得确认无误后提交才能减少出错率. 结果后面2题都由波神做掉,学长带我们飞~ 终榜 官方题解   ZOJ 3946 Highway ...

  5. Codeforces 696D Legen...(AC自动机 + 矩阵快速幂)

    题目大概说给几个字符串,每个字符串都有一个开心值,一个串如果包含一次这些字符串就加上对应的开心值,问长度n的串开心值最多可以是多少. POJ2778..复习下..太弱了都快不会做了.. 这个矩阵的乘法 ...

  6. 由case 和 break 引发的思考

    我在使用case 语句的时候,发现结果不对劲,原来我是忽略了break这个语句的添加 然后,我要反思的是,这样基本的语句,我这样的错误也能犯,证明我自己之前还没有真正掌握这个语句的使用. 所以,真正地 ...

  7. oracle视图

    视图 SELECT -- int.rowner "rgroup owner", -- int.rname "refresh group", mv.owner a ...

  8. 每天一个linux命令---kill

    linux中终止进程的命令--kill 一般用的是: 搜索pid: ps -ef|grep calendar 杀死pid:kill -9 pid 格式是:kill[参数][进程号]

  9. iOS学习17之OC内存管理

    1.内存管理的方式 1> iOS应用程序出现Crash(闪退),90%的原因是因为内存问题. 2> 内存问题 野指针异常:访问没有所有权的内存,如果想要安全的访问,必须确保空间还在 内存泄 ...

  10. mapreduce.framework.name

    mapreduce.framework.name默认是local: <property><name>mapreduce.framework.name</name>& ...