2011-01-05 29 views
1

我正在創建一箇中央(服務器?)PC的應用程序。使用java在遠程PC上運行程序

當在中央PC的特定位置(或事件)時,轉儲一個xml文件。該程序 讀取,其中給出遠程電腦IP(任何電腦)的XML。 該命令傳輸到該PC,該PC將執行該命令。

該命令可能是各種類型的命令之一,併爲每個命令,電腦具有saperate類文件。 每個命令都會創建該類型的對象並運行所需的方法。

問:我可以使用哪種最佳技術來實現此架構?

+1

你的目標是什麼平臺? – Codemwnci 2011-01-05 16:22:25

+0

問題是什麼? (我假設你不只是吹噓你正在創建的應用程序) – rownage 2011-01-05 16:24:21

+0

我猜測PC == Windows。 – 2011-01-05 16:24:32

回答

0

好的,你的問題是什麼?

最簡單的方法可能是使用RMI。

但是,您是否考慮過使用JMS隊列?因爲這樣可以讓您將工作分配到多臺PC,而無需爲特定任務分配特定的PC。即給你一個隊列你想要執行的任務,下一個可用的PC執行這個任務。

0

看看Java RMI

強制性Wiki link和報價,以及爲什麼這可以適用於您的實現:

的Java遠程方法調用 應用程序編程接口 (API),或Java RMI,是一個Java 應用程序編程接口,它可以執行面向對象的 相當於遠程過程調用 (RPC)。 (甚至跨越機器邊界)

0

RMI也是第一個出現在我腦海的問題。但我想給出一個非常好的答案,我們需要一些關於在遠程PC上完成的更多細節。我的猜測是,你正在構建一個分佈式Worker Thread Pattern

其他選項可以是:

JMS。 Web服務。 等

0

你有幾個選擇..你可以使用RMI,你可以有一個JMS隊列/主題,甚至是一個Http Pub /子。其中每一個都有優點/缺點。

使用RMI,可以使遠程PC在啓動時打開與服務器的連接,以避免防火牆問題。這樣您只需要在中央PC上打開傳入/傳出端口。

使用JMS,您可以將來自每個遠程PC的偵聽器註冊到由JMS容器打開的主題/隊列。您在隊列/主題中輸入的任何消息,都會通過使用IP來設置消息過濾器,這種方式只能將消息發送給一臺有針對性的PC。我喜歡這種方法,因爲遠程PC和中央PC之間失去了聯繫。但是在這種方法中,由於您的遠程設備和中央PC之間沒有開放連接,因此您的中央PC無法獲得您在RMI系統中獲得的類似控制。

相關問題