Biztalk客户端定义的订阅项目

发布于 2024-10-06 20:29:41 字数 479 浏览 10 评论 0原文

我正在设计一个 Biztalk 解决方案,该解决方案要求客户端应用程序根据其用户权限仅订阅和接收事件消息的某个子集。订阅将通过基于主题或内容的路由完成。客户端将订阅一次并收到许多消息,直到他们选择取消订阅。

客户端应用程序的数量将达到数百个,并且订阅的主题可能会定期更改,因此为每个接收方从 Biztalk 定义单独的发送端口并不是一个可行的解决方案。

我认为我可以构建一个额外的消息代理服务,该服务保存各个客户端订阅并分发从 biztalk 端口发送的消息。

我还看到可以使用编排来构建收件人列表模式。在我看来,这仍然遵循请求-响应模式,并且我正在以一种方式订阅许多返回的事件消息。

在我看来,我的消息代理解决方案似乎在 Biztalk 应该擅长的方面加倍,所以我想我在某个地方缺少一些重要的功能。有没有人尝试过这样的应用程序并可以提供一些指导?我应该投资 ESB 工具包作为解决方案吗?我在网上查了一下,但对于这种类型的主题订阅模型没有任何说明。

谢谢, 菲尔

I am designing a Biztalk solution which requires client applications to subscribe and receive only a certain subset of event messages depending on their user permissions. Subscription will be done through topic or content based routing. The client will subscribe once and receive many messages until they choose to unsubscribe.

Client applications will number in the 100s and subscribed topics could change on a regular basis, so defining an individual send port from Biztalk for each reciever isn't a viable solution.

I have thought I could build an additional message broker service which holds the individual client subscriptions and distributes messages sent from a biztalk port.

I have also seen that a recipient list pattern can be build using orchestrations. This appears to me to still follow a request-response pattern though and I am after 1 way subscribe message to many returned event messages.

My message broker solution seems to me to be doubling up on what Biztalk should be good at so I imagine I am missing some important functionality somewhere. Has anyone tried such an application before and can give some pointers? Should I be investingating the ESB toolkit as a solution? I have had a look on the net but nothing makes it very clear for this type of topic-subscription model.

Thanks,
Phil

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

铜锣湾横着走 2024-10-13 20:29:41

请查看 ESB 工具包。您可以使用它添加到 BizTalk 的行程功能,无论是通过内置解析器之一(例如 UDDI)还是通过您自己的自定义解析器。这允许您根据配置(存储在业务规则或其他地方)路由消息。

您可以在 MSDN 上找到面向开发人员的 ESB 工具包概述视频,该视频很好地介绍了设计过程和工具。还有其他一些有用的视频。

您的特定场景可以通过单个行程来完成,如 这里。将接收管道与 ESB Dispatch Disassembler 组件结合使用,配置多个解析器,并为每个解析器生成一条新消息。

还有两个示例可供查看:

  1. 行程 - Ramp Sample - 构建一组 SOAP 标头,其中包含您在测试客户端中创建的行程,从磁盘加载特定消息文件,将行程标头附加到消息,并通过 Itinerary 将其提交到 ESB入口匝道进行处理。
  2. Scatter-Gather 示例 - 还附加 SOAP包含消息行程的标头,该消息通过入口提交给 ESB 进行处理。代理编排分析其行程步骤的设置,检索与行程步骤关联的解析器集合,并为每个解析器解析服务端点。之后,编排激活适当的 ServiceDispatcher 编排实例来分派出站请求消息。

您还应该查看“如何:路由使用行程路由表向多个收件人发送一条消息”,或者考虑创建自定义行程消息服务 (文档位于此处)。

Do take a look at the ESB Toolkit. You can use the itinerary functionality that it adds to BizTalk, either with one of the built-in resolvers (e.g., UDDI) or with your own custom resolver. This allows you to route messages based on configuration (stored in Business Rules or elsewhere).

You will find a developer-oriented overview video of the ESB Toolkit on MSDN, which is a decent introduction to the design process and tooling. There are several other helpful videos there as well.

Your specific scenario can accomplished with a single itinerary, as described here. Use a receive pipeline with the ESB Dispatch Disassembler component, configure multiple resolvers, and for each resolver a new message is produced.

There are also two samples to look at:

  1. The Itinerary On-Ramp Sample - builds a set of SOAP headers that contain the itinerary that you create in the test client, loads the specific message file from disk, appends the itinerary headers to the message, and submits it to the ESB through an Itinerary on-ramp for processing.
  2. The Scatter-Gather Sample - Also appends SOAP headers containing the itinerary to the message, which is submitted to the ESB through an on-ramp for processing. A Broker orchestration analyzes the settings for its itinerary step, retrieves a collection of resolvers associated with the itinerary step, and for each of those resolvers resolves the service endpoint. After that, the orchestration activates the proper ServiceDispatcher orchestration instances to dispatch the outbound request messages.

You should also look at "How to: Route a Single Message to Multiple Recipients Using an Itinerary Routing Slip" or perhaps look into creating a custom itinerary message service (documentation is here).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文