我正在设计一个Biztalk解决方案,该解决方案要求客户端应用程序根据用户权限订阅和接收特定的事件消息子集。订阅将通过基于主题或内容的路由完成。客户端将订阅一次并接收许多消息,直到他们选择取消订阅。
客户端应用程序将在100秒内编号,订阅主题可能会定期更改,因此从Biztalk为每个接收方定义单独的发送端口不是一个可行的解决方案。
我原以为我可以构建一个额外的消息代理服务,该服务包含各个客户端订阅并分发从biztalk端口发送的消息。
我还看到可以使用业务流程构建收件人列表模式。在我看来,仍然遵循请求 - 响应模式,并且我正在向许多返回的事件消息发送单向订阅消息。
我的消息代理解决方案在我看来应该加倍Biztalk应该擅长什么,所以我想我在某个地方缺少一些重要的功能。有没有人尝试过这样的应用程序,可以给出一些指示?我是否应该将ESB工具包作为解决方案进行投资?我已经在网上看了一下,但对于这种类型的主题订阅模式,没有什么能说得很清楚。
谢谢, 菲尔
答案 0 :(得分:2)
请查看ESB工具包。您可以使用它添加到BizTalk的行程功能,可以使用其中一个内置解析器(例如UDDI)或使用您自己的自定义解析程序。这允许您根据配置路由消息(存储在业务规则或其他地方)。
您将在MSDN上找到面向开发人员的ESB Toolkit概述视频,这是对设计过程和工具的一个不错的介绍。那里还有其他一些有用的视频。
您的具体方案可以通过单个行程完成,如here所述。使用带有ESB Dispatch Disassembler组件的接收管道,配置多个解析器,并为每个解析器生成一条新消息。
还有两个样本可供查看:
您还应该查看“How to: Route a Single Message to Multiple Recipients Using an Itinerary Routing Slip”或者查看创建自定义行程消息服务(documentation is here)。