BizTalk map functoid vs BizTalk map xslt

时间:2016-11-17 14:30:45

标签: xslt biztalk biztalk-2013 biztalk-mapper

我正在使用BizTalk MAP并在BizTalk映射中使用表循环,表提取器,脚本,循环functoids。

通过引用XSLT可以在BizTalk映射中实现相同的功能。

所以性能明智,使用BizTalk Map或BizTalk映射引用XSLT会更好。

5 个答案:

答案 0 :(得分:2)

事实上,使用BizTalk映射器创建的可视BizTalk映射是XSLT。只有你的functoid是库/函数,可以是XSLT或内联C#代码。您可以检查此方法的一种方法是右键单击.btm地图并单击“验证”。在输出窗口中,您将看到指向XSLT文件的链接。

使用XSLT,性能非常棘手。您可以以非常好的方式或以不打算使用的方式编写XSLT。 对于一个非常基本的映射,性能差异将存在,但将是非常小的(如果有的话)。正如Dijkgraaf所说:检查这个问题的唯一方法就是测试它。

如果您当前的实现提供了性能问题,请尝试将其纯粹写入XSLT,无论哪种方式都进行了优化。尝试采用不同的方法/技术。

一般来说,我总是建议编写XSLT而不是使用mapper,但说实话:这是个人偏好。 我写了一篇关于此的博客文章,请在此处查看:https://pvandenheede.wordpress.com/2016/09/20/the-case-for-xslt/

答案 1 :(得分:0)

XSLT的好处

  • 导入通用或常用样式表
  • 如果您的架构排成一行,请使用通用模板
  • 内联评论
  • 在调试期间禁用(注释掉)代码块
  • 更容易查看
  • 可以跟踪源存储库中的更改
  • 可以从分支机构合并

答案 2 :(得分:0)

我始终支持使用XSLT,这仅是Microsoft创建了functoids和biztalk映射的原因,因此开发人员只需拖放即可。如果您根本不了解XSLT。

答案 3 :(得分:0)

我可能是一个奇怪的人,喜欢使用映射工具,因为它还会生成XSLT。

我认为与地图上的内容进行可视化比较容易与同事讨论,而对于其他人则更容易维护,因为并非所有代码都用于编码XSLT。

我使用生成的XSLT进行性能测试的唯一次数是

  • 在两个传入XML映射中使用一个XML作为查找表-BizTalk 2006中的一个错误,已通过2006 R2解决。
  • 从SSO获取连接字符串时-通过将脚本移至仅运行一次的全局函数来解决
  • 使用累计最大值-由this method
  • 解决

答案 4 :(得分:0)

我认为这取决于具体情况,但是当您使用地图 GUI 创建地图时,bizTalk 会创建大量变量、代码等。当我在地图 GUI 中制作地图但随后将其清除并留在 XSLT 中时,我有过这样的经历。