Biztalk客户端定义的订阅项目
我正在设计一个 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
请查看 ESB 工具包。您可以使用它添加到 BizTalk 的行程功能,无论是通过内置解析器之一(例如 UDDI)还是通过您自己的自定义解析器。这允许您根据配置(存储在业务规则或其他地方)路由消息。
您可以在 MSDN 上找到面向开发人员的 ESB 工具包概述视频,该视频很好地介绍了设计过程和工具。还有其他一些有用的视频。
您的特定场景可以通过单个行程来完成,如 这里。将接收管道与 ESB Dispatch Disassembler 组件结合使用,配置多个解析器,并为每个解析器生成一条新消息。
还有两个示例可供查看:
您还应该查看“如何:路由使用行程路由表向多个收件人发送一条消息”,或者考虑创建自定义行程消息服务 (文档位于此处)。
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:
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).