posts - 431,  comments - 344,  trackbacks - 0
          Portal包括:
          (1) Portal Server。『Portal Server是基于WEB的應用程序, 它將不同資源進行整合并展現(xiàn)給用戶。有些文章直接把Portal Server叫做Portal,請注意。』
          (2) Portlet Container。『Portlet Container用來管理Portlet的生命周期并且提供其運行所需要的必要環(huán)境. 并且為Portlet Preferences提供持久性(Persistent)存取服務.但是其不支持內(nèi)容的Aggregation. Aggregation由Portal組件提供.』
          (3) Portlet。『Portlet 是以
          Java 技術為技術的 web 組件,可以被容器管理,可以產(chǎn)生動態(tài)內(nèi)容。處理請求并動態(tài)返回頁面, 可以做為Portal 的可拔插的用戶界面組件.』

          我們需要Portal的目的就是要做到系統(tǒng)功能與模塊的可配置。同時要開源并符合標準。能與其他的系統(tǒng)進行結合比如Struts。

          目前比較主流的Portal產(chǎn)品:
          Apache Jetspeed(http://jakarta.apache.org/jetspeed/)
          Liferay(http://www.liferay.com)
          EXOportal(http://cvs.sf.net/viewcvs.py/exo/ExoPortal/)
          Pluto(http://jakarta.apache.org/pluto)
          BEA WebLogic Portal (http://edocs.bea.com/wlp/docs81/javadoc/com/bea/portal/model/Portlet.html )
          IBM Websphere Portal (http://www.software.ibm.com/wsdd/zones/portal/ )
          Oracle Portal Developer Kit (http://portalstudio.oracle.com/)
          jfoxportal(http://www.huihoo.org/jfox/jfoxportal/index.html 剛提出草案,不過是國內(nèi)的。)

          說Portal,就不能不提JSR#168 Portlet。

          JSR 是由 JCP (
          http://www.jcp.org/ ) 這個 Java 組織所定義出來的規(guī)范。JSR#168規(guī)范就是一個關于Portlet的規(guī)范 ——Portlet Spec 1.0 。既然有了規(guī)范,理所當然的之后的產(chǎn)品就應該按照這個規(guī)范來制作。

          JSR168的目標是:

          定義portlet的運行時環(huán)境,即portlet容器

          定義portletportlet容器之間的api

          提供portlet存儲易失數(shù)據(jù)和持久數(shù)據(jù)的機制

          提供portlet包含servletjsp的機制

          定義方便部署的portlet打包方法

          提供jsr168規(guī)范下的portal的二進制portlet便攜性

          通過WSRPweb service for remote portlet)協(xié)議運行符合jsr168規(guī)范的遠程portlet

          IT 界已經(jīng)廣泛的接受了jsr168規(guī)范。所有的portal領域主要公司都是jsr168專家組的成員:Apache,AGT,BEA,Boeing,Borland,Broadvision,Citrix,EDS, Fujitsu, Hitachi, IBM, Novell, Oracle, SAP, SAS Institute, Sun Microsystems, Sybase, TIBCO, and Vignette。官方支持列表甚至更長。

          客戶端請求由 Portal Web 應用程序進行處理,它為當前用戶檢索當前頁上的 Portlet 。然后, Portal Web 應用程序為每個 Portlet 調(diào)用 Portlet 容器來通過 Container Invoker API 檢索它的內(nèi)容。 Portlet 容器通過 Portlet API 調(diào)用 Portlet Container Provider Service Provider Interface SPI )允許 portlet 容器通過 Portal 檢索信息。

          Portlet 窗口包括:

          l        標題欄,帶有 Portlet 的標題

          l        修飾,包括用于更改 Portlet 的窗口狀態(tài)的按鈕(比如最大化或最小化 Portlet )和用于更改 Portlet 的模式的按鈕(比如顯示幫助或編輯預定義的 Portlet 設置)

          l        Portlet 產(chǎn)生的內(nèi)容(也稱為一個標記段)。

          下面是典型的事件流程,當用戶訪問 portal 頁面的時候:

           

          <!--[if !supportLists]-->²        <!--[endif]-->客戶端在驗證后向portal發(fā)http請求。

          <!--[if !supportLists]-->²        <!--[endif]-->portal接收請求。

          <!--[if !supportLists]-->²        <!--[endif]-->portal判斷是否有包含請求,并請求包含的動作指向的portlet是和這個portal頁面相關聯(lián)的。

          <!--[if !supportLists]-->²        <!--[endif]-->如果含有動作的目標portletportal發(fā)請求給portlet容器去執(zhí)行相應的portlet的動作。

          <!--[if !supportLists]-->²        <!--[endif]-->portal通過portlet容器調(diào)用portlets,去獲得內(nèi)容片斷,這個片斷可以包含在portal頁面中。

          <!--[if !supportLists]-->²        <!--[endif]-->portal集合portlets的輸出內(nèi)容到1portal頁面中,并把頁面返回客戶端。

          Portlet 產(chǎn)生標記片斷。 Portal 通常給 portlet 產(chǎn)生的標記片斷加了標題,控制按鈕和其他的裝飾,這個新的片斷叫 portlet 窗口。然后 portal 整合 portlet 窗口到完整的文件, portal 頁面。

             <!--[if !vml]--><!--[endif]-->

          Portlets 運行在 portlet 容器內(nèi)。 Portlet 容器接收 portlets 產(chǎn)生的內(nèi)容。典型的, portlet 容器把 portlet 內(nèi)容傳到 portal Portal server 根據(jù) portlet 產(chǎn)生的內(nèi)容創(chuàng)建 portal 頁面,并傳送給客戶端,由客戶端顯示。

          lt;!--[if !vml]--><!--[endif]-->

           

                 客戶使用客戶終端訪問 portal 。在收到請求后, portal 判斷滿足請求的 portlets 列表。 Portal 通過 portlet 容器,調(diào)用 portlets Portal portlet 產(chǎn)生的片斷創(chuàng)建 portal 頁面,同時把頁面返回給用戶。

          <!--[if !vml]--><!--[endif]-->

          用戶可以根據(jù)需要通過增刪 Portlet 的方式配置他們的頁面。在 Windows 或者 XWindows 窗口程序中,窗口有最大化和最小化的窗口狀態(tài), portlet 也有窗口狀態(tài)。 窗口狀態(tài)是 portal 頁面空間數(shù)量的指示器,它被賦值給 portlet 產(chǎn)生的內(nèi)容中。當調(diào)用 portlet ,容器提供當前窗口狀態(tài)給 portlet Portlet 使用窗口狀態(tài)決定多少信息需要 render Portlets 能在處理 action 請求時,編程的改變他們的窗口狀態(tài)。 Portlet 規(guī)范定義了 3 種窗口狀態(tài), normal maximized minimized

          Normal 窗口狀態(tài)

          Normal 窗口狀態(tài)表示 portlet 要和其他的 portlet 共享頁面。它也表示目標設備限制了顯示能力。因此, portlet 限制輸出的尺寸。

          MAXIMIZED 窗口狀態(tài)

          Maximized 窗口狀態(tài)表示 portlet portal 頁面唯一的 portlet ,或 portlet 相比與其他的 portlet 有更多的空間。當窗口狀態(tài)是 Maximized 時, portlet 產(chǎn)生更多的內(nèi)容。

          Minimized 窗口狀態(tài)

          portlet minimized 狀態(tài),它將是最小限度的輸出,或不輸出。

          Portlet 模式指出 porlet 的功能。一般來說, portlet 執(zhí)行不同任務,依靠當前執(zhí)行的任務的創(chuàng)建不同內(nèi)容。 Portlet 模式告訴 portlet 他們執(zhí)行什么任務,生產(chǎn)什么內(nèi)容。當調(diào)用 portlet ,容器提供當前 portlet 模式給 portlet Portlets 在處理 action 請求時能編程的改變他們的 portlet 模式。

          Portlet 有四種模式: view edit, help config

          可用的模式根據(jù)用戶的角色受到限制。例如,匿名用戶只能使用 view help 模式,而驗證用戶可以使用 edit 模式。

          舉例來說,一個用戶可以定制的股票信息PortletView模式允許用戶查看股票列表,Help模式提供給用戶幫助手冊,Edit模式允許用戶定制自己關注的股票列表,而Config模式允許管理員改變股票服務的一些配置。

          VIEW 模式  

          View 模式期待的功能是產(chǎn)生標記反映當前的狀態(tài)給portlet。例如,view模式的portlet包含1個或多個框,用戶可以操作或交互,或組成不需要任何用戶交互的的靜態(tài)內(nèi)容。

          Portlet 開發(fā)者需要通過覆蓋doView方法實現(xiàn)view portlet模式的功能。

          EDIT 模式  

          通過edit模式,portlet提供內(nèi)容和logic讓用戶用戶化portlet的行為。Edit模式包含一個或多個框,用戶可以定位并輸入他們的用戶化數(shù)據(jù)。  

          典型的,edit模式,將設置或修改portlet的參數(shù)。Portlet開發(fā)者需要通過覆蓋doEdit方法實現(xiàn)edit portlet模式的功能。

          HELP 模式

          當在help模式,portlet提供portlethelp信息。這個help信息將會是簡單的框,用連貫的正文或上下文敏感的幫助闡明了整個portletPortlet開發(fā)者需要通過覆蓋doHelp方法實現(xiàn)help portlet模式的功能

          CONFIG 模式

          當在config模式,管理員可以進行相應的操作。 Portlet開發(fā)者需要通過覆蓋doConfig方法實現(xiàn)view portlet模式的功能。

          因為Portlet繼承于Servlet,所以portlet可以打包成war文件發(fā)布到Portal容器中。管理員可以發(fā)布或者卸載portlet。在一個Portlet Web 應用中,一個portlet描述文件用來描述portlet的屬性和初始化信息。一個Portlet定義包含一個application portlet和多個concrete portlet。一個Application Portletportlet容器中僅存在一個實例。一個concrete Portlet實例一個使用額外的數(shù)據(jù)實例化的portlet

          posted on 2007-01-23 09:42 周銳 閱讀(587) 評論(0)  編輯  收藏 所屬分類: Portal
          主站蜘蛛池模板: 体育| 鄢陵县| 育儿| 江华| 平谷区| 西宁市| 金寨县| 郁南县| 大厂| 三河市| 汝南县| 泌阳县| 津市市| 会同县| 枣庄市| 东至县| 德惠市| 松桃| 三亚市| 沅陵县| 抚宁县| 商洛市| 湖南省| 钟山县| 金山区| 司法| 稻城县| 铅山县| 汽车| 龙海市| 若尔盖县| 井陉县| 青田县| 固阳县| 夹江县| 两当县| 玉环县| 宿松县| 岳池县| 富宁县| 马公市|