BizTalk开发系列(一) "Hello World"
学习开发语言的时候很喜欢输出“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"的更多相关文章
- BizTalk 开发系列(四十一) BizTalk 2010 BAM 安装手记
使用64位系统可以支持更大的内存,现在服务器基本上都使用64位系统.微软从Windows Server 2008 R2开始服务器版的操作系统也只支持64位了,不过对于像BizTalk这种“繁杂的东西” ...
- BizTalk开发系列(三十三)BizTalk之Excel终极解决方案
Excel作为优秀的客户端数据处理程序得到了广泛的应用. 由于其简单又强大的功能在很多公司或个人的数据处理中占用非常重要的位置. 而BizTalk作为微软的SOA主打产品虽然免费提供了很多Adapte ...
- BizTalk开发系列(二十八) MSMQ 适配器
MSMQ(MicroSoft Message Queue,微软消息队列)是在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可以分布于相连的网络空间 中的任一 ...
- BizTalk开发系列(二十二) 开发自定义Map Functoid
尽管 BizTalk Server 提供许多Functoid以支持一系列不同的操作,但仍可能会遇到需要其他方法的情况.<BizTalk开发系列 Map扩展开发>介绍了通过使用自定义 XSL ...
- BizTalk开发系列(十八) 使用信封拆分数据库消息
之前写了一篇的<BizTalk开发系列(十七) 信封架构(Envelop)> 是关于信封架构及其拆装原理的,都是理论性的内容.信封在BizTalk开发过程中最常用的应该是在读取SQL Se ...
- BizTalk开发系列(二十五) SQL Adapter
SQL Server 是.NET开发的首选数据库.当然开发BizTalk应用程序很多也离不了SQL Server.针对SQL Server的数据操作BizTalk 提供了SQL Adapter作为与数 ...
- BizTalk开发系列(七) Hello World2
之前根据BizTalk的订阅原理,使用BizTalk管理控制台创建了第一个应用程序 Hello World.但是由于控制台的开发功能有限,绝大多数的BizTalk程序都是在集成开发环境Visual S ...
- BizTalk开发系列(二) "Hello World" 程序搬运文件
我们在<QuickLearn BizTalk系列之"Hello World">里讲到了如何快速的开发第一个BizTalk 应用程序.现在我们来讲一下如何把这个程序改成用 ...
- BizTalk 开发系列(四十二) 为BizTalk应用程序打包不同的环境Binding
我们在使用微软或者其他公司提供的BizTalk应用程序MSI包的时候经常会有一个目标环境的选择选项.该选项可以在不同的环境下使用不同的绑定(BizTalk应用程序配置)感觉很高级. 其实这个非常的简单 ...
- BizTalk 开发系列(四十) BizTalk WCF-SQL Adapter读取SQL Service Broker消息
SQL Service Broker 是在SQL Server 2005中新增的功能.Service Broker 为 SQL Server 提供队列和可靠的消息传递,可以可用来建立以异步消息为基础的 ...
随机推荐
- DSP using MATLAB示例Example3.6
代码: n = [-5:5]; x = (-0.9).^n; % x(n) = k = -200:200; w = (pi/100)*k; % [0,pi] axis divided into 101 ...
- css3 -- 背景图处理
1.多背景图片: p{ background-image:url() , url(); background-position:95% 90% , 50% 50%; background-repect ...
- codefroces 589A
time limit per testsecondsmemory limit per testmegabytesinputstandard inputoutputstandard outputPoly ...
- 【CLR in c#】属性
1.无参属性 1.为什么有字段还需要属性呢? 因为字段很容易写出不恰当的代码,破坏对象的状态,比如Age=-1.人的年纪不可能为负数.使用属性后你可以缓存某些值或者推迟创建一些内部对象,你可以以线程安 ...
- HDU5737 : Differencia
注意到$b$不变,考虑用归并树来维护这个$b$序列,对于每个节点有序地维护$b$,同时在归并的时候预处理出每个元素在左右儿子里的排名. 在归并树上额外维护区间内$a\geq b$的个数以及赋值标记. ...
- java-嵌套类
浏览以下内容前,请点击并阅读 声明 java允许在一个类中定义另外一个类,这就叫类嵌套.类嵌套分为两种,静态的称为静态嵌套类,非静态的又称为内部类. 使用嵌套类的原因: 能够将仅在一个地方使用的类合理 ...
- java基础-表达式,语句和代码块
浏览以下内容前,请点击并阅读 声明 表达式 表达式由变量,操作符和方法调用组成,表达式的返回值类型由表达式中的元素(如操作符,变量等)决定如: cadence = 0 上述代码将返回一个int类型的值 ...
- [转]HDFS客户端的权限错误:Permission denied
搭建了一个Hadoop的环境,Hadoop集群环境部署在几个Linux服务器上,现在想使用windows上的Java客户端来操作集群中的HDFS文件,但是在客户端运行时出现了如下的认证错误. 错误的详 ...
- BZOJ 1475 & 1324 && 建图最小割
题意: 给一个矩阵,取其中一方格中的数,满足所有所取方格不相邻. SOL: 典型一个二分图,染色后不相邻的连边即可.跑个最大流,裸裸哒. Code: 代码没什么时间写了...并不是很想贴...都是贴板 ...
- 20145308刘昊阳 《Java程序设计》实验四 Android环境搭建 实验报告
20145308刘昊阳 <Java程序设计>实验四 Android环境搭建 实验报告 实验名称 Android环境搭建 实验内容 搭建Android环境 运行Android 修改代码,能输 ...