2010-11-11 54 views
1

這似乎是一個非常愚蠢的問題,但自從我開始新工作以來,事情對我來說非常複雜。Java架構 - 關於解決方案設計的問題

在我早先的載體中作爲jr。軟件開發人員,我所從事的應用程序主要由Hibernate,Spring和UI(JSF,YUI等)組成。我現在正在使用的應用程序非常龐大,運行在BeaWebLogic服務器上。

較早的應用程序的設計就像2-3項目的應用分成DAO服務UI層,部署在Tomcat的,可以從建立在Eclipse中運行。易於調試和所有。

然而,目前的應用程序正在使用Python腳本部署時,BEAServer單獨運行,並從Eclipse中我一直在使用一些參數來連接遠程Java應用程序。

我的問題是:「爲什麼這樣的設計在這裏通過」 - 我將討論組織內的這個東西很好,但我想之前在這裏討論它。

回答

3

我想你應該在組織內問你的問題第一(考慮的事實是,你在工作中是新的優勢)。畢竟,你的組織應該知道他們爲什麼按照他們的方式設計應用程序。但是,我會冒險猜測(並且只是猜測,因爲你對這些細節模糊不清):你現在正在看的應用程序只是複雜性和目的性的一個提升,而不是你以前的工作。如果仔細觀察,我認爲你會再次找到DAO,服務和UI層 - 但是,他們將不再處於同一個應用程序中。相反,您可能會發現UI放入專用客戶端應用程序,而服務器實現Service和DAO層。一個直接的好處是,服務器計算機可以專門用於服務數據,而UI則在用戶的計算機上處​​理。您也許會發現,您的某些應用程序客戶端根本不是人類,但是其他計算機系統(邏輯上不需要用戶界面)。

編輯回答ALEE的後續評論:

簡短的回答是:這要看情況。

我會在企業系統的設計做的第一件事就是找人在這種事情更多的經驗。但是留給我自己的設備,我會先看看系統應該做什麼; 5M用戶中有多少人同時在線;需要什麼樣的用戶界面等等。根據這些信息,我會制定最初的架構,並決定使用哪些技術。

在所有的可能性,我會用彈簧和Hibernate服務器的內部結構,因爲這兩種技術是強大的,完善的,也是因爲我正好是有點熟悉。這個問題再次取決於具體情況 - 注意儘管可以使用EJB工具來實現客戶端/服務器通信,而系統的其他部分以更輕量級的方式編寫。

+0

非常合理的答案。現在我想這個討論擴大到了這種地步,我想你問的是什麼會是你的方法,如果我請你設計一個企業應用程序考慮5000萬的用戶羣 **什麼是您的設計決定** - * *您將使用什麼,Hibernate,Spring,JDNI,EJB ** - 爲什麼? _if這是不適合的地方討論,然後請指導我一些論壇_謝謝 – 2010-11-11 20:26:29