2011-11-30 31 views
0

我有興趣瞭解Web應用程序如何發展。這個想法是,如果應該在基於Java的Web應用程序中引入新技術或設計方法,那麼值得探索的前5-10項技術是什麼?如果有人能指出好的書籍或在線資源來進行這項研究,這也會有所幫助。構建長期應用程序體系結構

+0

不確定關於top 5或new,但我會檢查出,Tomcat和Jboss應用服務器,以及Struts和Seam框架 –

回答

1

一個關鍵方面是開發人員的生產力。 Matt Raible(通常是非EE空間)和Adam Bien在EE6領域已經在這個領域做了一些很好的研究和介紹。

+0

謝謝..我喜歡這個參考。我想要一個起點,這是一個理想的起點 – Fazal

1

對於我所有的快速和正常工作的Web解決方案,我使用Grails。它提供了生產力,合理的性能。它受VMWare支持,所以長期支持看起來不錯。

1

隨着時間的推移,您的應用程序成功發展的能力與您的軟件體系結構相比,更多的與您的技術或方法有關。但是,您選擇的技術和方法將影響您構建軟件的方式。

首先,知道你的反對。在20世紀60年代後期,人們開始研究隨着時間的推移應用程序會發生什麼。在過去的40年裏,這些觀察已經變成了一套法律(c.f. Meir Lehman)。這個東西可能看起來很明顯,但它是一個很好的開始:

  • 隨着系統的發展,它的複雜性會增加,除非維護或降低它的工作量。
  • 系統的功能必須不斷增加,以保持用戶在其整個生命週期中的滿意度。除非嚴格維護並適應運營環境的變化,否則系統的質量似乎會下降。

如果你在這個長期的,最大的問題可能是組織性的而不是技術性的。例如,開發人員已經知道並喜歡使用哪些技術?如果開發商計劃與公司保持5 - 10年的時間,問問激發他們未來的是什麼。收集有關「熱門」Web應用程序技術的想法的最佳位置是http://www.infoq.com/

請考慮哪些方法學適合貴組織的技術和商業文化。敏捷開發很好,但它不適合每個組織或每個環境。

考慮供應商。我曾在一家曾經是真正的藍色IBM商店的網站工作,因爲IBM製造了堅實的軟件和硬件。但是,客戶真的被鎖定在供應商身上。客戶在1997年仍然使用令牌環網和OS/2。在需要時給自己一些空間來切換工具和技術。一個活的呼吸應用程序幾乎從來沒有經歷過十年的使用而沒有切換技術堆棧至少一次。

要真正創建一個能夠適應商業環境變化的軟件設計,請遵循舊的諺語「構建一個可以扔掉」的說法。我們曾經使用新的操作系統,新的編程模式,從綠色屏幕終端到胖客戶端GUI的切換,構建了一個新系統......這是對公司信息技術的徹底改造。如果我們沒有建立原型並把它扔掉,我們就永遠不會成功。當我們構建原型時,我們並沒有第一次選擇所有正確的技術和方法。但是當我們建立生產系統時,我們有機會糾正這些錯誤。這隻適用於如果您可以創建原型然後在將其用於實際業務需求之前將其丟棄的情況。一旦應用程序投入生產,「扔掉一個人」的窗口就消失了。

祝你好運! -Aaron