porlets

Portlets是一種Web組件-就像servlets-是專為將合成頁面里的內容聚集在一起而設計的。通常請求一個portal頁面會引發多個Portlets被調用。每個Portlet都會生成標記段,並與別的Portlets生成的標記段組合在一起嵌入到portal頁面的標記內。

與servlets的關係,Portlets在以下方面與servlets相似,Portlets在以下方面與servlets相異,附加的功能,作用,

與servlets的關係

與servlets類似,portlets是部署在容器內用來生成動態內容的web組件。從技術角度講portlet是一個實現了javax.portlet.Portlet接口的類,它被打包成war檔案格式部署到portlet容器里。

Portlets在以下方面與servlets相似

1. portlets由特定的容器管理。
2. portlets生成動態內容。
3. portlet的生命周期由容器管理。
4. portlets通過請求/回響模式與web客戶端互動。

Portlets在以下方面與servlets相異

1. portlets只能生成標記段,而不是整個文檔。
2. portlets沒有可供直接訪問的URL地址。不過你還是能夠讓別人通過URL訪問到portlet,你可以把包含該portlet的頁面的URL發給他。
3. portlets不能隨意地生成內容,這是因為portlet生成的內容最終要成為portal頁面的一部分。如果portal伺服器要求的是html/text類型,那么所有的portlets都應生成html/text類型的內容。再比方說,如果portal伺服器要求的是WML類型,那么所有的portlets都應生成WML類型的內容。

附加的功能

1. 設定參數的持久化存儲:portlets提供了一個PortletPreferences對象用來保存用戶的設定參數。這些參數被存入一個持久化資料庫,這樣伺服器重啟後數據依然有效。開發者不必關心這些數據存儲的具體實現機制。
2. 請求處理:portlets提供了更為細粒度的請求處理。對於用戶在portlet上動作時向該portlet發出的請求(一種稱為活躍期的狀態),或者因用戶在其它portlet上動作而引發的刷新頁面請求,Portal伺服器提供了兩種不同的回調方法來處理。
3. Portlet模式:portlets用模式的概念來表示用戶在做什麼。在使用mail套用的時候,你可能會用它來讀信、寫信或檢查信件――這些都是mail套用的預定功能,Portlets通常以VIEW模式提供這些功能。但還有一些活動,像指定刷新時間或(重新)設定用戶名和密碼,這些活動允許用戶定製套用的行為,因此它們用的是EDIT模式。Mail套用的幫助功能用的是HELP模式。
如果仔細想想其實這裡面並沒有什麼新東西,它們反而大部分都是普通的業務需求。Portlet規範的作用在於它提供了一個抽象層,這才是它對所有與之相關的人-最終用戶、開發者和管理員-的價值所在。
作為一個開發者,我會將所有與VIEW模式有關的業務邏輯放入doView()方法,將與套用配置有關的業務邏輯放入doEdit()方法,將與幫助有關的邏輯放入doHelp()方法
這就簡化了管理員對portlet套用的訪問控制管理,因為他只需改變portlet的訪問許可權就能決定用戶能做什麼。例如,如果mail套用的一個用戶能夠在EDIT模式下設定用戶名和密碼,那么就可以斷定他具有EDIT模式訪問許可權。
不妨考慮這樣一種情形:我是一個intranet網站的管理員,我的公司買了一個能顯示新聞信息的第三方portlet套用,該套用允許用戶指定跟蹤新聞更新的URL地址,我想藉助它為用戶顯示公司的內部新聞。另一個需求是我不想讓用戶通過該套用來跟蹤任何其它的新聞信息來源。作為管理員,我可以為所有的用戶指定一個用於內部新聞更新的URL地址,同時通過改變portlet套用的部署描述符來取消其它人修改該地址的許可權。
由於所有的portlet套用都具有相似的UI界面,因此採用portlets可使網站對最終用戶更具吸引力。如果她想閱讀任何一個套用的幫助信息,她可以點擊幫助按鈕;她也知道點擊編輯按鈕能讓她進入套用的配置屏。標準化的用戶界面使你的portlet套用更引人。
4. 視窗狀態:視窗狀態決定了portal頁面上留給portlet生成內容的空間。如果點擊最大化按鈕,portlet將占據整個螢幕,成為用戶唯一可用的portlet;而在最小化狀態,portlet只顯示為標題條。作為開發者應當根據可用空間的大小來定做內容。
5. 用戶信息:通常portlets向發出請求的用戶提供個性化的內容,為了能更加行之有效,portlets需要訪問用戶的屬性信息,如姓名、email、電話等。Portlet API為此提供了用戶屬性的概念,開發者能夠用標準的方式訪問這些屬性,並由管理員負責在這些屬性與真實的用戶信息資料庫(通常是LDAP伺服器)之間建立映射關係。

作用

當企業或者機構想要管理自己的複雜IT架構的時候,如何展現複雜的IT架構的健康信息以及故障信息,就需要一個架構足夠好的Portal,這樣無論是網路管理員、系統管理員、業務人員、還是IT部門主管都能夠從自己的角度很好的了解到IT架構的健康度以及對他的影響。
因此我們就需要Porlets技術,為我們帶來個性化的頁面展示:個性化服務的基本實現使用戶能從兩方面個性化她的頁面:第一,用戶可以根據她的自身喜好決定標題條的顏色和控制圖示。第二,用戶可以決定在她的頁面上有哪些Portlets。例如,如果我是個網路管理員,我可能會用一個能提供我網路拓撲信息的Portlet來取代UNIX系統的監控Porltes。

相關詞條

熱門詞條

聯絡我們