2013-04-08 72 views
0

大家好日子,程序設計問題

我有一個程序設計問題(或問題),我很想獲得一些反饋意見。

這裏是我的情況:我 有

  • 計算機A運行軟件的
    • 軟件A有不同的狀態(空閒,處理,打印,...)
  • 電腦B運行管理軟件B
  • 這些軟件位於2臺不同的機器上。

我真正需要的是計算機上運行的軟件B到能夠告訴軟件A處於什麼狀態的方式。

我想軟件中的某種信號(信息)的發送到軟件B在狀態改變時。我還想讓軟件A在軟件B請求時發送它的狀態。

我一直在考慮在兩者之間使用NService總線或MSMQ,但軟件B可能位於不在當前網絡(可能位於其公司網絡中的「公司辦公室」)上的計算機上。除了列出的兩種方法之外,還有其他方法可以實現我想要的嗎?

任何幫助將不勝感激。

謝謝

回答

1

查看NSB中的Gateway功能。這將允許網站之間的HTTP通信,並將支持您的所有場景。

+0

謝謝你的亞當。我將研究它以及Web服務。 – Rushman

0

這是我看到它:

  • 軟件一個是服務器
  • 軟件B(管理軟件是一個客戶端)

良好的設計應始終確保服務器從不自行發送內容。我會開發一個簡單的基於HTTP的協議(REST API或Web服務,如果您想完美地使用W3C標準)來遠程查詢軟件A.這樣您甚至可以開發在瀏覽器中運行的客戶端軟件。客戶端可以通過防火牆和代理進行連接,因此您只需確保軟件A的請求在公司內部得到適當的中繼。

我無法詳細瞭解其他約束條件,但是如果您只需要監視某個狀態,那麼這足夠明確。爲避免輪詢,您可以使用WS-Eventing

+0

感謝您提供這些信息,但您的軟件位置向後。軟件A是客戶端,軟件B在服務器上。對於不在同一網絡上的計算機,我正在考慮採用相同的思路,但是這不會導致數據被劫持? (如果我想更改從A到B的內容) – Rushman