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 Group。控制台树中的“BizTalk Group”节点包含表示该 BizTalk 组的项目(应用程序、参与方和平台设置)的其他节点。BizTalk 组是一种组织单位,通常表示企业、部门、中心或需要包含的 BizTalk Server 实现的其他业务单位。BizTalk 组与 BizTalk 管理数据库具有一对一关系。
在 BizTalk Server 管理控制台中选择“BizTalk 组”节点后,BizTalk Server 组中心页将显示在详细信息窗格中。BizTalk Server 组中心页提供 BizTalk Server 系统运行状况的总体概况。
应用程序 [隶属于BizTalk Group]
业务流程。业务流程通过使用业务流程设计器进行设计,并部署到 BizTalk 组中。
角色链接。角色链接定义消息定义的角色与双向交互中使用的端口类型之间的关系。
发送端口组。发送端口组是一组指定的发送端口,使用这组发送端口可以在单一配置中将同一条消息发送到多个目标。
发送端口。发送端口是用于发送消息的 BizTalk 对象。
接收端口。接收端口是相似接收位置的逻辑分组。
接收位置。接收位置定义为接收入站文档的特定地址与 BizTalk Server 管道(处理在该地址上接收到的消息)的组合。
策略。策略是业务规则的版本控制**。
架构。架构是消息的结构。一个架构可以包含多个子架构。
映射。映射是定义一个规范中的记录和字段与另一个规范中的记录和字段之间的对应关系的 XML 文件。映射包含一个可扩展样式表语言 (XSL) 样式表,BizTalk Server 可使用该样式表执行该映射中所描述的转换。
管道。管道是一种软件基础结构,用于定义和链接一个或多个处理阶段,并按指定顺序运行这些阶段以完成特定任务。管道将处理过程分为多个阶段,阶段是对一类工作的抽象描述。管道还确定了执行每类工作的顺序。
资源。资源可以是脚本、部署的程序集或与应用程序相关联的其他文件。
BAS 项目。业务活动服务 (BAS) 项目为应用程序提供了一种与外部合作伙伴进行交流的方法。BAS 项目由合作伙伴配置文件(也称作参与方)、合作伙伴组、协议和 Microsoft Office InfoPath 模板组成。必须首先使用 BAS 站点创建 BAS 项目,然后才能将 BAS 项目导入 BizTalk Server 管理控制台并在其中显示。
参与方。参与方是位于 BizTalk Server 之外与业务流程进行交互的实体。与您的组织有业务关系的所有合作伙伴都可视作参与方,而您的组织可能有数千个合作伙伴。
平台设置
“平台设置”节点包含主机、主机实例、MessageBox 数据库和适配器等子节点。
主机。“主机”节点包含 BizTalk Server 环境中所有的进程内主机和**主机。BizTalk 主机是诸如适配器处理程序、接收位置(包括管道)和业务流程等项的逻辑容器。。
主机实例。“主机实例”节点包含当前 BizTalk Server 组中的所有主机实例。主机实例是执行应用程序组件的 BizTalk Server 运行时进程。使用“主机实例”节点,可以创建新的主机实例和刷新主机实例信息。
服务器。“服务器”节点列出了加入 BizTalk Server 组的所有服务器。它们是安装和配置 BizTalk Server 以及运行主机实例的计算机。通过将服务器与特定主机相关联可以创建主机实例。
MessageBox。“MessageBox”节点包含当前 BizTalk Server 组使用的所有 MessageBox 数据库。使用“MessageBox”节点,可以创建新的 MessageBox 数据库和刷新 MessageBox 数据库信息。MessageBox 数据库是在执行协作处理的服务器间实现工作项负载平衡的基础。工作项在其整个处理过程中可能会多次通过 MessageBox 数据库。MessageBox 数据库的名称不得超过 100 个字符。
适配器。“适配器”节点包含为 BizTalk Server 组和关联适配器处理程序配置的所有发送和接收适配器的子节点。适配器是用于在终结点之间发送和接收消息的消息传送中间件。
看了这些概念可能还是云里雾里的。不过没关系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"节点下配置的。在ReceiveLocations节点下右键->新建->单一方向接收地址.在"选择接收端口"的对话框中选择刚才新建的端口"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" 程序搬运文件。
我们在
我们的设想是:不管文件的类型是什么,将文件从In 文件夹搬到 Out 文件夹。我们来看看应该怎么实现这个设想。
首先我们会发现"Hello World"程序在接收位置的文件名称是" *.XML".也就是说它只接收XML文件类型的文件。既然它支持通配符的表达式那么我们就可能把这里改为:" * "也就是说让它支持任何类型的文件。(在Windows系统中允许文件没有扩展名,所以我们就用*让它代表所有的文件)
我们的测试数据有三种类型的文件,分别是:XML, ZIP, Gif。现在我们将这三种类型的文件拷贝到In文件夹。再看看输出文件夹:
[输入文件]
[输出文件]
很显然,我们输入的文件都已经被输出到正确的目标下了。也就是说BizTalk成功的路由了消息。但是这跟我们设想的还有点差距。输出的文件中除了XML类型的消息可以被正确访问之外。其他文件需要更改为相应的文件后缀才可以被访问。但我们希望的是输入的文件在输出的时候还能够保持原样(文件名,文件大小,文件类型)。那么我们接下来就要在发送端口做一下改变了。做什么改变呢?我们要让BizTalk输出文件的时候保持原有的文件名和后缀。
打开发送端口的类型配置对话框。我们会发现在文件名的表达式里有一个特别的关键字“%MessageID%”。这个表达式其实是BizTalk的宏,它表示的是这个消息在BizTalk中的ID号 。也就是说在执行的时候它会被真实的值给替换。
现在我们将这个表达式改为: %SourceFileName% . 这个宏的意思是保留原文件名称。
OK,现在我们配置好了。我们来看一下执行的效果。我们发现文件按照原有文件名被输出出来,而且可以被正常访问。
注意事项:本文主要是为了讲如何实现这一需求。在生产环境中使用该方法要考虑更多的因素:
文件大小 对于消息的处理需要对服务器做进一步的调整,目前微软官方已经测试通过了 2G的单文件。
数据库的维护 BizTalk的所有消息都是保存在BizTalk数据库里的所以要做好BizTalk 数据库的管理
系统稳定性 如果处理的文件过大,过多会造成系统的不稳定。
系统性能 不同的适配器性能表现不一样。
BizTalk开发系列(三) 单机环境下的BizTalk Server 2006 R2安装。
大部分的开发环境都是在单机环境下进行的,今天整理了一下BizTalk Server 2006 R2在单机环境下的安装步骤。1. 软件需求
在**服务器中完整安装BizTalk Server 2006 R2的基本软件需求
Windows 2003 Server with Service Pack 2 (SP2), or Windows 2003 Server R2
Microsoft Office Excel 2003 and InfoPath 2003 with Service Pack 2
Microsoft Visual Studio 2005 with Visual C# .NET
Microsoft SQL Server 2005 with Service Pack 2 or Microsoft SQL Server 2000 with Service Pack 4
Microsoft SQL Server 2005 Analysi www.hbbz08.com s Services with Service Pack 2 orMicrosoft SQL Server 2000 Analysis Services with Service Pack 4
Microsoft SQL Server 2005 Notification Services with Service Pack 2 orMicrosoft SQL Server 2000 Notification Services 2.0 with Service Pack 1
Business Activity Services (BAS) 需要安装 Microsoft WindowsSharePoint Services 2.0 with Service Pack 2 (WSS SP2) is installed. BAS仅支持 WSS SP2.
Windows SharePoint Services (WSS) 适配器 Web Service需要安装以下组件之一:
Microsoft Windows SharePoint Services 2.0 with Service Pack 2
Windows SharePoint Services 3.0
Microsoft Office SharePoint Server 2007 (MOSS)
安装RFID的软件需求
Microsoft .NET Framework 3.0
Web Services Enhancement (WSE) 3.0
Microsoft Message Queuing service (MSMQ)
Microsoft Management Console (MMC) 3.0 version
2. 安装必备组件
步骤/任务 注释
步骤 1: Windows Server 2003 R2 + SP2 建议在安装之后新建一个Administrators组的帐户用于BizTalk Server 的运行。
步骤 2:安装 Internet 信息服务 6.0 启用 ASP.NET
步骤 3:安装带 Service Pack 2 的 Office Excel 2003 和 InfoPath 2003 使用默认设置进行安装
步骤 4:安装 Visual Studio 2005 安装 .NET Framework 3.0 / 3.5
安装 Microsoft C# 和 Framework SDK
步骤 5:安装 SQL Server 2005 使用默认设置进行安装 如果有SQL Server 2005 SP2的话也一并装上。
步骤 6:安装并配置带 Service Pack 2 的 Windows SharePoint Services 2.0 安装类型必须为 Server Farm
步骤 7:将默认网站扩展为虚拟服务器 对于安全类型选择 NTLM。业务活动服务不支持 Kerberos 验证。
步骤 8:为业务活动监视 (BAM) 警报创建网络共享 创建名为 Alerts 的共享 授予 Everyone 对此共享的 Change 权限
3. WSS安装过程 由于WSS安装完之后还需要扩展站点才能正常安装BAM,Sharepoint Adapter等组件。所以这里讲一下关于WSS和扩展站点的配置。
安装完成之后会链接到WSS配置网站配置WSS的应用程序池和管理数据库。您也可以自己通过点击开始->程序->管理工具->SharepontAdministration打开该站点.下图显示的是新建配置WSS运行池"WSSAppPool",使用Administrator的身份运行。
接下来继续配置WSS的管理数据库。主要是要填上数据库服务器名称和数据库名称。
扩展站点,配置好WSS管理数据库之后在控制台选择扩展或新建站点。在显示的列表中选择要扩展的站点,默认为默认站点。在配置内容数据库页面配置相应的应用程序池和数据库即可。
再次点击新建或扩展Web应用程序刚才的站点已经不在列表中。则表示扩展已经成功。在IIS的默认站点的属性里可以看到在ISAPI菜单下新增加了一个Sharepoint 的ISAPI筛选器。
4. BizTalk Server 2006 R2安装过程
BizTalk 的安装过程比较简单。在点击Setup之后会有服务协议、用户名称等信息需要配置。另外在安装之前最好先将BizTalk所需的CAB包下载好。这样可以大大的加快安装进度。另外还可以方便下重复利用。
组件选择,一般开发机选择所有组件。以适应不同的BizTalk需求。
5. BizTalk Server 2006 配置
BizTalk Server 2006 R2支持两种配置方式。这两种配置方式是有一定区别的。但对于一般的开发环境只需要采用基本配置即可。这样可以节省很多时间。
基本配置的注意事项
使用基本配置来配置 BizTalk Server 2006 时,请注意以下事项:
不支持配置远程 SQL Server。
支持根据 SQL Server 2000 和 SQL Server 2005 默认实例和命名实例配置 BizTalk Server 2006。
注意
不支持 SQL Server 2000 Analysis Services 的命名实例。在配置过程中,必须使用 SQL Server 2000 Analysis Services 的默认实例。