《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 企業門戶關鍵技術:Portlet的研究

企業門戶關鍵技術:Portlet的研究

2008-12-20
作者:李永剛,張麗芬
1、 引言
在新經濟時代,信息的重要性日益突現出來,企業競爭力的提高越來越多的依賴于企業查詢、發布、采集、處理信息的能力。Internet的迅速發展使企業很容易獲得大量信息,但是如何從這么多信息的信息中提煉出對企業有用的確是企業亟待解決的難題。1998年11月,Merrill Lynch發表了EIP(Enterprise Information Portal企業信息門戶)報告,指出EIP是使企業擺脫內部和外部存儲信息的限制,簡單快速的獲取商業信息,進行決策的途徑。
?那么何為企業信息門戶?企業信息門戶是一個應用系統,它使企業能夠釋放存儲在企業內部和外部的各種信息,使企業員工、客戶和合作伙伴能夠從單一的渠道訪問其所需的個人化信息。門戶網站提供了集成的內容和應用,以及統一的協作工作環境。目前,門戶已經被公認為是下一代桌面,是接觸用戶和滿足用戶體驗的關鍵,也是實現企業應用集成" title="應用集成">應用集成(EAI)的重要途徑。
?目前開發門戶技術分為兩大主流:
2?一種是以微軟" title="微軟">微軟為首的.Net技術,典型代表產品Microsoft? SharePoint? Portal Server,依靠微軟強大的操作系統平臺和辦公軟件的支持,內置了許多功能強大的Web組件,如Office組件、Exchange組件;優點是與Microsoft自身知識管理產品相匹配,但是他的缺點也很明顯,與主流的企業軟件不易集成;
2?另一種是基于J2ee技術發展的門戶系統。代表產品有IBM的WebSphere Portal、Sun的iPlanet Portal Server、Bea的Web Logic Portal等產品,由于這些軟件都是基于J2ee框架的,所以在功能上都很相似:支持門戶個性化、活動管理、跨應用的單一登入、身份驗證、權限管理和Portlet間的通信,也提供了不同數據庫的選擇;
評價一個門戶產品的好壞最重要的是看它所支持的Portlet有多少,因為門戶各種功能的實現都依賴于相應的Portlet。由于SharePoint運行平臺的限制(只能運行在Windows平臺)和第三方" title="第三方">第三方的組件相對缺乏,這就決定了它在企業級門戶應用的不足;而基于J2ee技術的門戶產品,由于其強大的跨平臺性以及眾多的第三方Portlet開發廠商的支持,稱為門戶產品的主流。
Portlet 是企業信息門戶網站的心臟,它是可重用的組件,提供對應用程序" title="應用程序">應用程序、基于 Web 的內容和其它資源的訪問。有了Portlet,開發者很容易依據企業需求快速的用已有的Portlet定制出一個功能強大的企業門戶系統;同時這樣的門戶系統由于實現了模塊化,也很容易維護。比如,企業要把公司的現有CRM集成到現有門戶系統,那么我們不需要對CRM進行改動,只是開發或者購買第三方的具有相應功能的Portlet添加到門戶系統就可以了。
2、Portlet技術
2.1、 Portlet簡介

Portlet 是在門戶中運行的 Web 頁面的一部分,從最終用戶的角度看,Portlet 是一個能夠在Web頁面顯示出來的工作區域。每個 Portlet 將管理瀏覽器屏幕的一小部分,為您執行一項服務。所有的 Portlet都將檢索來自數據庫或其他來源的信息、轉換這些信息,并將這些信息顯示到瀏覽器屏幕上;從開發者角度看,Portlet是采用J2EE技術開發的并且運行在門戶網站的Portlet容器(Container)中的插件;Portlet在許多方面都類似于Servlet;比如說:Portlet用Portlet API(參閱JSR-168 該規范現在處于審查狀態[1])來編寫,就象Servlet用Servlet API來編寫一樣,還有Portlet是運行在Portal環境中,Portlet 容器提供了 Portlet 初始化、使用和最后銷毀的運行時環境;而Servlet運行在Web服務器端的Servlet容器中。兩者不同的是Servlet直接與客戶端通訊,而Portlet則通過Portal的應用來調用。Portlet只有在生成了適合在大頁面中顯示的內容之后,才會在Portal環境中適當運行,一個Portal頁面是一系列Portlet的集合;

