BizTalk 内部和外部架构

2024-01-17

我在网上读到,您将“外部模式”与“内部模​​式”分开,并且永远不要将“内部模式”暴露给任何外部参与者。

如果我的解决方案仅充当消息总线来在两个现有系统之间创建松散耦合,我真的需要任何内部模式吗?

System A makes a Request(Message with SchemaA) to Biztalk

Biztalk Maps SchemaA to SchemaB 

Biztalk forwards request of type SchemaB to SystemB

SystemB returns ResponseB 

Biztalk maps ResponeB to ResponeA

Biztalk routes the result back to System A

我看不出拥有内部架构和地图的优点:

架构 -> 内部架构 -> 架构

?


期限canonical schema http://en.wikipedia.org/wiki/Canonical_model通常用于描述内部模式的创建(SchemaInternal在你的最后一个例子中)到诸如 BizTalk 之类的集成机制。

使用规范模式被广泛认为是一种最佳实践 http://msdn.microsoft.com/en-us/magazine/cc163423.aspx,因为它将您的 BizTalk 流程控制映射与任何“其他”系统的架构解耦(此处的其他系统可能位于您的组织内部或外部,例如供应商、客户或合作伙伴系统)。这样,如果通过 BizTalk 集成的任何系统发生变化,它只是外部架构,并映射到需要更改的规范架构。它还可以防止外部架构中固有的外部约定、命名和层次结构差异泄漏到您的内部 BizTalk 工件中。

一般来说,传入消息到规范模式的转换是尽早完成的,例如在接收时,同样,尽可能晚地完成规范转换,例如在发送端口映射上。

