【问题标题】:Microsoft BizTalk message formatMicrosoft BizTalk 消息格式
【发布时间】:2012-10-09 21:17:11
【问题描述】:
无论 BizTalk 是什么,我对 MoM 或 ESB 中用于消息传递的规范有点困惑。
是否有任何 BizTalk 消息格式可以在通过它发送消息时使用,或者 JMS 消息格式规范是 BizTalk 中使用的常见替代方案?
我从一侧和 ESB 的另一侧有 .NET 应用程序,中间有 BizTalk。我是否必须将这些消息包装成 JMS 格式并通过 BizTalk 发送,或者是否存在某种 BizTalk 特有的消息格式?
【问题讨论】:
标签:
.net
jms
biztalk
messaging
esb
【解决方案1】:
我不能 100% 确定 BizTalk 将如何与 JMS ESB 集成 - 例如。 BizTalk 有一个 ESB 工具包,它有一个 JMS ESB example。
但是,以下内容在一般意义上可能有所帮助?
在内部,BizTalk uses XML,并且不要求传入消息具有任何特定的信封、页眉/页脚等 - 消息可以是任何有效的 XML 格式。
例如如果您正在与 Websphere MQ 集成,BizTalk 只对 MQ 消息的正文部分感兴趣(应该是 XML)。
(如果您可以控制组织中的消息模式,那么将这些消息“标准化”为通用格式当然不会有什么坏处,例如包括标准页眉和页脚部分,以便您自己轻松识别消息)
BizTalk 主要根据其根节点名称及其命名空间(xmlns#root 格式)识别消息“类型”,因此理想情况下,这些对于每种消息类型应该是唯一的。
BizTalk 还可以从其他格式(例如平面文本文件、UN EDIFACT 等)读取数据,尽管它通常需要能够将其解析为 XML 以便能够进行任何基于内容的路由、映射到另一个格式等
【解决方案2】:
不想这么说,但这取决于您的 BizTalk 安装。
BizTalk 为您提供了一个端点(Biztalk 术语中的端口),它将接受指定的任何内容。 BizTalk 可能只是将您的消息路由到一个(或多个)目标系统,但这样做可能(但不是必须)在传递消息之前对消息应用转换。
总结一下,有了 BizTalk,您就不必担心目标系统,而只需担心要传递给 BizTalk 的协商内容。
您正在与之交谈的端口是什么,队列还是服务?