??? 從上圖可以看出Portlet 不只是現有 Web 內容的簡單視圖,還是完整的應用程序,符合標準的模型-視圖-控制器設計。Portlet 有多種狀態和視圖模式,還有事件和消息傳遞功能;
?? · 模型,為 Portlet 檢索的數據源,該數據源可能是本地的也可能是遠程的,這些數據源可能來自于其它的數據庫、交易系統、聯合內容供應商,也可能是另外的遠程Web站點;隨著門戶繼續發展為新的桌面和集成標準,如何使門戶和其它Web之間通信成為新的課題,現在通用的解決辦法是采用xml作為數據交換中介;將Web信息劃分為頻道,每個頻道包含一系列子條目,每個子條目包括標題、標題的描述以及該標題文章在的鏈接;另外,RSS,OCS和RDF通常都是門戶網站采用的描述信息的格式。RSS(Rich Site Summary,豐富站點摘要)是一種深受歡迎且很有用的聯合的新聞和娛樂內容格式??梢园褍热葜苯訌膬热莨芾硐到y發布到 Rich Site Summary 和 Open Content Syndication(開放內容聯合,OCS)頻道,門戶網站服務器的內置 RSS Portlet 很容易就能將這些內容顯示在頻道上。
?? ·?視圖,用于顯示 Portlet 數據的圖形顯示機制;Portlet一般都支持多種設備(瀏覽器)訪問,設備可以是用 HTML 來支持使用桌面瀏覽器的PC,也可以是用 WML 和用 cHTML 標記來支持的移動電話(掌上電腦)。由于Portlet采用MVC設計模式,業務邏輯層和表示層分離,一個業務層可以對應多個視圖;這樣,控制器可以依據設備調用相應的視圖顯示;
?? ·?控制器,它連接選定的視圖到數據,并指導Portlet 的操作。 控制器根據目標設備或瀏覽器選擇要顯示的視圖,然后將數據模型傳遞給視圖。視圖抽取特定的顯示數據,為瀏覽器格式化數據,然后將其輸出提供給瀏覽器,作為 Portlet 輸出的門戶網站聚集的一部分。
2.2、Portlet技術應用
??? 在門戶世界,門戶服務器就象一個大的框架,而框架中的內容、樣式、以及風格等都由用戶決定, 他們無需程序員就能用Portlet構造和管理他們個人主頁的內容(程序員的職責就是開發一個個通用的Portlet)。門戶頁面中各個區域的內容是獨立的,每個區域都是一個特定功能的Portlet程序,可以根據需要顯示特定的信息的Portlet。用戶可以預先定義每個Portlet所顯示的內容。例如,一個News Portlet可以完成收集信息、列出當天最重要的新聞、進行信息檢索等功能;而一個ERP Portlet可以把后臺ERP系統產生的各種業務數據按照預訂的方式顯示在門戶上,企業管理人員不必直接訪問后臺的ERP系統就可以獲得各種業務數據。由此用戶可以組織他們的計算桌面以匹配自己的工作模式和需要,從而使他們能夠擁有更高的生產效率、更大的便利性,并且在內部網導航上花費更少的時間。
??? Portlet有幾種顯示模式:視圖、幫助、編輯和配置,可通過 Portlet 標題欄上的圖標調用。Portlet 最初顯示是視圖模式,當用戶和 Portlet 交互時,它會顯示一系列視圖狀態,例如表單和響應、錯誤消息和其它應用程序特定狀態;幫助模式用于為用戶提供關于Portlet 的幫助;編輯模式為用戶提供改變Portlet 設置的頁面,用戶可以配置Portlet的狀態、顯示模式以及顏色等;配置模式為門戶網站管理員提供一個頁面,用于配置被所有用戶共享的 Portlet 設置。每個Portlet 模式有三種顯示狀態:正常、最大化和最小化。當 Portlet 最大化時,它被顯示在整個門戶網站頁面,遮住其它 Portlet。當 Portlet 最小化時,僅有 Portlet 的標題欄顯示在門戶網站頁上。
??? 目前影響Portlet企業應用主要有兩大因素:
??? 一個就是不同的門戶廠商針對他們的Portlet有各種各樣的PortletAPI,缺乏Portlet開發標準,導致在不同平臺上的Portlet不能互用,例如,在BEA WebLogic上開發的Portlet無法用在IBM WebSphere平臺上;目前,SUN、IBM等十幾家門戶廠商正在致力于推動門戶標準的制訂,為JSR168(一個致力于為Portlet的互用性定義Java API的組織)提供贊助:這一新的Java portlet API將成為最終的Java技術規范,為各種互操作的被稱為Portlet的門戶組件定義一個公共模式與Java接口,以便使各個門戶用戶與各種應用相連接。這一新的Portlet API可讓應用、內容和服務等的提供商將各種Portlet通過一個公共的標準Java Portlet API執行,并以一種標準的方式組合起來。這樣,這些Portlet就能配置在所有相應的門戶服務器上。
??? 另一個因素就是Portlet數量過少,解決該問題除了開放標準,鼓勵第三方開發商外,另一個途徑是把門戶與Web服務相結合,把Portlet作為Web 服務發布到網上,用戶通過Web服務訪問就可以輕而易舉地獲得數以千計的Portlet。下面我們討論Portlet如何應用Web服務的關系;
2.3、Portlet與Web服務
??? Web服務(Web Services)在近期內將成為Internet上自動查找信息和應用的最主要方法,作為Portal,應該能夠將數據資源和遠程應用集成起來,下面我們討論Portlet如何使用Web服務;
2.3.1用Portlet來架構Web服務
??? 將Portlet作為遠程Portlet Web服務對外發布,使得其它的Portals能夠很容易找到并且與之集成。一個典型的例子是新聞Portlet。新聞Portlet使得用戶能夠配置用于跟蹤的新聞分類,然后從Web服務中獲取該類別下的最新新聞并且顯示出來。在這個例子中,Portlet代碼運行在本地的Portal中,利用Web服務來訪問信息。Web服務提供信息,本地的Portlet則用于顯示這些信息,Web服務返回的信息可以作為一個XML文件。
??? 下圖說明了如何用Portlet來架構Web服務;當Portlet接收到請求去訪問遠程服務,Portlet首先會去調用SOAP代理對象,該代理把請求參數排列成與程序設計語言無關的SOAP請求,再把該請求發送到遠程Web服務中。遠程的Web服務將接收到的SOAP請求進行拆包,將請求參數進行還原,并且根據這些參數來調用本地的Web服務,完成服務請求。當服務返回結果后,SOAP封裝器將結果進行封裝成同樣與程序設計語言無關的SOAP響應,并且送回給SOAP代理。SOAP代理最后要把返回的結果數據進行拆包,送給調用它的Portlet。

