2010-09-29 29 views
1

我是一个完整的新手在BizTalk,我需要创建一个BizTalk 2006应用程序以特定方式广播消息。我不是要求一个完整的解决方案,而是建议和指导方针,我应该使用BizTalk的哪些功能。在BizTalk应用程序运行时确定一组消息目标

有一个消息来源,为简单起见,用户添加文件发布它们的目录。有几个订户,每个订户都有一个目录来接收发布的文件。用户的数量可以在开发该程序的过程中变化。还有一些规则基于文件名来确定特定用户是否需要接收特定文件。例如,每个用户都有一个模式或文件名掩码,他们收到的文件必须匹配。那些规则(例如模式)也会随时间而改变。

我不知道该怎么做。在运行时创建一组发送端口,每个目标端口?可能吗?使用一个端口更改其绑定?它会并发发送正确吗?有其他方法吗?

编辑

我意识到我的问题可能是掩盖和一般更喜欢在一个又一个的答案接受。所以我刚刚提出了他们。

+0

我完全同意。 SO是一个学习和互相帮助的好地方。接受哪个答案对你最有帮助。我建议ChrisLoris--他给了你最多的细节:-) – dariom 2010-10-05 22:43:06

回答

1

如果对目的地的更改频繁发生,那么您正确地寻求更加动态的解决方案。一个很好的解决方案是使用动态发送端口和业务规则引擎。您为正在接收的消息创建规则集。这可能基于消息中的目的地属性或客户ID。使用这些事实,规则引擎可以返回一堆信息,如文件掩码,服务器名称,删除服务器的IP地址等。然后,您可以使用此信息在编排中配置动态发送。这里真正好的一点是,您可以更新规则引擎中的规则集,而无需重新部署整个解决方案。作为一个新手,这些是一些先进的概念,但不像你想象的那么难。

对于更简单的解决方案,您可能需要查看通过它的Propery Schema(即文件名,目录等)设置FILE发送适配器属性。你可以从一个数据库中获取这些值,并且使用一个helper类在expresison形状中。在每个消息上,使用属性shcema来设置消息的发送和命名。这样,您只需随着事情的变化更新数据库。

祝你好运!

2

如果你的用户是真正动态的,你可以看看使用动态发送端口来实现这一点。这会带来一点复杂性,因为您需要使用编排来根据您的规则配置发送端口的属性。

如果可以,请尝试删除复杂性。如果您知道在添加订户时您不需要真正具有动态性(即订阅者,而且它的规则只能配置一次),并且您拥有可管理的订户数量,那么我会建议使用它自己的发送端口配置每个订阅者并使用过滤器根据消息上下文属性创建订阅。这种方法的优点是不需要创建和部署编排,这成为一个高性能和可扩展的解决方案。

相关问题