我正在創建一箇中央(服務器?)PC的應用程序。使用java在遠程PC上運行程序
當在中央PC的特定位置(或事件)時,轉儲一個xml文件。該程序 讀取,其中給出遠程電腦IP(任何電腦)的XML。 該命令傳輸到該PC,該PC將執行該命令。
該命令可能是各種類型的命令之一,併爲每個命令,電腦具有saperate類文件。 每個命令都會創建該類型的對象並運行所需的方法。
問:我可以使用哪種最佳技術來實現此架構?
我正在創建一箇中央(服務器?)PC的應用程序。使用java在遠程PC上運行程序
當在中央PC的特定位置(或事件)時,轉儲一個xml文件。該程序 讀取,其中給出遠程電腦IP(任何電腦)的XML。 該命令傳輸到該PC,該PC將執行該命令。
該命令可能是各種類型的命令之一,併爲每個命令,電腦具有saperate類文件。 每個命令都會創建該類型的對象並運行所需的方法。
問:我可以使用哪種最佳技術來實現此架構?
好的,你的問題是什麼?
最簡單的方法可能是使用RMI。
但是,您是否考慮過使用JMS隊列?因爲這樣可以讓您將工作分配到多臺PC,而無需爲特定任務分配特定的PC。即給你一個隊列你想要執行的任務,下一個可用的PC執行這個任務。
RMI也是第一個出現在我腦海的問題。但我想給出一個非常好的答案,我們需要一些關於在遠程PC上完成的更多細節。我的猜測是,你正在構建一個分佈式Worker Thread Pattern
其他選項可以是:
JMS。 Web服務。 等
你有幾個選擇..你可以使用RMI,你可以有一個JMS隊列/主題,甚至是一個Http Pub /子。其中每一個都有優點/缺點。
使用RMI,可以使遠程PC在啓動時打開與服務器的連接,以避免防火牆問題。這樣您只需要在中央PC上打開傳入/傳出端口。
使用JMS,您可以將來自每個遠程PC的偵聽器註冊到由JMS容器打開的主題/隊列。您在隊列/主題中輸入的任何消息,都會通過使用IP來設置消息過濾器,這種方式只能將消息發送給一臺有針對性的PC。我喜歡這種方法,因爲遠程PC和中央PC之間失去了聯繫。但是在這種方法中,由於您的遠程設備和中央PC之間沒有開放連接,因此您的中央PC無法獲得您在RMI系統中獲得的類似控制。
你的目標是什麼平臺? – Codemwnci 2011-01-05 16:22:25
問題是什麼? (我假設你不只是吹噓你正在創建的應用程序) – rownage 2011-01-05 16:24:21
我猜測PC == Windows。 – 2011-01-05 16:24:32