2.3.2 遠程門戶網站 Web 服務
??? 遠程Web服務器,即另外一個Portal,在UDDI目錄中發布Portlet作為遠程門戶 Web服務。這樣本地Portal在UDDI目錄中就查找遠程的Portlet服務并且與他們捆綁在一起。這樣使得本地Portal用戶不需要在本地Portal服務器上安裝Portlet代碼就可以直接訪問遠程的Portlet服務。目前結構化信息標準促進組織(OASIS)成立遠程門戶網站 Web 服務(Web Services for Remote Portals,WSRP)技術委員會,由 IBM 擔任主席的 WSRP [3] 委員會創建 XML 和 Web 服務標準,該標準允許可視的面向用戶的服務和門戶網站或其它 Web 應用程序間的互操作性。WSRP定義一個通用、清晰的與Web服務交互接口和協議,該接口負責處理用戶交互信息以及生成符合門戶顯示的片段界面。下圖為遠程Portlet工作機制:當有用戶請求訪問其它的Portal服務器上的Web服務時,本地Portal服務器通過通用的Portlet代理就可以動態地同遠程Portal服務器的Portlets進行通訊。這樣以來就不需要在本地的Portal服務器中安裝相應的Portlet文件。為了達到這個目的,Portlets本身就必須作為Web服務提供給其它的Portlets,同時必須用WSDL來描述遠程Web服務接口。WSDL定義了所有遠程Portlets和所需的參數,以及返回值,相應的Portlet API的集合。這樣,遠程Portlet不一定非要用Java實現,它們也可以用其它的程序設計語言實現。
??? Web服務供應商如果想發布遠程Portlet Web服務,必須先發布適當的UDDI目錄入口,以便引導至用WSDL描述的遠程Portlet Web服務接口。
??? 遠程Portlet一旦發布,Portal管理員就可以用Portal管理工具來搜索UDDI目錄,查找用遠程Portlet Web服務接口(Remote Portlet Web Services Interface)實現的Web服務,預選一些經過匹配的Portlet Web服務,將它們加到Portal的Portlet注冊表中。

