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的查询)来说特别有用。一个典型的此类应用的架构如下:

clip_image001

 

        在上图的应用场景中,一个运行在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… ”菜单,以弹出适配器服务引用的配置界面,如下图:

clip_image002

2. 在适配器服务引用的配置界面中,可以从所支持的业务线系统中选择所需要的类型。比如,可以选择对于SQL Server数据表“CustomerInfo”的“Select”操作,如下图:

clip_image003

3. 点击OK按钮后,执行相关“Select”操作的WF活动就会被生成。这时候您必须重新编译您的项目后才能在Visual Studio的Toolbox看到这个新生成的活动,如下图:

clip_image004

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活动,如下图:

clip_image005

2. 将Mapper活动加入到WF项目中,并且配置InputDataContractTypeOutputDataContractType参数(它们是Mapper活动输入和输出数据的.Net类)。接着需要基于这两个参数创建一个新的映射或选择已有的映射。如果是创建新的映射,Mapper活动将为这两个参数的类型生成XML架构,同时也会生成相应的BizTalk映射文件(.btm),如下图:

clip_image007

3. 接着您可以在WF项目中通过BizTalk Mapper界面打开并编辑BizTalk映射文件。当映射文件被保存的时候,它会和项目一起被自动编译,如下图:

clip_image008

 

        Mapper活动的输入参数包含需要被转换的数据,输出参数保存转换后的结果。您可以创建workflow变量来传入输入参数,并从活动中得到输出参数。在运行时,输入数据会先被序列化成XML,然后使用XSLT(从映射文件生成)来转换,最后发序列化成输出对象。

        通过AppFabric集成功能,开发需要访问LoB数据的web应用会变得更加轻而易举。因为有了BizTalk Mapper,在不同的LoB系统间转换数据将可以通过一个易用的GUI工具来解决。同时我们可以利用Window Server AppFabric来部署、运行和管理这些应用。

        如果您想进一步了解BizTalk Server 2010的更多信息,请登录官方主页。作为BizTalk Server产品组的一员,我们非常鼓励大家试用这些新功能,并且提供您的反馈。您可以直接在此博客上发表意见,也可以加入我们的社区提出问题或者共享您的知识。

 

以下是我们的社区资源:

资源

链接

BizTalk社区门户(英文)

https://go.microsoft.com/fwlink/?LinkId=49340

BizTalk论坛(英文)

https://social.msdn.microsoft.com/forums/en-US/category/biztalkserver/

BizTalk论坛(中文)

https://social.microsoft.com/forums/zh-CN/biztalkserverzhchs/threads/

BizTalk开发人员社区(英文)

https://go.microsoft.com/fwlink/?LinkId=49339

BizTalk网播

https://go.microsoft.com/fwlink/?LinkId=49363

 

 

肖文峰,软件测试开发工程师