规范模式 (CS) 的常见场景是多个交易方共用一个编排或消息流(例如,您可能有许多具有不同系统的供应商,但是它们都提交发票进行处理)。在这种情况下,每个新的供应商系统只需要与您的 CS 集成 - 不需要添加或复制新的处理逻辑 - CS 实际上可以减少这种情况下的总体工作量。 (n x m问题详细解释here https://www.ibm.com/developerworks/community/blogs/SOAPatterns/entry/the_canonical_message_model_pattern?lang=en)。 CS 至关重要的另一个例子是您的业务需要交换消息 - 例如医疗行业交换机将有许多医生和执业系统发送授权请求和发票,这些需要映射并路由到多个医疗基金(医疗援助)系统。

还有FWIW:

  • 当 BizTalk 是 EAI 或 ESB 场景中的端到端解决方案时(例如,IMO CS)最有意义。直接集成 2 个或更多业务线系统。否则,如果 BizTalk 只是大型企业 ESB 上的一个端点,那么使用企业 ESB 架构可能是有意义的内部,因此将外部模式直接映射到 ESB 模式(即不需要anotherBizTalk 中的 CS 集(前提是您的企业拥有良好的变更管理/版本控制机制)。
  • 如果标准模式(例如EDIFACT http://en.wikipedia.org/wiki/XML/EDIFACT)对于您的行业来说存在,因此采用这些作为内部 CS 是否是一个目标是没有意义的。一般来说,这些可能与以下的含义相冲突典范因为行业模式通常需要很详细才能对文档的所有风格和“边缘情况”进行建模)。就我个人而言,我会确保我有一个到/来自所述行业模式的映射,但会在内部使用自定义模式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BizTalk 内部和外部架构 的相关文章

随机推荐

  • 使用 mysqli_query 的长文本最大内存错误

    我工作的公司使用Kayako https www kayako com 管理其支持票证 我准备制作一个外部网络应用程序 它可以获取一家公司的所有门票并显示历史记录 我使用 mysqli query 连接到数据库 link mysqli co
  • 将数组添加到 web.config 中的键

    我想知道是否可以将数组作为键中的值 示例
  • 在 postgresql 中查找现有函数脚本的命令是什么?

    由于我们使用 sp helptext 过程名称 来获取 Sqlserver 中的 SP 脚本 因此我需要可用于从 postgresql 检索函数脚本的命令 请帮忙 如果您使用 pl sql 命令行界面 您可以使用 df 正如 tobixen
  • BGAppRefreshTask 后台任务未执行

    我正在使用新的 iOS13 后台任务框架 并实现 BGAppRefreshTask 类型 我的问题是 即使在等待几个小时之后 我的设备也永远不会调用该任务 但我能够使用调用 simulateLaunchForTaskWithIdentifi
  • 在 Tomcat 中为每个服务启用相互 SSL [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我已经成功地在客户端应用程序和 Tomcat 实例之间设置了相互 SSL 不过 我现在正在寻找一种方法 通过相互 SSL 只公开 Tomcat 中部署
  • 为什么实际的 Switch 图像/动画没有显示?

    我在 XML 中声明了一个 Switch 它是使用特定主题的 Activity 的一部分
  • 如何正确安装msvcr71.dll

    我如何在 Windows Server 2003 上安装我的软件需要的 msvcr71 dll 我真的不想将此 dll 复制到 system32 文件夹 因为它可能会破坏此目标系统 只需将其复制到程序的所有可执行文件所在的文件夹中即可 这是
  • sprite-kit 游戏中是否可以有 Twitter / Facebook 分享按钮?

    我完全迷失了 我找到的所有教程都是针对带有故事板的 iOS 6 应用程序 我的问题是你是否可以在精灵套件游戏中拥有 Twitter 或 Facebook 共享功能 如果是这样 添加它的最佳方法是什么 我读过的很多教程都使用视图控制器 但 s
  • 内存不足错误图像视图

    我对 imageview 有问题 我有 77 张图片 jpg 和 126 个引用文本 我想要的只是简单的应用程序 我想显示带有背景图片的所有引用 并且我使用 viewflipper 所以当我向左 向右滑动时进入下一个引用 我给你我现在使用的
  • Qt Designer如何更改背景

    这是转帖 我是 Qt Designer 的新手 想要对一些按钮的丑陋做一些事情 我昨天所做的就是在互联网上查找如何在 Qt Designer 中更改屏幕的背景颜色 如何更改按钮的颜色以及如何使其侧面变成另一种颜色 你猜怎么了 我什么也没找到
  • RubyMine 文件夹树不刷新

    今天首次在 Mac OSX Leopard 上使用 RubyMine 2 0 2 如果我在文件系统中创建文件 例如 使用脚本 生成 这些新文件不会出现在 ruby mine 中 我在重新启动程序时取得了有限的成功 因为 db 文件夹中的文件
  • 如何在 pandas DataFrame 中允许重复的列名

    我有一个数据框 我想更新该数据框的列名称 列名有重复的条目 下面的代码给出错误 无法从重复的轴重新索引 list alpha beta gamma alpha df pd DataFrame datframe columns list No
  • Spotify 最新更新:Autohotkeys 脚本损坏

    我曾经使用 AutoHotKey 脚本作为 Spotify 快捷方式 内置快捷方式有限 只有在应用程序处于焦点状态时才有效 我通常在工作时将其保留在后台 不管怎样 它之前已经更新了一百万次了 没有任何问题 但是我下载了最新的 Spotify
  • AVAssetExportSession 卡住(未启动)导出

    我尝试从照片库导出视频 但导出回调从未执行 我定期检查导出进度 进度始终为零 下面的代码在 99 9 的情况下都有效 但有时在某些设备上 绝对随机 它会停止工作 只有重新启动 iPhone 才有帮助 AVAssetExportSession
  • 为什么这封邮件会直接进入垃圾邮件箱?

    我正在使用以下脚本发送邮件 但这总是最终进入垃圾邮件文件夹 为什么 您在发送邮件时必须使用标头 以证明邮件是来自真实来源而不是机器人 尝试这个
  • 使用 CQRS 在 DDD 中进行命令验证

    我正在学习 DDD 并利用 CQRS 模式 我不明白如何在不从数据存储中读取的情况下验证命令处理程序中的业务规则 例如 克里斯想给阿什利一件礼物 该命令可能是 GiveGiftCommand 我什么时候才能验证克里斯确实拥有他想要赠送的礼物
  • PHP 购物车中买一送半价总计

    我正在用 PHP 创建一个购物车 其中一个特定的商品是买一送一半价 当用户购买该商品时 我希望从总数中扣除报价 但我坚持如何从数学上做到这一点 到目前为止 我在 if 循环中从数据库获取数据有类似的内容 total total arrayc
  • 内嵌显示单选按钮列表

    我的页面上有一些广播列表 我面临的问题是单选按钮的文本没有显示在单选按钮的内联中 我已将重复布局放入表和流中 但两者都不起作用 我尝试添加一种显示样式 内联 但这也不起作用 尽管它在复选框上起作用 并且我认为也许它在这里也起作用 这只是一个
  • 增强 Jquery 拖放演示

    我有一个非常匹配的要求这个 Jquery 演示 http jqueryui com demos droppable shopping cart 这是一个简单的购物车演示 基本上我需要对该演示进行两项增强 我需要文本输入以及可用的 产品 因此
  • BizTalk 内部和外部架构

    我在网上读到 您将 外部模式 与 内部模 式 分开 并且永远不要将 内部模式 暴露给任何外部参与者 如果我的解决方案仅充当消息总线来在两个现有系统之间创建松散耦合 我真的需要任何内部模式吗 System A makes a Request