問題想法來定義的Java體系擺動的JavaFX/RMI/EJB3.0應用
我們參與了一個新的項目,開發與幾個PC的應用程序,將作爲通用計算機。還有一臺計算機不時地作爲主控機器來控制客戶的所有過程。那臺計算機必須通過服務器機器向所有其他機器發送消息,請求註冊協助。那時,在客戶端機器上運行的進程必須獲得對計算機的控制,並且充當運行該應用程序的從機,直到從主機發送新消息釋放它們。之後,客戶機再次作爲通用計算機。
The following scheme試圖解釋通過服務器的CM(控制機)的SM(從機)的漲幅訪問之後發生了什麼(SRVR)
- 控制機器CM發送消息,註冊協助服務器 2 SRVR接收消息,記錄一些信息,並廣播所述寄存器輔助消息到SMS
- 的運行SM過程等待消息獲得總量控制在每個SM
- 用戶通過一個視圖中選擇的動作SM和機器發送一個響應於
- 的SRVR接收響應,並將其廣播到所有的機器,包括結果機(RM)來更新所述服務器(SRVR)與新的狀態的觀點
- 的CM發送結束寄存器的SRVR給SRVR的消息。
- SRVR將消息廣播到所有SM,應用程序視圖關閉,應用程序再次進入偵聽狀態。
指出:
- 一切都需要某種形式的Java技術
- 所有的機器都乳寧的GNU/Linux/GNOME(Ubuntu的)做
- JPA是強制性用於日誌記錄和持久性
- JavaFX將根據Oracle進行更改,因爲他們正在考慮放棄腳本語言 層
的問題是:
您應該使用哪個組合Java技術的一種觀點?我的意見是使用Swing,並可能通過SwingComponent.wrap(loginPanel)將其嵌入到FX中,以幫助平面設計師做出更好的視覺工作(這是此應用程序中的必備工具)。請考慮綁定選項JSR-295(現在已經死了,因爲我可以看到)或一些適當的選擇。
您將如何保持更新應用程序客戶端,我的意見是通過Java Web Start並將其作爲一個小程序提供。
如果SRVR使用Java EE與EJB 3.0訪問遠程對象,可以嗎?如果是這樣,你將如何整合/模型/ EJB與RMI。我對RMI/EJB集成沒有太大的經驗,我不確定它是否正確。特別是因爲EJB規範已經信任RMI。但是,那麼如何從會話Bean(我可以看到有狀態的)廣播消息來更新視圖?
在SM中選擇的任何選項必須在所有註冊爲觀察者的視圖(其他SM,RM和CM)中查看。你會爲此建議一個模型/架構/產品嗎?
一旦SM應用程序被喚醒,哪種方法可以使SM應用程序獲得完全控制權? - 請記住,它是Linux-
觀察者模式如何應用於分佈式環境?
硬件安排是否正確適用於此應用程序?
我知道這些都是很多的問題,我不是要開始這個討論,我知道可以有很多不同的意見,我希望聽到所有的人,包括實施細則。我正在尋找來自你們的一些反饋,你的意見將受到高度讚賞。提前致謝!