BizTalk Server 2010新功能介绍(七):AppFabric的集成
BizTalk Server是微软构建业务流程和集成解决方案的首选服务器,BizTalk Server 2010是这个产品线的第7个主要版本,提供对Windows Server 2008 R2、SQL Server 2008 R2和Visual Studio 2010的全面支持和集成。
BizTalk Server 2010基于BizTalk Server 2009的核心架构,在应用到应用、业务到业务以及业务流程自动化等方面做了诸多重大改进,能让以前动辄以月和年为单位的设计和实现过程,现在只需要几周甚至几天就能完成。
BizTalk Server 2010增加了与AppFabric的集成,方便用户在以下场景中开发应用:
1. 开发需要和后端LoB(业务线)系统(比如SAP、Oracle DB、Oracle E-Business Suite、Seibel和SQL Server)互联的Windows Workflow应用,而无需专门针对其编写定制代码。
2. 开发基于XML数据转换的应用:因为BizTalk Mapper正好是针对此类任务的利器,而现在BizTalk Mapper可以直接在.Net/WF项目中启动并调用。
AppFabric的集成功能通过WF(Windows Workflow Foundation)活动(Activity)的形式使用户能在编程中引入BizTalk业务线连接和XML数据转换的能力。通过WF的模型,用户可以容易的创建新的复合应用,这些应用能在Windows Server AppFabric中部署、运行和管理。基于web的应用也能基于此访问后端业务线的数据。这些能力对于一些短时运行且不需要传统BizTalk Server提供的持久化能力的应用场景(比如基于web的查询)来说特别有用。一个典型的此类应用的架构如下:
在上图的应用场景中,一个运行在AppFabric/IIS的workflow服务连接到后端的业务线系统。
本文将介绍AppFabric集成功能的一些简单操作步骤。
一、后端业务线系统互联
BizTalk Server提供了一套基于WCF(Windows Communication Foundation)的适配器以和业务线系统互联。在使用这些适配器之前,您必须首先安装WCF LoB Adapter SDK和BizTalk Adapter Pack。这两个安装包和BizTalk Server 2010同时发布。
为了实现从WF中对此功能的调用,需要进行如下操作:
1. 在Visual Studio 2010中打开相关的WF项目,在项目上点击右键,选择“Add Adapter Service Reference… ”菜单,以弹出适配器服务引用的配置界面,如下图:
2. 在适配器服务引用的配置界面中,可以从所支持的业务线系统中选择所需要的类型。比如,可以选择对于SQL Server数据表“CustomerInfo”的“Select”操作,如下图:
3. 点击OK按钮后,执行相关“Select”操作的WF活动就会被生成。这时候您必须重新编译您的项目后才能在Visual Studio的Toolbox看到这个新生成的活动,如下图:
4. 生成新的活动以后,就可以直接通过拖拽在WF项目中使用它。
二、使用BizTalk Mapper来进行XML数据转换
BizTalk Server提供一个功能丰富的基于GUI的工具来执行XML数据的转换操作,这个工具就是BizTalk Mapper。现在,您也能直接在WF应用中通过Mapper活动来调用BizTalk Mapper的功能。
1. 安装BizTalk Server (Developer Tools)和the WCF LOB Adapter SDK之后,您可以在Visual Studio的Toolbox中找到“BizTalk”栏,其中就包含Mapper活动,如下图:
2. 将Mapper活动加入到WF项目中,并且配置InputDataContractType和OutputDataContractType参数(它们是Mapper活动输入和输出数据的.Net类)。接着需要基于这两个参数创建一个新的映射或选择已有的映射。如果是创建新的映射,Mapper活动将为这两个参数的类型生成XML架构,同时也会生成相应的BizTalk映射文件(.btm),如下图:
3. 接着您可以在WF项目中通过BizTalk Mapper界面打开并编辑BizTalk映射文件。当映射文件被保存的时候,它会和项目一起被自动编译,如下图:
Mapper活动的输入参数包含需要被转换的数据,输出参数保存转换后的结果。您可以创建workflow变量来传入输入参数,并从活动中得到输出参数。在运行时,输入数据会先被序列化成XML,然后使用XSLT(从映射文件生成)来转换,最后发序列化成输出对象。
通过AppFabric集成功能,开发需要访问LoB数据的web应用会变得更加轻而易举。因为有了BizTalk Mapper,在不同的LoB系统间转换数据将可以通过一个易用的GUI工具来解决。同时我们可以利用Window Server AppFabric来部署、运行和管理这些应用。
如果您想进一步了解BizTalk Server 2010的更多信息,请登录官方主页。作为BizTalk Server产品组的一员,我们非常鼓励大家试用这些新功能,并且提供您的反馈。您可以直接在此博客上发表意见,也可以加入我们的社区提出问题或者共享您的知识。
以下是我们的社区资源:
资源 |
链接 |
BizTalk社区门户(英文) |
|
BizTalk论坛(英文) |
https://social.msdn.microsoft.com/forums/en-US/category/biztalkserver/ |
BizTalk论坛(中文) |
https://social.microsoft.com/forums/zh-CN/biztalkserverzhchs/threads/ |
BizTalk开发人员社区(英文) |
|
BizTalk网播 |
肖文峰,软件测试开发工程师