• BizTalk Server 2010 映射器(Mapper) [ 上篇 ]


    本系列初步打算总共分为9篇,第一篇先写些比较简单的,后面会由浅入深,通过这个系列向大家介绍一些BizTalk在2010这个版本中功能上的改进,欢迎大家拍砖!~废话不多说了,开始第一篇的介绍。

    概述

    在 BizTalk Server 2010 中,为了帮助用户处理复杂映射,BizTalk 映射器引入了一组可用性增强功能。本篇文章将介绍BizTalk Server 2010 映射器中的增强功能:

    支持剪切、复制和粘贴
    支持在页(Page)间移动Functoid和链接
    增强的Functoid配置界面
    自动链接架构元素
    架构链接的智能感应
    优化显示映射窗口中的链接
    将选定对象置于视图中
    突出选定对象
    Grid Preview
    关联视图
    支持搜索

    演示
    场景介绍:

    目前我们有一个已经完成的BizTalk项目(Solution),在这个项目中,有很多的链接(Link)和Functoid是可以重复使用的,为方便理解,我们暂且将这个项目命名为“Abandoned Solution”。同时我们还拥有另一个全新的BizTalk项目(Solution),该项目是一个全新的项目,我们将其命名为“MapLab”,下面我们将利用BizTalk Server 2010中映射器的一些全新的功能去开发这个新项目“MapLab

    首先让我们先来看一下“MapLab”项目中的内容,如下图所示,“MapLab”项目包含两个工程(Project):MapLab.MapsMapLab.Schema,在MapLab.Maps中对MapLab.Schema进行了引用。

    捕获

    我们再来看一下之前已经完成的“Abandoned Solution”项目,“Abandoned Solution项目包含两个架构文件(SalesOrder.xsdSalesOrder_FF.xsd)和一个映射文件(SalesOrder_FF_to_SalesOrder_XML.btm)。这个Map实现了两个Schema之间的关系匹配,如下图所示:

    捕获

    下面我们来看看BizTalk Server 2010的新功能为我们带来了便利


    链接的剪切、复制和粘贴:

    现在,我们要在新的项目“MapLab”中实现上图中同样的映射关系以及使用相同的Functoid。

    1. 打开“Abandoned Solution项目,选择所需的映射链接和Functoid,我们可以在映射窗口中用鼠标拖拽来框选这些链接和Functoid,或者也可以按住CTRL键逐个选择,选择好之后右键->复制CTRL + C进行复制。

    2

    2. 在“MapLab”项目中,打开SalesOrderFF_to_SalesOrder映射文件,在映射窗口中,右键->粘贴CTRL + V,这时我们可以看到,BizTalk将刚才复制的链接和Functoid粘贴到了新项目当中,并且自动建立了两个Schema间的匹配关系。

    捕获

    3

    3. 我们给Page 1重新命名为“SalesOrderFF_to_SalesOrder”,随后按下CTRL + M CTRL + A创建一个新的Page,按F2将其命名为CustomerInfo,重复上述步骤我们再建立一个新Page并重命名为Items,怎么样?在用户体验上是不是感觉比以前要方便很多呢?这些快捷键也是BizTalk  2010中新添加的功能,在细节上帮助我们提升了开发效率。

    4


    支持在页(Page)间移动Functoid和链接

    还记得刚才我们创建的两个新的Page么?对,没错,CustomerInfoItems,这两个Page现在还没有任何的内容,这里的内容指的是Functoid和链接,在项目开发过程中,重复的劳动是我们每个人都不愿意看到的,如要避免这种情况的发生,就需要有一个强大工具为我们提供一条捷径才行,在这里我会带着大家慢慢去发现这条捷径。

    1. 首先在CustomerInfo页上建立如下4个映射关系,稍后我们会把这4个映射关系也建立到Items页上面,难道使用相同的方法么?当然不是了,我们的目标是 - 要避免重复的劳动(呵呵,当然也要没有蛀牙)。

    Source Element (CustomerInfo)

    Destination Element (Residence)

    Address

    Street

    Town

    City

    Region

    State

    ZipCode

    PostalCode

     
    5

    2. 在CustomerInfo页上建立好映射关系之后,下面我们选中这4个映射关系的链接,然后点击右键->移动到页(Move To Page),在Move To Page的对话框中,选择Items页,点击OK,至此,我们已经找到了一条捷径,让我们不用再去重复之前的劳动,可以看到在Items页中已经自动创建好了这4个映射关系。

    6

    7

    8

    3. 还挺方便的吧?这还不够,我们还可以对那些Functoids进行移动,有的人问Functoids是什么?它是工具箱当中的一些小函数块,转换当中的一些操作可以通过它来实现,BizTalk为我们提供了很多这样的函数块,比如求平均值、字符串格式的转换,到数据库轮询数据表等等等等…还有一个特殊的Functoid,叫做Scripting,顾名思义在这里我们可以自己编写C#、JS、VB以及XSLT等代码来实现映射当中的一些转换规则。对Functoid做了个非常简单的介绍,回到我们的项目当中,打开我们假设之前完成的那个项目,还记得叫什么来着不?“Abandoned Solution我们现在需要把它里面用来转换数据的Functoid进行复用,里面的代码和数据库轮询条件不会让我们重新再写一遍吧?当然不会,我们可以将这些Functoid复制粘贴到现在正在开发的项目当中,这些规则也都相应的自动匹配到了每一个字段上面。

    9

  • 相关阅读:
    聊聊和关系型数据库相关的一些概念
    Spring-MongoDB 关键类的源码分析
    Studio 3T 如何使用 Query Builder 查询数据
    MySQL error : Deadlock found when trying to get lock; try restarting transaction
    The java.util.concurrent Synchronizer Framework笔记
    JDK 8
    MongoDB Data Model 浅谈
    Java 泛型分析
    DCL(双检锁)的失效:现实与初衷的背离
    vue之虚拟dom
  • 原文地址:https://www.cnblogs.com/aiwz/p/6154654.html
Copyright © 2020-2023  润新知