2009-09-29 98 views
0

我可能會說這更像是一般性信息,而不是直接的解決方案請求。Tomcat,ActiveMQ,Swing和一個獨立的Java服務器

我目前正在與一位同事一起爲一家創業公司設計設計和基礎設施,但我的經驗奠定了Java Swing開發和JavaScript/Ajax世界的領域以及一些C++的基礎。有了這個想法,我相信還有很多其他人可以幫助我提出有關我的設計建議的建議和想法。

開發將分爲三個主要組件,第一個是供用戶搜索資源的網頁。這必須是可擴展的和多語言的。

第二個是Swing(儘管對其他Java和開源替代品開放)終端在本地企業管理通過網絡完成的請求。該終端將不斷連接到我們的基礎設施,以進行狀態更新和反饋。

最後,基礎架構將是許多基於其功能(管理,報告,查詢等)在集羣中運行的獨立Java服務器。

目前我正在考慮使用以下解決方案: 對於我的Web層,我將使用Google Web Toolkit(考慮其實力,採用和潛力)實施它。 Web層將通過經由ActiveMQ直接連接到內部服務器資源的負載均衡的tomcat實例進行管理。

服務器將是簡單的多線程Java服務器,處理來自ActiveMQ消息服務的消息。我需要關於維護集羣的建議(確保數據同步以及負載平衡的能力,以便類似服務器之間的通信至關重要)

最後,我不確定如何實現這一點,但我最初的想法是連接遠程終端到核心網絡,通過網關服務器(想到一個tomcat實例,但雙向性必須放棄這個想法)通過Active MQ或簡單地通過TCP。

我不關心使用Tomcat與Java EE或spring,因爲大部分的繁重工作實際上都是由後端服務器完成的。

我的設計是否可行?你有什麼建議?主要缺陷?可擴展性問題?我將非常感謝所有輸入...

+0

如何使用Geronimo或Websphere社區版應用程序服務器? – Bashar 2009-09-29 18:32:05

回答

1

而不是編寫自己的服務器與自定義線程,嘗試使用已建立的Java EE服務器(GlassFish, JBoss, Geronimo)。它們將簡化您的後端並縮短您的開發時間。我們在這裏談論久經考驗的應用服務器。 Spring有一個豐富的API,使我的工作效率很高,可能有很多XML配置的缺點(它們本身很好,因爲你可以在不編寫大量代碼的情況下更好地改變應用程序)。我會在Java EE服務器上推薦Spring

對於Web層,我會推薦Tapestry,因爲它簡化了開發並支持開箱即用的基本CRUD。一些詳細的howtos。這說的考慮一個詳細的web framework comparison

對於桌面應用程序,我會建議Eclipse RCP,但是您需要確保您瞭解Eclipse RCP框架,some tutorials。如果客戶端沒有多少業務邏輯,您可能希望使這個應用程序基於Web。

通過SSL身份驗證使用Web服務可以大大簡化連接問題。但是這可能會很慢。其他選項可以是Google's Protocol Buffers

這些只是用於交易的工具,因此也考慮提出一個好的設計。

0

這裏是我的建議,因爲它是一個啓動:

  1. 正如你所使用GWT爲您的服務器端啓動。利用貴組織創建的專業知識,並根據這些知識開發客戶端。

  2. 對於客戶端應用程序來說,減小swing應用程序的範圍,這個swing應用程序將在swing應用程序中啓動一個嵌入式tomcat web應用程序,並且該人員也可以作爲網頁訪問它們(客戶端使用localhost網頁)。用戶還可以授權其他人也看到他所看到的內容,例如授予其他IP訪問本地信息,這些信息由他本地的桌面託管{由embebbeded tomcat}託管。