一個對Portal應用比較清晰的描述

來源: http://www.qqread.com/java/2009/11/w480007.html

 

 

探祕企業門戶開發:Java Portlet入門

巧巧讀書 2009-11-06 黃永兵 譯 51CTO.com  技術論壇

當你訪問iGoogle或是myYahoo!一類的門戶時,是否會對這種個性化門戶界面的實現方式感到好奇呢?實現這種“組件式”門戶的技術叫做Portlet。隨着Portlet相關規範的統一,這種技術現在也被用於企業內部網站(企業門戶)以及其他商業或個人網站。下面,我們將進行一次簡短的Portlet入門介紹與教程。

Java Portlet的歷史

自2003年最初的JSR 168規範發佈以來,Portlet開發在企業和開源社區中都獲得了積極響應。2008年6月發佈了JSR 286規範,標誌着Portlet開發技術已經非常成熟。截至目前已經有不止20個開源Portlet容器和門戶產品可用,如SUN的Liferay Portal、eXo Platform和Jakarta Pluto等,也有來自主流軟件廠商的商業化產品,如Vignette Portal、IBM WebSphere Portal、Sun OpenPortal和Oracle Portal(以前叫做BEA WebLogic Portal)等。

Web門戶基礎

那麼,什麼是門戶呢?傳統的觀點認爲Web分爲三類:Web網站,搜索引擎和門戶。Web網站一般放置個人主頁或公司主頁,而搜索引擎是網絡爬蟲,它索引個人和企業網頁,以便於人們搜索,門戶就象一個大雜燴,將各種有關或無關的東西全部糅合到一塊(目前許多搜索引擎如Yahoo.com和MSN也是門戶)。隨着門戶的演變,出現了一些新的特徵,如保存用戶的參數設置和其它自定義信息,用戶也可以配置門戶記住他們的設置,如背景色,顯示記錄條數等。支持自定義可以讓不同的用戶擁有個性化的門戶,每個人訪問門戶時界面顯示的內容可能完全不一樣,如A看到的是新聞和股票,B看到的是娛樂和天文學。如圖1所示。

探祕企業門戶開發:Java Portlet入門(圖一)

點擊查看大圖 
圖 1 Yahoo門戶:門戶自定義讓門戶記住用戶的參數設置

 

經過自定義後,不同種類的信息摻和在一起形成一個非常現代化的頁面,目前最流行的做法是在門戶上放置多個矩形框,每個矩形框代表一個Portlet。Wikipedia將門戶定義爲“以統一的方式顯示來自不同地方的信息”,將Portlet定義爲“可插拔的用戶界面組件”。

門戶的目標就是爲不同用戶定製顯示不同的Portlet,以滿足用戶個性化的需求,這樣做可以粘住用戶。經過這幾年的發展,門戶的應用已經擴大到企業內部中去了,包括內部門戶,B2B等形式,如企業財務門戶將各種財務信息聚合到一起,分別以Portlet形式展示,如投資組合、401K計劃、信用卡、銀行賬戶等,財務部門人員就可以一次性獲得大量的財務數據

企業門戶和Portlet容器

那麼門戶和Portlet容器是什麼關係呢?簡答:門戶是Portlet容器的容器。Portlet容器是根據門戶提供的Portlet標準API實現的供Portlet運行的環境,依靠這個環境,或者說平臺,Portlet可以被實例化,使用,最終被處理掉(destroyed)。Java Portlet容器不是象Servlet容器那樣標準的獨立的容器,相反,它是在Java Servlet容器上實現的,並會重用Java Servlet的功能。從技術角度來說,Portlet容器可以看作是Portlet和門戶之間的接口。

早期的Web門戶都是採用封閉式開發的,自家開發的Portlet只能在一個特定的Portlet容器中運行,不具有很好的兼容性,遇到新項目或需求變化,開發人員不得不重新修改Portlet代碼。這種情況直到2003年SUN發佈JSR 168規範後纔得到改善,雖說這個規範也不完美,但它提供了一個標準Portlet API,定義了Portlet生命週期和其它重要屬性。即使到了今天,很多Portlet和Portlet容器都仍然遵循JSR 168或2008年發佈的JSR 286規範,凡遵循這些規範編寫的Portlet幾乎都有很好的移植性。

提示:IBM也開發了自家的WebSphere portal,並且公開了API,IBM的API和SUN的API很類似,但最新的版本中,IBM放棄了自家的API,完全遵循JSR 168和JSR 286規範了。

現代Portlet容器可以用來構建企業內部網站(企業門戶),商業網站或個人網站,大多數都實現了開箱即用的功能,如國際化支持,工具和內容管理,基於角色的授權,單點登錄(SSO)支持,搜索和標籤支持等。圖2顯示了一個正在運行的Portlet容器示例。

探祕企業門戶開發:Java Portlet入門(圖二)

點擊查看大圖 
圖 2 Apache Jetspeed門戶:包括一個日曆Portlet

 

用戶可以拖動日曆Portlet的位置,如圖3所示。

探祕企業門戶開發:Java Portlet入門(圖三)

點擊查看大圖 
圖 3 移動日曆Portlet
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章