posts - 97,  comments - 93,  trackbacks - 0
          這兩天找了一些portal相關(guān)的資料,也從中學(xué)到了很多東西。據(jù)說我們學(xué)校還有個(gè)portal,不過現(xiàn)在不知為什么down掉了。一個(gè)學(xué)校擁有譬如網(wǎng)上注冊、網(wǎng)上評價(jià)、新聞發(fā)布、咨詢公告、網(wǎng)上選課、天氣預(yù)報(bào)……怎么給用戶集中展現(xiàn)?怎 么讓用戶定制自己想看到的界面?怎么實(shí)現(xiàn)單點(diǎn)登錄?這是portal要解決的問題。各個(gè)的應(yīng)用提供業(yè)務(wù)能力,portal提供一個(gè)統(tǒng)一的look and feel。所以portlet和servlet絕對不是競爭的關(guān)系,portlet的功能是“聚集+展現(xiàn)”,應(yīng)該盡量回避具體于業(yè)務(wù)的邏輯。Portlet可以使軟件廠商產(chǎn)品或室內(nèi)定制應(yīng)用軟件咬接進(jìn)門戶框架。Portlets可以用各種方式來編寫,最簡單的Portlets采用了靜態(tài)HTMLWML標(biāo)記語言或者JSP語法。中間級Portlets可以采用JavaBeansJava servlets,或者XMLXSL轉(zhuǎn)換。更復(fù)雜的Portlets涉及到編寫客戶Java碼。一個(gè) Portlet 是以 Java 技術(shù)為技術(shù)的 Web 組件,由 Portlet Container 所管理,專門處理客戶的 request 以及產(chǎn)生各種動態(tài)的信息內(nèi)容。Portlets 為可插式 ( pluggable ) 的客戶界面組件,提供呈現(xiàn)層成為一個(gè)信息系統(tǒng)。這些由 portlet 產(chǎn)生的內(nèi)容也被稱為片段 (fragment),而片段是具有一些規(guī)則的Markup( HTML、XHTML、WML ),而且可以和其他的片段組合而成一個(gè)復(fù)雜的文件。而 Portlet 中的內(nèi)容正常來說是與其他 Portlet 的內(nèi)容聚合而成為一個(gè) Portal 網(wǎng)頁。而 Portlet 的生命周期是被 Portlet Container 所管理控制的。客戶端和 portlets 的互動是由 portal 通過典型的 request/response 方式實(shí)現(xiàn),正常來說,客戶會和 portlets 所產(chǎn)生的內(nèi)容互動,舉例來說,根據(jù)下一步的連接或者是確認(rèn)送出的表單,結(jié)果 portal 將會接收到 portlet 的動作,將這個(gè)處理狀況轉(zhuǎn)向到目標(biāo) portlet。這些 portlet 內(nèi)容的產(chǎn)生可能會因?yàn)椴煌氖褂谜叨胁煌淖兓耆歉鶕?jù)客戶對于這個(gè) portlet 的設(shè)置。Portal主要是解決企業(yè)信息和應(yīng)用的前端集成問題,它負(fù)責(zé)連結(jié)企業(yè)后臺EAI,集成企業(yè)的結(jié)構(gòu)和非結(jié)構(gòu)化信息,并提供統(tǒng)一的訪問企業(yè)信息和應(yīng)用的入口。

          1) Portlet 和 Servlet 的相似之處

          @ portlets 也是 Java 技術(shù)的 web 組件
          @ portlets 也是有特定的 container 在管理
          @ portlets 可以動態(tài)產(chǎn)生各種內(nèi)容
          @ portlets 的生命周期由 container 所管理
          @ portlets 和客戶端的互動是通過 request/response 的機(jī)制

          2) Portlet 和 Servlet 也有一些不同

          @ portlets 只產(chǎn)生 markup 信息片段,不是完整的網(wǎng)頁文件。而 Portal 會將所有的 Portlet markup 信息片 段放到一個(gè)完整的 Portal 網(wǎng)頁。
          @ portlets 不會和 URL 有直接的關(guān)系
          @ 客戶端必須通過 portal 系統(tǒng)才能和portlets互動
          @ portlets 有一些定義好的request處理,action request以及render request。
          @ portlets 默認(rèn)定義 portlet modes 及窗口狀態(tài)可以指出在網(wǎng)頁中該 portlet 的哪個(gè)功能正在執(zhí)行及現(xiàn)在的 狀態(tài)。
          @ portlets 可以在同一個(gè) portal 網(wǎng)頁之中存在多個(gè)。

          3) Portlet 有一些附加的功能是 Servlet 所沒有的

          @ Portlets 能夠存取及儲存永久配置文件及定制資料。
          @ portlets 可以存取使用者數(shù)據(jù)
          @ portlets 具有URL的重寫功能在文件中去動態(tài)建立連結(jié),允許 portal server 不用去知道如何在網(wǎng)頁的片 段之中建立連結(jié)及動作。
          @ portlets 可以儲存臨時(shí)性的數(shù)據(jù)在 portlet session 之中,擁有兩個(gè)不同的范圍:
          application-wide scope 及 portlet private scope 。

          4) Portlet 不具有一些功能,但是 Servlet 卻有提供

          @ servlet 具有設(shè)置輸出的文字編碼方式
          @ servlet 可以設(shè)置 HTTP 輸出的 header
          @ servlet 才能夠接收客戶對于portal發(fā)出的URL請求

          基于Portal開發(fā)項(xiàng)目的優(yōu)勢
          1、可以與以后新開發(fā)的或已集成到Portal中的企業(yè)應(yīng)用實(shí)現(xiàn)無縫集成。
          2、可以分享Portal服務(wù)器和Portlet容器提供的種種功能。這要視Portal服務(wù)器提供商而定。
          3、由于Portlet已規(guī)范化(JSR168),所以應(yīng)用中開發(fā)的Portlet可以部署在不同的Portal服務(wù)器上。



          Java 中開源的portal門戶

           Liferay   

          代 表了完整的J2EE應(yīng)用,使用了Web、EJB以及JMS等技術(shù),特別是其前臺界面部分使用Struts 框架技術(shù),基于XML的portlet配置文件可以自由地動態(tài)擴(kuò)展,使用了Web Services來支持一些遠(yuǎn)程信息的獲取,使用 Apahce Lucene實(shí)現(xiàn)全文檢索功能。
          主要特點(diǎn):
              1、提供單一登陸接口,多認(rèn)證模式(LDAP或SQL);
              2、管理員能通過用戶界面輕松管理用戶,組,角色;
              3、用戶能可以根據(jù)需要定制個(gè)性化的portal layout;
              4、能夠在主流的J2EE應(yīng)用服務(wù)器上運(yùn)行,如JBoss+Jetty/Tomcat,JOnAS;
              5、支持主流的數(shù)據(jù)庫,如PostgreSQL,MySQL;
              6、使用了第三放的開源項(xiàng)目,如Hibernate, Lucene, Struts;
              7、支持包括中文在內(nèi)的多種語言;
              8、采用最先進(jìn)的技術(shù) Java, EJB, JMS, SOAP, XML;

           JetSpeed   

          Jetspeed 是一個(gè)開放源代碼的企業(yè)信息門戶(EIP)的實(shí)現(xiàn), 使用的技術(shù)是Java和XML. 用戶可以使用瀏覽器, 支持WAP協(xié)議的手機(jī)或者其它的設(shè)備訪問Jetspeed架設(shè)的信息門戶獲取信息. Jetspeed扮演著信息集中器的角色, 它能夠把信息集中起來并且很容易地提供給用戶.
          Jetspeed具有如下的特征:

          * 即將成為標(biāo)準(zhǔn)化的Java Portlet API
          * 基于模板的布局, 包括JSP和Velocity
          * 通過開放的內(nèi)容同步技術(shù)支持遠(yuǎn)程XML內(nèi)容交換
          * 定制默認(rèn)的主頁
          * 使用數(shù)據(jù)庫進(jìn)行用戶認(rèn)證
          * 內(nèi)存緩存技術(shù), 加快頁面的響應(yīng)
          * 通過Rich Site Summary技術(shù), 支持同步內(nèi)容
          * 和Cocoon, WebMacro, Velocity集成.
          * Wireless Markup Language (WML) 支持
          * 使用XML格式的配置文件注冊portlet.
          * 完整的Web Application Archive (WAR) 支持
          * Web應(yīng)用程序開發(fā)的基礎(chǔ)設(shè)施
          * 可以在本地緩存遠(yuǎn)程內(nèi)容
          * 與Avantgo同步
          * 可移植到所有支持JDK1.2和Servlet 2.2的平臺
          * 與Turbine模塊和服務(wù)集成
          * 可以根據(jù)用戶, 安裝媒體類型和語言的不同設(shè)定, 產(chǎn)生不同的個(gè)性化服務(wù)
          * 持續(xù)化服務(wù)使得所由的portlet能夠容易的存儲每個(gè)用戶的狀態(tài), 頁面和portlet
          * 使用皮膚技術(shù)使得用戶可以選擇portlet的顏色和顯示屬性
          * 自定義功能是的管理員可以選擇portlet以及定義個(gè)人頁面的布局
          * 在數(shù)據(jù)庫中存儲PSML
          * 通過Jetspeed的安全portlets管理用戶, 組,角色和權(quán)限
          * 基于角色對訪問portlet進(jìn)行控制

           Pluto   

          Pluto 是一個(gè)滿足Portlet API規(guī)范的Portlet容器的實(shí)現(xiàn),它為開發(fā)者提供了一個(gè)運(yùn)行portlets的工作平臺。然而,如果沒有一個(gè)驅(qū)動器(driver),也就是 Portal,的支持的話,運(yùn)行和測試Portlet容器將非常之麻煩。Pluto本身也提供了一個(gè)簡單的Portal模塊,該模塊僅僅是為了滿足 Portlet容器和JSR 168的需要而寫的。

           oPortal   

          oPortal是一個(gè)用java寫的開源門戶項(xiàng)目,它的目標(biāo)是成為一個(gè)安全的web應(yīng)用程序。基于Struts 框架技術(shù)。

           jPorta   

          J2EE Portal Engine是一個(gè)建造于Jeenius Framework (http://jeenius.sourceforge.net)框架基礎(chǔ)上的完整功能的門戶引擎。它可以和任意兼容2.3版本的servlet 引擎工作,提供了許多有用的小部件。

           jCharon   

          jCharon 目標(biāo)是創(chuàng)造一個(gè)具有國際化與商業(yè)化的 Portal 及 Portlets。發(fā)起該項(xiàng)目的原因大致是現(xiàn)有的開源 portal 太簡單, portlets 也不具有國際化, 所以建立了以冥王星 (pluto)的衛(wèi)星 Charon 為名的開源項(xiàng)目。該項(xiàng)目的 License 是 Apache Foundation License

           eXo Platform   

          eXo Platform 是一個(gè)開源企業(yè)門戶解決方案,它基于 Java(tm) Server Faces (JSF) web 層框架,遵循portlet API (JSR 168) 。此開源項(xiàng)目還用到的開源技術(shù)有Pico Container, JbossMX 與AspectJ。

           Jakarta Pluto   

          Portlet API規(guī)范(JSR 168)的Portlet容器的實(shí)現(xiàn),它為開發(fā)者提供了一個(gè)運(yùn)行portlets的工作平臺。

           JPortal  

          JPortal 是目前最為符合JSR-168 Spec的Portal實(shí)現(xiàn)。他使用了攔截器技術(shù)和 Dynamic Proxy來實(shí)現(xiàn)Portlet的可插入設(shè)計(jì)。他目前只是一個(gè)原型的實(shí)現(xiàn)并且之關(guān)注于實(shí)現(xiàn) Portal Container,并沒有過多的 Portlet實(shí)現(xiàn)和設(shè)計(jì)。 優(yōu)點(diǎn)在于其的架構(gòu)清晰,易于擴(kuò)展,但在Portal的工業(yè)強(qiáng)度上需求的差距是比較大的,沒有分布式的概念是他目前架構(gòu)的一個(gè)致命的地方。

           uPortal   

          由(JA -SIG)開發(fā)的uPortal基于的Java, XML, and XSL項(xiàng)目, 發(fā)行版包括WEB服務(wù)頻道,權(quán)限,用戶組管理等等。UPortal讓你可以自己增加你的機(jī)構(gòu)需要的新特性。它著眼于高等教育機(jī)構(gòu),一些商業(yè)組織也用它來作 為構(gòu)建協(xié)同社區(qū)的框架。這種框架包括插入式的被成為頻道的組件,它提供用戶感興趣的信息。用戶可以根據(jù)其在機(jī)構(gòu)中角色選擇關(guān)心的頻道,同時(shí)還可以定制自己 站點(diǎn)喜歡的樣式。

           jPortlet   

          jPortlet是portlet容器的一個(gè)開源實(shí)現(xiàn),Portlet是運(yùn)行在portle服務(wù)器中的portlet容器之內(nèi)的組件。jPortlet具有以下特性: 1,可以用不同的方式瀏覽portlet:觀察、修改、配置或者提供幫助。2,它的API可以讓你把portlet部署在web瀏覽器內(nèi)、PDA上、蜂窩電話上等許多地方。3,portlet容器可以緩存portlet的內(nèi)容,用來加速porlet的表現(xiàn)。

           OpenPortal   

          OpenPortal是一個(gè)Web門戶框架,可以讓用戶個(gè)性化運(yùn)行這一軟件的站點(diǎn)的Web頁面。用戶通過選擇一套可用的門戶組件屬性來構(gòu)造其頁面。一個(gè)門戶組件可以是servlet 或JSP頁面。

           Jaco Portal Server   

          一個(gè)遵循Portlet Specification(JSR-168) 規(guī)范的portlet 容器。

           Stringbeans   

          Stringbeans是一個(gè)兼容JSR 168 portlets部署的平臺。2.4版增加了portlet應(yīng)用部署者工具,支持部分保護(hù)(semi-protected)的門戶應(yīng)用、跟蹤和訪問門戶應(yīng)用。

           GridSphere   

            提供一個(gè)基于 portlet 的高級開放源代碼門戶。GridSphere 是在歐盟提供基金的 GridLab 項(xiàng)目 下開發(fā)的,提供了一個(gè)非常復(fù)雜的門戶,該門戶為各種終端用戶提供高度定制的環(huán)境。portlet 模型向用戶提供了一個(gè)靈活易用的接口,并向門戶開發(fā)人員提供了一個(gè)模型,用于創(chuàng)建可插入的和動態(tài)的應(yīng)用程序支持。
          下面簡要列出核心的 GridSphere 特性:
          1,Portlet API 的實(shí)現(xiàn)與 IBM WebSphere Portal Server 4.2 或更高版本緊密兼容。
          2,易于開發(fā)并易于與插入到 GridSphere portlet 容器中的“第三方 portlet”集成。
          3,級別更高的模型,用于使用可視的 bean 和 GridSphere User Interface (UI) 標(biāo)簽庫構(gòu)建復(fù)雜的 portlet。 靈活的基于 XML 的門戶表示描述,可以輕松對其進(jìn)行修改來創(chuàng)建自定義的門戶布局。
          4,對基于角色的訪問控制(Role Based Access Control,RBAC)提供內(nèi)置的支持,RBAC 將用戶分為 guest、user、admin 和 super user。
          5,復(fù)雜的服務(wù)模型,允許創(chuàng)建“用戶服務(wù)”,可以按照用戶權(quán)限限制服務(wù)方法。
          6,通過 Hibernate for RDBMS 數(shù)據(jù)庫支持提供數(shù)據(jù)的持久性。
          7,為 portlet 服務(wù)的服務(wù)端測試集成了 Junit/Cactus 單位測試,包括生成測試報(bào)告。
          8,GridSphere 核心 portlet 提供基本功能,包括登錄、注銷、用戶和訪問控制管理。 由于 GridSphere portlet API 幾乎與 WebSphere portlet API 完全相同,所以您應(yīng)該多看看 developerWorks 文章,這些文章在 參考資料 和 IBM WebSphere Portal Zone 中列出。在理論上,使用 IBM WebSphere Portal Server 開發(fā)本文中的示例 portlet 應(yīng)該不難。GridSphere API 與 JSR Portlet API 1.0 最后的規(guī)范非常類似,gridSphere 的將來版本是符合 JSR 168 的。當(dāng)前的 GridSphere 版本提供了一個(gè)門戶、一個(gè) portlet 容器和一組有用的核心 portlet,包括用戶和組管理以及布局定制和 portlet 訂閱。

           Jaco Portal Server   

          一個(gè)服從Portlet規(guī)范(JSR-168)的Portlet容器。

           basicPortal CMS (TM)   

          basicPortal CMS (TM)是一個(gè)企業(yè)信息門戶(EIP)。它完全基于能夠讓用戶開發(fā)標(biāo)準(zhǔn),廉價(jià),跨平臺,動態(tài),靈活和非常快web應(yīng)用程序的開源軟件技術(shù)。

           MyPersonalizer   點(diǎn)擊次數(shù):7612

          MyPersonalizer是一個(gè)基于J2EE框架的“我的”門戶(類似于my.yahoo.com)的開源項(xiàng)目。

           NVPortal  

          NVPortal是一個(gè)基于開源BSD協(xié)議的Java企業(yè)門戶解決方案.這個(gè)開源方案可滿足用戶的高需求因?yàn)?
           * 符合JSR 168規(guī)范與WSRP標(biāo)準(zhǔn),
           * 通SOAP實(shí)現(xiàn)商業(yè)處理引擎與搜索引擎,
           * 可隨意地的自定義布局,
           * 非常友好的用戶界面,
           * 多語言支持,
           * 單一登錄(SSO),
           * 圖形管理界面等...

           WWPortlet   

          WWPortlet 一個(gè)MVC JSR168 Portlet框架基于WebWork,Velocity,Spring,Hibernate.使用WWPortlet框架開發(fā)門戶(Portal)系統(tǒng) 時(shí),可以不需要知道Portlet和JSR168的API與概念.你可以像開發(fā)傳統(tǒng)WebWork/Velocity應(yīng)用程序一樣來開發(fā)門戶 (Portal)系統(tǒng),

           Lutece   

          Lutece 是一個(gè)Web門戶引擎,它能夠讓你快速創(chuàng)建基于HTML,XML或數(shù)據(jù)庫內(nèi)容的internet或intranet門戶網(wǎng)站.Lutece可很好的運(yùn)行在 Linux與Windows平臺上,采用MySQL作為默認(rèn)的數(shù)據(jù)庫.Lutece提供一個(gè)非常簡單的管理界面能夠讓最終用戶直接使用而不需要任何專門的 技術(shù).這個(gè)工具由巴黎城市數(shù)據(jù)處理部門所開發(fā)主要用于區(qū)域Web站點(diǎn)項(xiàng)目,它已被運(yùn)用在超過18個(gè)城市的Web網(wǎng)站上(具體可查看此處列表).

           SIPF   

          SIPF(Siemens Intranet Portal Framework)提供一個(gè)個(gè)性化的,結(jié)構(gòu)化的信息訪問和應(yīng)用程序的無縫集成.一個(gè)基于web的并且結(jié)構(gòu)分明的可視化桌面工作環(huán)境.

           PortletBridge   

          Portlet Bridge Portlet是一個(gè)web clipping proxy portlet,它能夠把web應(yīng)用程序"裁剪"成portlets。Portlet Bridge Portlet使用XSLT和CyberNeko進(jìn)行web clipping。

           Kosmos   

          Kosmos是一組監(jiān)測軟件項(xiàng)目開發(fā)portlet。符合JSR-168規(guī)范可用于跟蹤項(xiàng)目各方面的進(jìn)展包括:版本控制,缺陷跟蹤,持續(xù)構(gòu)建,和項(xiàng)目依賴等。

           Light Portal   

          Light是一個(gè)基于Ajax與Java的開源Portal框架,它能夠被無縫地集成到任何Java Web應(yīng)用程序中或作為一個(gè)獨(dú)立的Portal系統(tǒng)。它的特點(diǎn)就是當(dāng)用戶以管理方式訪問portal時(shí)打開它,當(dāng)用戶需要把它作為規(guī)則商業(yè)處理時(shí)關(guān)閉它。
           支持JSR168 Portlet API設(shè)計(jì)規(guī)范.
           支持多主題,也支持自定主題。
           每個(gè)Portlet都可以配置成單獨(dú)刷新的模式,自動獨(dú)立刷新與在同一個(gè)tab頁面刷新其它portlet。


          posted on 2007-04-27 20:48 wqwqwqwqwq 閱讀(2787) 評論(6)  編輯  收藏 所屬分類: No Category

          FeedBack:
          # re: Portal 門戶
          2007-04-27 21:27 | ant
          最近也在關(guān)注這個(gè),有空聊聊,^_^。  回復(fù)  更多評論
            
          # re: Portal 門戶
          2007-04-28 10:20 | 曲強(qiáng) Nicky
          @ant
          不知AJax數(shù)據(jù)視圖和業(yè)務(wù)的分離的思想對portal是不是很大的沖擊。  回復(fù)  更多評論
            
          # re: Portal 門戶
          2007-04-28 13:24 | ant
          @曲強(qiáng) Nicky
          不知AJax數(shù)據(jù)視圖和業(yè)務(wù)的分離的思想對portal是不是很大的沖擊。

          呵呵,還是第一次見到這樣的提法,不好說。
          我個(gè)人的看法是,Portal三要素:個(gè)性化定制,單點(diǎn)登錄,多源聚集,而這些本身和Ajax關(guān)系不大,Ajax只是一種表現(xiàn)手段。
          ^_^,還望斧正。  回復(fù)  更多評論
            
          # re: Portal 門戶
          2008-04-12 17:14 | Laoluo
          同意樓上的說法,而且Ajax為增強(qiáng)client的功能,而portlet應(yīng)該是在server端,呵呵  回復(fù)  更多評論
            
          # re: Portal 門戶
          2008-04-12 17:16 | Laoluo
          最近也在研究portal的東西,正關(guān)注到OPEN portal因?yàn)閰⑴c的人比較多,而且有sun的人推薦就著重推薦。如果有人有使用過樓主提過的這個(gè)portal的經(jīng)驗(yàn),請不吝賜教  回復(fù)  更多評論
            
          # re: Portal 門戶
          2008-04-14 12:21 | nicky
          @Laoluo

          我個(gè)人對portal比較推崇liferay,當(dāng)然不僅僅因?yàn)檎J(rèn)識些朋友,liferay目前在大連有國外子公司,如果你需要對這一開源項(xiàng)目的咨詢或是支持工作可以在liferay.com的社區(qū)去聯(lián)系下bryan 或是mark,呵呵,他們的郵箱我就不在這說了,如果你需要可以像我直接要也好(需要英文),nicky.jcoder@gmail.com(禁止垃圾郵件,謝謝^^)
          我還有一個(gè)朋友對spring框架支持的liferay還算較熟,作為soho可以聯(lián)系(這個(gè)會中文,哈)。  回復(fù)  更多評論
            
          <2008年4月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910




          常用鏈接

          留言簿(10)

          隨筆分類(95)

          隨筆檔案(97)

          文章檔案(10)

          相冊

          J2ME技術(shù)網(wǎng)站

          java技術(shù)相關(guān)

          mess

          搜索

          •  

          最新評論

          閱讀排行榜

          校園夢網(wǎng)網(wǎng)絡(luò)電話,中國最優(yōu)秀的網(wǎng)絡(luò)電話
          主站蜘蛛池模板: 武陟县| 彭山县| 临汾市| 宁都县| 邢台县| 鄢陵县| 香河县| 富阳市| 封丘县| 汉川市| SHOW| 静乐县| 镶黄旗| 师宗县| 托里县| 乌拉特后旗| 安达市| 垣曲县| 盐池县| 于田县| 泾阳县| 忻城县| 尤溪县| 武陟县| 武强县| 吉木萨尔县| 新化县| 沙田区| 景德镇市| 阿勒泰市| 法库县| 寿宁县| 清新县| 清水县| 株洲县| 府谷县| 江孜县| 新巴尔虎左旗| 富顺县| 江安县| 保山市|