第一部分 Liferay Portal 架構解析
本部分主要內容
Portal 服務器? Portal 容器? Portlet
作為一個開源Portal產品,Liferay Portal提供對多個獨立系統的內容集成,幫助多個組織實現更有效的合作。與其他商業的Portal產品相比,Liferay Portal有著一系列的優良特性,而且不需要付費。
第一節? Portal規范
隨著Portal的興起,越來越多的公司開始涉足Portal產品開發,并組建各自的Portal組件和基于其的產品,比如IBM、BEA、MicroSoft、SAP、Apache等。各個廠商的接口互不兼容,給軟件開發商以及開發人員帶來諸多不便。
1.1.1? JSR168
為此,JCP組織發布了JSR168(Java Specification Request),Portlet Specification V1.0,用來提供不同的Portal和Portlet之間的互通性。只要開發的Portlet遵循JSR168,則就可以在所有遵循JSR168的Portal上部署運行。
JSR168中定義了Portal的實現規范和接口,并對理想的Portlet進行了詳細的規劃和描述。
1.1.2? WSRP
WSRP是OASIS Web Service for Remote Portlet的縮寫。WSRP是Web Service的一種新的商業應用,一種新的標準,主要用來簡化Portal對于各種資源或者程序整合的復雜度,可以避免編程帶來的整合麻煩和問題。而且Portal管理員可以從海量的WSRP服務中選擇需要的功能用以整合到目前所用的Portal中。它有三種角色:
①、生產者 à 提供Portlet
②、消費者 à 使用Portlet
③、終端用戶 à 最終用戶
它的特點在于生產者將消費者所需要的信息通過WSRP返回給消費者,這些信息是相對標記片斷,例如HTML、XHTML等,可以直接嵌入用戶的頁面中,而不用像Web Service一樣開發用戶端接口。
實現這個規范,Portal可以跟各式各樣的數據源打交道,徹底終結信息孤島的窘境。
第二節 ?什么是Portal
Portal是基于Web的,以“應用整合”和“消除信息孤島”為最終目的,提供單點登錄、內容聚合、個性化門戶定制等功能的綜合信息系統。
完整的Portal通常由Portal服務器、Portlet容器、Portlet構成。
1.2.1? Portal 服務器
Portal服務器是容納Portlet容器,支持Portlet呈現的普通或者特殊Web服務器。Portal服務器通常會提供個性化設置、單點登錄、內容聚合、信息發布、權限管理等功能,支持各種信息數據來源,并將這些數據信息放在網頁中組合而成,提供個性化的內容定制,不同權限的瀏覽者能夠瀏覽不同的信息內容。通常,Portal提供以下功能:
單點登錄:Portal通常采用ACL、SSL、LDAP等業界標準的安全技術,提供對所有現有應用系統的安全集成,只需在Portal的唯一入口上登錄一次,就可以訪問所有應用系統和數據。對于安全性要求較高的應用系統,如電子商務平臺、交易系統等,通過擴展接口傳遞用戶身份信息,如數字證書信息、數字簽名信息等,進行二次身份認證,保證單點登陸的安全性。
權限控制:系統采用LDAP對用戶資源進行統一的管理,同時提供二次開發接口,可以與其他應用系統的用戶管理模塊對接,并能隨相關業務系統實時更新訪問權限。通過完善的授權機制及存取控制,用戶訪問權限控制到字段級別,確保用戶只能訪問具有權限的應用系統及相關信息。
內容管理: 實現應用系統之間實時交換信息。采用多種緩存機制,保證內容交換的性能和準確性。采用基于XML的Rich Site Summary (RSS)標準,迅速在各應用系統之間傳播最新變化。
信息發布: 實現信息門戶內容的動態維護。動態網站系統可與OA協同辦公系統、知識管理系統等集成,網站信息須經OA系統的審批流程流轉通過后或知識管理平臺設置具有外部共享權限后才可正式發布,真正實現內外信息發布的同步。
文件管理: 系統實現無縫集成多種數據源,包括:數據庫、文檔(Office文檔、PDF、AutoCAD、甚至ZIP文檔)、Web網頁、FTP站點等,并對數據按業務要求和職務特點加以分析整理,通過統一Web界面主動推送(Push)至用戶的門戶桌面,幫助用戶做出及時、正確的決策。
1.2.2 ?Portlet容器
Portlet容器提供Portlet執行的環境,包含很多Portlet并管理它們的生命周期,保存Portlet的定制信息。
一個Portal容器接收到來自Portal的請求后,接著將這個請求傳遞給存在Portal容器的Portlet 執行。Portlet容器沒有義務去組合Portlet 產生的信息內容,這個工作必須由Portal來處理。Portal和 Portal容器可以放在一起視為同一個系統的組件,或者分開成為兩個獨立的組件。
Portlet容器是普通Web Servlet容器的擴展,所以一個Portlet容器可以構建于一個已經存在的Servlet容器或者可能實現全部Web Servlet容器的全部功能。無論Portlet容器怎么實現,它的運行環境總是假定它支持Servlet2.3規范。
通常,Portlet容器擴展自普通的Servlet容器。
posted on 2005-10-20 14:42
eamoi 閱讀(9016)
評論(5) 編輯 收藏 所屬分類:
Java