天天看點

Portal介紹

什麼是Portal?

Portal是一個基于web的應用程式,它主要提供個性化、單點登入、不同來源的内容整合以及存放資訊系統的表示層。

Portal 的組成:

(1) Portal Server 

(2) Portlet Container 

(3) Portlet

Portal Server的定義

建立在HTTP Server上。負責接收HTTP請求,調用Portlet,并将Portlet産生的内容聚集到Portal頁面傳回給使用者。(Portal Server有時簡稱Portal)

Portlet Container 的定義

Portal Container:管理Portlet的生命周期并且提供其運作所需要的必要環境。同時也提供Portlet相關資訊的存儲。一個Portlet container 接收到來自Portal 的請求後,接着将這個請求傳遞給存在Container 的Portlet 執行。Portlet Container 沒有義務去組合Portlets 産生的資訊內容,這個工作必須由Portal (即Portal Server)來處理。Portal 和Portlet Container 可以放在一起視為同一個系統的元件,或者分開成為兩個獨立的元件。

Portlet的定義

一個 Portlet 是以 Java 技術為技術的 Web 元件,由 Portlet Container 所管理,專門處理客戶的 request 以及産生各種動态的資訊内容。Portlets 為可插式 ( pluggable ) 的客戶界面元件,提供呈現層成為一個資訊系統。

Portlets與Servlet的異同?

相同點

基于web應用的java技術

由特定的容器管理

動态生成内容

生命周期由容器進行管理

通過request/reponse進行互動

不同點

portlet隻生成片段

portlet并不直接綁定到某一個URL上

portlet通過portal進行互動

portlet可以多次在同一個portal頁面上同時出現

portlet優點

能通路到使用者配置資訊

能在不同的域中存儲會話:應用程式級到私有級。

portlet與servlet的關系

前者能調用後者,并且能共享資訊,包括:Attributes

portlet容器是servlet容器的擴充

portlet無法做到的事情

設定response的字元集編碼

設定http header

擷取用戶端的request

一個Portal處理流程

1.  一個用戶端(例如:一個web浏覽器)在被驗證之後向Portal發出HTTP請求;

2.  Portal(或稱為Portal Server)接收到請求;

3.  Portal判斷請求是否包含與組成門戶網站網頁的portlet有關的動作;

4.  如果存在與某個portlet相關的動作,Portal請求portlet容器調用portlet處理動作;

5.  Portal通過portlet容器調用portlet,獲得被包含在産生的門戶網站網頁中的内容片段;

6.  Portal将portlet産生的結果聚集于門戶網站的網頁,然後将網頁傳回至用戶端。