我有一些BizTalk的经验,现在想要了解BizTalk 2009 ESB Toolkit 2,但不打算使用它。首先,我想知道以下几个概念的区别:
- "on-ramp"和"receive port"之间有什么区别?
- 为什么需要行程单?难道不能用端口和编排来创建相同的功能吗?显然我还缺乏某些知识。
另外还有几个更普遍的问题:
- 所有消息是否仍需通过Message Box处理?
感谢您提供的任何见解。
我有一些BizTalk的经验,现在想要了解BizTalk 2009 ESB Toolkit 2,但不打算使用它。首先,我想知道以下几个概念的区别:
另外还有几个更普遍的问题:
感谢您提供的任何见解。
入口
入口是基于Web服务的接收端口,但它们略有不同,因为它们接受通用的XML消息。然而,这些消息将具有非常特殊的SOAP头(如果您愿意,可以称之为“信封”),其中包含使消息行程表成为可能的所有必要属性。您可以通过查看“EsbEnvGeneric.xsd”中的所有可能的头文件来找到它们。
行程表
我喜欢NealWalter在此问题上的回复。但是,我想补充一下,消息行程表方法可以潜在地节省大量的时间和开发工作。它可以使组织更加敏捷,并且可以轻松更改其流程。如果我们不需要开发和部署全新的编排,而只需更改一些配置并使用现有的组件,那么当然可以节省很多时间。这就是我认为ESB和消息行程表的重要价值所在。
消息框
BizTalk中的消息始终必须经过消息框。在下一个版本中,微软暗示了BizTalk中的低延迟场景 - 也许那时我们可以获得更多控制权,但是目前在BizTalk中,消息在其通过过程中经常被持久化,这是无法避免的。
一些额外的观点 -
接收端口 / 入口 - 完全同意Riri的回答,只是补充一点 - 在BizTalk ESB应用程序的上下文中,入口是接收端口的一个特定实现;一个子集;一个私有案例。它使用接收端口来实现ESB世界中的模式;所以 - 它们本质上并不不同。
行程单 - 同样地 - 我同意Neal和Riri的看法,并回答您的问题 - BizTalk ESB可以以不同的方式使用行程单 - “明智”的客户端可以在请求消息中提供请求的行程单;一个不那么聪明的客户端可以简单地发送一个消息,而ESB基础架构(或者更确切地说 - 您的实现)可以为特定的请求解析相关的行程单(这可以使用解析器完成,内置或自定义,其将使用不同的方法来决定需要哪个行程单)。理论上,两者也可以结合起来,其中客户端提供行程单,但ESB入口替换/更改它。