在J2EE技術體系中,每每被灌輸了太多容器的概念,什麼EJB容器、Servlet容器等等,而開發過程也在開發、配置、部署之間迭代與反覆;如此一來常會出現使人尷尬的情況:每每花幾分鐘時間去改一個Bug、卻要再花雙倍或者更多時間去部署和測試,開發工程師們不得不中斷思路,看着服務器如蝸牛般啓動,並在開發工具和部署工具之間來回切換。 html
事實上,配置也好、部署也罷,都是開發過程當中一個必不可少的階段。如何經過集成式的開發環境將這些開發階段有機集成在一塊兒,是擺在咱們面前的迫切須要。在本文中,我將闡述一種「輕量級」開發的理念,以及如何實現該理念的Apusic Platform平臺,它包括應用服務器和Studio開發平臺。 web
技術模型簡單化 瀏覽器
J2EE發展到今天,一種廣泛的見解是:開源社區的蓬勃發展給J2EE官方標準帶來很大的衝擊,甚至於部分開發者對Java EE 5.0的權威性都產生了質疑,並對Java EE 5.0 是否可以佔據主流開發平臺地位產生了顧慮。 服務器
事實上,我認爲,開源社區與J2EE之間更多的是一種相輔相承的關係。開源表明的常常是理想主義,而商業公司表明的常常是現實主義,二者之間有相互競爭的地方,但從長遠來看,更多的是一種是相互補充、相互促進的過程。 架構
在Apusic Platform的實現上,一方面對各類開源技術予以很是大的支持,包括Struts、Hibernate、Spring等;不只提供一系列的示例樣板,以演示如何在Apusic應用服務器上使用這些開源組件,甚至還提供這些開源框架的商業支持,以更好地推進這些開源技術在國內的推廣與使用。 併發
Java EE中最引人注目的恐怕是EJB 3和JSF了,EJB 3克服了EJB 2.x版本的不少不足與缺陷,使EJB技術真正成爲企業應用的主要計算模型,爲EJB的全面普及奠基了理論上的基礎。而JSF則是Java EE試圖解決Web應用開發的主要解決方案。咱們即將推出的Apusic JSF則融合了JSF與Ajax技術,克服了常規JSF實現的弊端,使JSF成爲一種輕量級的Web開發模型。目前,咱們正試圖將Apusic JSF以開源的形式反饋給國內的廣大Web開發人員,並指望圍繞Apusic JSF造成一個豐富的Web UI組件市場,從而完全解決目前Web應用開發的主要不足。 app
開發過程一體化 框架
以一個簡單的Web應用開發爲例,在Apusic Studio中,能夠經過jsp編輯器提供的語法加亮、代碼輔助、斷點調試等功能,很是方便的輔助開發人員快速完成web頁面的開發;還能夠經過可視化的配置界面,完成繁瑣的web/ejb/ear等配置信息。 jsp
當要運行某一個頁面時,只需點擊一下右鍵「quot;在Apusic應用服務器上調試」,Apusic Studio就會自動幫助咱們作這樣一系列動做:首先判斷應用服務器是否已經運行(假若沒有運行就會自動新建一個啓動配置項,設置好類路徑啓動應用服務器),而後判斷應用是否已經部署(假若沒有部署就會自動部署應用),最後自動打開瀏覽器,運行指定的jsp頁面,甚至於Apusic Studio還可以感應到應用發生的變化,在應用須要從新部署時自動部署。 編輯器
業務組件實用化
回顧J2EE技術體系,甚至於諸多流行的開源框架,咱們不難看出,它們所解決的問題無一例外的都集中在軟件模型自己:譬如OR Mapping、AOP、MVC等。而現實中的應用系統的開發者,但願能經過某種業務開始平臺或者某些通用的業務組件,屏蔽這些底層的實現技術,從而使他們聚焦於業務自己。
可是,因爲業務組件缺少相應的規範與標準,致使它們的實用性與可用性不高。這一方面來源自業務系統自己的需求複雜度與可變性,另一方面則缺乏一個相似於JCP的組織,去制定並發展這些業務組件的規範與標準。
Apusic Platform試圖提供另一種選擇:經過一種可插拔可替換的機制,打造實用程度較高的業務組件,譬如組織架構、權限模型、報表打印等。這些業務組件,融合了金蝶公司及其合做夥伴多年的應用開發智慧結晶,可以給業務系統開發人員帶來實實在在的方便。
輕量級的兩層含義
何謂輕量級?在我看來,輕量級包含兩層含義。一是運行期的輕量級:在完成相同的運算任務下消耗最少的系統資源;二是開發期的輕量級,指開發過程的敏捷以及快速響應能力。
運行期的輕量級能夠說在以微內核體系爲核心、代碼量僅爲同類軟件20%的Apusic應用服務器上獲得了極佳驗證:不管是啓動速度,仍是運行期所消耗的系統資源,Apusic都大幅度領先,也許業界惟一可以與之比較的只有Tomcat了。但Tomcat僅僅是一個Web容器,而Apusic應用服務器則是全面實現J2EE 1.4規範的企業級產品(今年5月份已經全面實現Java EE 5.0規範),至於而運行期的健壯性與穩定性,Apusic在各項指標上與國外同類軟件不相上下。
開發期的輕量級,咱們能夠經過與Apusic應用服務器緊密集成的開發工具Apusic Studio得到開發過程的敏捷性。不管是編碼、配置、部署與測試,仍是後期的監控與性能調優,咱們均可以經過Apusic Studio得到一體化的支持。
讓J2EE開發更輕鬆
開發過程一體化,使開發人員無需再考慮部署、配置等瑣碎過程,也不需中斷思路忍受服務器反覆啓動的煎熬;技術模型簡單化,經過優秀簡單的技術解決現實中複雜的問題;業務組件實用化,可以擺脫某些具體實現細節,聚焦於業務邏輯自己。
以上的理念,我稱之爲相似武俠小說中高手練功到必定層次的「三化蓋頂」,它很大程度上解放了J2EE,讓咱們擁有開發過程當中的敏捷與愉悅。
敏捷快速,讓J2EE開發更輕鬆,爲何不呢?