3、結論
??? 我們知道,每個企業當前都有許多企業應用系統,如電子郵件、文檔管理、企業資源規劃(ERP)、客戶關系管理(CRM)、供應鏈管理(SCM)等系統,各個系統沒有辦法獨立實現資源共享。應用Portlet技術可以合并多個企業應用,滿足系統之間無縫地共享和交換數據的需要,同時表現為一個可定制的基于瀏覽器的界面,實現用戶單點" title="單點">單點登陸(single sign-on)即可訪問各個經過授權的應用。從而給企業帶來如下好處:
??? 通過與客戶伙伴更緊密的聯系、提高生產力、縮短創新的周期,從而使收益增加;通過高效地運營、一致的基礎結構、良好的信息流和知識管理,使運營成本下降;通過訪問更多有關信息、單點訪問應用程序和協作工具,使生產效率得到提高,決策得以改善;通過良好的安全性和單點登錄,使得較少的密碼需要管理,達到更好的用戶體驗;通過共同的表達和一致的用戶界面,使培訓費用降低;統一的應用程序,可使它們的使用壽命延長,并可通過桌面和普及的設備等新方法訪問它們。
參考文獻:
[1] JSR 168 http://www.jcp.org/jsr/detail/168.jsp
[2]?Jetspeed: http://java.apache.org/jetspeed
[3]?WSRP: http://oasis-open.org/committees/wsrp
[4]?Web Sevies Description Language(WSDL)1.1 Erik Christensen ,Francisco Curbera,Greg Meredith,Sanjiva Weerawarana,2000
http://www.w3.org/tr/wsdl/
[5] IBM開發人員園地 http://www-900.ibm.com
The research of portlet –the key technology of Enterprise Information Portal
Keyword? Portlet Web service EIP

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 成人网18免费网 | 狠狠色狠狠综合久久 | α片免费看 | 禁视频网站在线观看漫画 | 国产欧美成人免费观看视频 | 免费视频不卡一区二区三区 | 青青青青久久精品国产h | 亚洲天堂网在线观看 | 成人午夜视频网站 | 国产成人综合久久精品亚洲 | 国产午夜一区二区在线观看 | 最新午夜| 在线观看深夜观看网站免费 | 色在线免费观看 | 午夜精品福利影院 | 国产做受视频激情播放 | 亚洲爆乳无码一区二区三区 | 香港一级a毛片在线播放 | 天天看天天爽天天摸天天添 | 亚洲第二页 | 国内视频在线 | 五月婷婷在线观看 | 无遮挡一级毛片呦女视频 | 日韩黄色大片 | 国产精品 日韩 | 国产黄色小视频在线观看 | 五月婷婷丁香在线视频 | 成人免费看黄网站无遮挡 | 欧美乱人伦中文在线观看不卡 | 久久久久综合一本久道 | 18无删减羞羞网站动漫 | 精品国产91久久久久久久 | 8844aa在线毛片 | h国产| 日韩欧美亚洲每日更新网 | 国产精品久久久久999 | 一本一道dvd在线播放器 | 一本到视频在线 | 精品无码久久久久久久动漫 | 500第一导航亚洲精品导航 | 在线播放精品 |