J2EE框架標準OpenSource大戰拉開序幕!

- 中國WEB開發者網絡 (http://www.webasp.net)
-- 技術教程 (http://www.webasp.net/article/)
--- J2EE框架標準OpenSource大戰拉開序幕! (http://www.webasp.net/article/18/17645.htm)
-- 作者:未知
-- 發佈日期: 2005-04-19
我們已經知道,有了J2EE基本技術後,還不能立即從事大型項目的開發,還需要有大量針對自己本領域的模式庫或者框架軟件,因此,越來越多商業公司開始選擇或參考開源軟件作為二次開發的基礎框架,例如在ofbiz等這些開源框架軟件為大家不斷認識之後,有很多基於ofbiz的應用軟件不斷誕生。 
從這些現象可以看出,一個新的市場真正誕生,那就是以開源軟件提供平台基礎,將自己的框架力圖成為這個領域的標準,從而佔領這個市場,因此各種框架產品從各種不同角度湧現出來。 
realMethods最近公佈了自己的開源J2EE框架http://j2eeframework.com/framework.html,提供了數據庫持久化、安全機制、Hook/Event 、性能池等各種實用技術框架。 

J道目前也正在逐步完善一套實用框架系統,其中部分可見收費區,在框架真正完成後,將代碼從收費中分離出來實現開源(教程和講解文本繼續保持收費)。 

還有其它力圖提供業務管理整合方案的開源框架: 
BIE(http://www.brunswickwdi.com/)提供了類似微軟biztalk的數據整合方案,基於BPMI的標準。 

ofbiz大家應該知道。 

提供基於門戶的解決方案的開源軟件有: 
JetSpeed是Apache(http:// jakarta.apache.org/jetspeed/)組織的一個開源項目,IBM的WebSphere Portal Server正是基於JetSpeed進行二次開發。 
在滿足門戶可定制性的需求上,引入了門戶組件概念Portlet,Portlet是一個可插拔的組件,關於Portlet有各種定義,JetSpeed在提交的JSR-168 portlet API specifications對Portlet的定義如下: 
Portlet是一個Web組件,可以被容器管理,可以產生動態內容。 Portlet可以很容易地被插入並且運行於一個Web應用中,Portlet是被設計成聚合大量內容的組合頁面,舉例:同樣一個Portlet,根據不同的用戶,可以產生不同的實例,這些實例中是根據用戶設置包含不同的內容,也就是滿足用戶的可定制性。 
為了實現門戶內容的有效管理和監控,JetSpeed的重要內容組件Slide引入了Domain和Namespace方面的概念,對所有資源進行樹形結構的控制,在Slide中,Domain是一系列Namespace的聚合,它類似文件系統中的「/」根目錄, domain 可以控制在其中登記的Namespace的訪問權限以及執行Namespace的初始化和連接等管理工作。 
Namespace是個自我獨立的有實體內容的容器,它不能包含指向或連接到其它namespace,每個應用系統可以是一個NameSpace,Namespace包含獨立的數據和這些數據的安全訪問機制。 
JetSpeed雖然提供了豐富的Portal技術功能,但是其可定制性比較差,其重要的內容組件Slide也比較難以讓人理解,它的安全控制框架與通用的J2EE使用JAAS不相融合,所有這些都造成了在其基礎上進行二次開發的難度。 

Liferay 
Liferay(http://www.liferay.com)代表了完整的J2EE應用,使用了Web、EJB以及JMS等技術,特別是其前台界面部分使用Struts框架技術,基於XML的portlet配置文件可以自由地動態擴展,使用了Web Services來支持一些遠程信息的獲取,使用Apahce Lucene實現全文檢索功能。 
Liferay的缺點是它缺乏一個簡單清晰可拓展的架構設計,portlet設計顯得比較凌亂,進行二次開發有一定的難度. 

webasp.net