我的服務器應用程序,做以下工作:從正在通過串行接口尋址的測量裝置Java服務器應用到如Tomcat,GlassFish應用服務器的集成等
- 讀取數據( javax.comm,RXTX)或套接字。
- 使用套接字與另一個服務器應用程序交換數據(讀取和寫入)。
- 使用JDBC將(1)和(2)中的數據插入到數據庫中。
- 將步驟(1)至(3)中的數據提供給基於JavaScript的Web應用程序。
我目前的原型是一個獨立的Java應用程序,通過將數據寫入正在通過Web服務器(Apache)傳遞給客戶端的XML文件來實現任務(4),但我認爲這是是一個黑客,而不是一個乾淨的解決方案。
此服務器應用程序需要啓動並且在沒有任何Web客戶端存在的情況下工作。
我想將此服務器應用程序集成到Java應用程序服務器中,但我對這些技術沒有太多經驗,也不知道從哪裏開始。我已經嘗試過TomCat和GlassFish的一些簡單例子,但是這並沒有帶來任何進一步的結果,因爲它們都是圍繞着同步服務Web請求而建立的,並且停止了它對我來說會變得有趣的地方。
這是可能在TomCat或GlassFish中運行這樣的應用程序嗎?
如果是的話,哪裏會是一個好的開始點(例子,哪些基類,...)?
分離應用程序和實現只有任務(4)在一個servlet中,其餘在一個普通的應用程序,通過套接字通信等等是否有意義?
其他服務器(例如JBoss)會是更好的選擇嗎?如果是,爲什麼?
編輯:
我想使用Java EE容器的原因是:
我想有步驟清潔外部接口(4)。
從長遠來看,應用程序將需要擴展到大量的併發客戶端(至少幾個10.000),因此需要標準的可伸縮性和應用程序管理方式。
謝謝。但是如果自己在JEE容器內進行套接字I/O並不是一個好主意,那麼如何將我的測量數據存入JEE容器?出於效率的原因,應用程序使用專有的二進制協議,我想堅持這一點。 –
有不同的方法可以將數據導入JEE容器。你可以在你的UI上公開一個REST接口,你可以公開一個遠程EJB,你可以讓容器中的代碼從文件系統位置獲得它,.... – ddewaele