在没有编排的情况下路由/过滤消息

时间:2012-06-26 15:49:14

标签: biztalk biztalk-2010

Biztalk的许多用例涉及简单地将HL7 2.x消息从一个系统映射和路由到另一个系统。实现映射并将它们关联到发送/接收端口通常很简单,但我们还需要在发送端进行一些基于内容的过滤。

例如,如果发送设施是任何200个设施(我们组织中可能的1000个设施中),我们可能只希望向系统X发送ADT A04和ADT A08消息,但系统Y需要ADT A04, A05,A8用于完全不同的设施,仅适用于肾病患者。

因为我们只是路由消息而不是真正管理业务流程,所以在这里使用业务规则引擎的唯一目的是利用编排有点过头了,特别是考虑到我们可能需要单独的编排每种ADT类型都是因为模式的工作方式。是否可以在不使用业务流程的情况下实现这样的过滤规则?发送端口的过滤器功能对于我们需要的东西看起来有点过于简单,但与此同时我宁愿不开发和管理编排。

2 个答案:

答案 0 :(得分:3)

您可以使用属性架构执行此操作...

您需要创建属性架构并包含要用于路由的属性(来自其他架构)。部署架构后,这些属性将可用作发送端口中的过滤器。从here开始,您应该可以在某个地方找到示例...

答案 1 :(得分:0)

正如其他人所建议的那样,您可以使用自定义管道组件来调用业务规则引擎。

而不是尝试创建自己的,已经有一个名为BizTalk Business Rules Engine Pipeline Framework的开源软件

通过从管道调用BRE,您可以创建复杂的规则,然后设置简单的上下文属性,您可以在其上路由消息。

完全披露:当我们在同一家公司时,我曾与该框架的作者合作过。