我们的许多Biztalk用例都涉及到简单地将HL7 2.x消息从一个系统映射和路由到另一个系统。实现映射并将它们关联到发送/接收端口通常很简单,但我们还需要在发送端进行一些基于内容的过滤。
例如,如果发送设施是任何200个设施(我们组织中可能有1000个设施中的任何一个),我们可能希望仅向系统X发送ADT A04和ADT A08消息,但系统Y需要将ADT A04、A05、A8用于完全不同的设施集,并且仅适用于肾脏患者。
因为我们在这里只是路由消息,而不是真正管理业务流程,所以在这里利用编排来调用业务规则引擎有点夸张,特别是考虑到由于架构的工作方式,我们可能需要为每个ADT类型单独编排。有没有可能在不使用编排的情况下实现这样的过滤规则?发送端口的筛选器功能看起来对于我们需要的东西来说有点太初级了,但同时我不想开发和管理编排。
发布于 2012-06-28 15:28:42
你也许可以用属性模式来做到这一点...
您需要创建一个属性模式,并包含要用于路由的属性(来自其他模式)。一旦部署了模式,这些属性就可以用作发送端口中的筛选器。从here开始,您应该能够在某个地方找到示例...
发布于 2016-07-22 11:32:01
正如其他人所建议的,您可以使用自定义管道组件来调用Business Rules引擎。
而不是尝试创建自己的,已经有一个开放源码的BizTalk Business Rules Engine Pipeline Framework可用
通过从管道调用BRE,您可以创建复杂的规则,然后设置简单的上下文属性,您可以在这些属性上路由消息。
完全披露:当我和那个框架的作者在同一家公司工作的时候,我和他一起工作过。
https://stackoverflow.com/questions/11211146
复制相似问题