Portal: JetSpeed與Liferay的比較
(摘自Huihoo文章)
提供基于門戶的解決方案的開源軟件有:
??? 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業務層使用Stateless Session EJBs,通過hibernate實現持續層,使用jaas實現安全策略.另外表示層使用struts和tiles.
Liferay的缺點是它缺乏一個簡單清晰可拓展的架構設計,portlet設計顯得比較凌亂,進行二次開發有一定的難度
posted on 2007-08-02 17:23 心硯 閱讀(3632) 評論(0) 編輯 收藏 所屬分類: Java