2010-09-29 52 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

如果你的用戶是真正動態的,你可以看看使用動態發送端口來實現這一點。這會帶來一點複雜性,因爲您需要使用編排來根據您的規則配置發送端口的屬性。

如果可以,請嘗試刪除複雜性。如果您知道在添加訂戶時您不需要真正具有動態性(即訂閱者,而且它的規則只能配置一次),並且您擁有可管理的訂戶數量,那麼我會建議使用它自己的發送端口配置每個訂閱者並使用過濾器根據消息上下文屬性創建訂閱。這種方法的優點是不需要創建和部署編排,這成爲一個高性能和可擴展的解決方案。

相關問題