小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Liferay系列文章(一)Portal技術綜述

 荷露叮咚 2008-09-30

從上世紀八十年代起,隨著個人計算機(PC)的發(fā)展,企事業(yè)單位逐步建立起計算機應用系統(tǒng)來處理傳統(tǒng)事務。從簡單的單機應用逐步發(fā)展到局域網系統(tǒng),進而建立跨地區(qū)垮國家的廣域網系統(tǒng)。從單純的以科學計算和數據管理為主的系統(tǒng)逐步發(fā)展成綜合的信息處理系統(tǒng)和辦公自動化系統(tǒng)。從九十年代起隨著互聯網的普及,企事業(yè)單位的計算機應用系統(tǒng)也進入了互聯網時代,以Web網站為核心的面向全球的信息系統(tǒng)正在廣泛建立。

在企事業(yè)單位內部的各種信息系統(tǒng)逐步發(fā)展完備的情形下,新的問題新的需求逐步浮現出來:各種信息系統(tǒng)自成一體,使用和維護成本增大;信息資源不能共享,數據一致性維護的成本太高;用戶需要多次重復登錄進入不同系統(tǒng),操作繁瑣,工作效率受限;用戶不能按需獲取信息定制內容;現有系統(tǒng)缺少用戶之間的協(xié)作支持等等。因此,如何將各階段建立起來的各式各樣的信息系統(tǒng)資源重新整合,即把一個個的信息孤島有效地聯結起來,通過一個“港口”簡便進出,正在成為信息系統(tǒng)深化發(fā)展的首要問題。

Protal (門戶)技術的出現,帶來了解決這些問題的良方。Portal以用戶為中心,提供統(tǒng)一的用戶登錄,實現信息的集中訪問,集成了辦公商務一體的工作流環(huán)境。利用Portal技術,可以方便地將員工所需要的,來源于各種渠道的信息資料集成在一個統(tǒng)一的桌面視窗之內。根據Portal提供的定制功能,部門主管可以為本部門人員量身定制一套特有的信息門戶,將部門共同所需信息有效地組織在統(tǒng)一的Web瀏覽器之中,并可根據人員級別和職能來設定相應的訪問操作權限。

早在九十年代中期就有人提出了Portal的概念。最初出現的是像Yahoo這類的互聯網服務商的Portal網站,后來出現了一些行業(yè)性Portal網站。早期由于沒有相關的標準規(guī)范,Portal網站技術五花八門,產品功能和品質參差不齊,因而難以獲得人們的認可,Portal技術的應用,Portal網站的發(fā)展出現過短暫的停滯。

隨著Web技術的廣泛應用和Web相關標準的逐步完善,特別是在2003年獲得業(yè)界通過的兩個標準——JSR-168WSRPPortal的發(fā)展確立了方向,更是隨著SOA理念的實際化使得Portal愈加火熱起來。

一、Portal架構

(一)PortalPortlet概念

Portal”一詞在英語中解釋為“入口,大門”,中文翻譯為“門戶”。在SunPortlet技術規(guī)范JSR-168Java Specification Request 168)中定義為:Portal是基于Web的應用,通常提供個性化,單點登錄,整合不同資源的綜合信息展示平臺。

Portal展現在最終用戶面前的是類似于Web網頁的Portal頁面,也許有些Portal主頁制作的更像是一個桌面系統(tǒng)的界面,更能獲得用戶的認可。

構成Portal頁面的是能夠建立和展現不同內容的一系列Portlet。Portal使用Portlet作為可插拔用戶接口組件,提供信息系統(tǒng)的表示層。

Portlet是部署在特定容器內用來生成動態(tài)內容的可重用Web組件。Portlet處理從Portal傳遞來的用戶請求,動態(tài)生成輸出內容的一個片段,展現在Portal頁面的某個位置上。

Portlet的主要特點:

Portlet 是基于Java技術的Web 組件。

由專門的容器管理 Portlet

Portlet用于生成動態(tài)內容。

Portlet只生成標記片段,并不產生完整的Web頁面。由Portal負責將Portlet片段整合成完整的Portal頁面。

Portlet不直接捆綁到URL。

Web用戶通過PortalPortlet進行交互。

Portlet具有預定義的模版和視窗狀態(tài)。

Portlet容器是Portlet的運行環(huán)境,它負責管理Portlet的生命周期,保存Portlet的定制信息。通俗的講,Portlet容器就是Portlet組件工作的管理器,這一點類似于Servlet容器和Servlet之間的關系。

(二)Portal結構

Portal是一個Web頁面,它由一個或若干個Portal頁面組織而成。而每個Portal頁面又是由一個或若干個Portlet窗口構成的——Portlet是以窗口的形式出現在Portal頁面里。如圖1所示是一個Portal頁面結構的示例,有四個Portlet窗口。

 

Portlet窗口由兩部分構成:其一是外觀,包含有標題條、窗口控制和邊框樣式;其二是內容,即Portlet片段。

2顯示了Portal服務器、Portlet容器以及Portlet之間的關系。

(三)Portal組成架構

Portal系統(tǒng)一般由Portal服務器、支持ServletJava應用服務器或Web服務器、數據庫服務器、LDAP服務器組成,此外還可以加上身份認證和訪問控制服務器(Identity ServerAccess Manager)等。前面所說的Portlet容器通常是打包在Portal服務器中的。

有的Portal系統(tǒng)可以工作在具有Servlet容器的Web服務器上,但多數Portal要求在Java應用服務器上運行。如Liferay Portal既能在TomcatServlet容器+Web服務器)上使用,也可以在JBossASJava應用服務器+Web服務器)上運行,而JBoss Portal只支持JBossASJava應用服務器。

通常,Portal的定制信息是保存在數據庫中的,幾乎所有的Portal系統(tǒng)產品需要數據庫管理系統(tǒng)的支持。

LDAP服務器主要用在用戶管理、身份認證和權限管理上。有些Portal系統(tǒng)也支持使用數據庫來管理用戶身份和權限。

為了解決用戶單點登錄和訪問控制問題,也許還要增加這方面的專業(yè)服務軟件,如Idengtity ManagerAccess Manager等。

此外,Portal服務器也支持其它應用服務系統(tǒng)的協(xié)同工作,比如同電子郵件(Email),網絡交談(Chat),網絡會議(Web Conference),以及基于Lotus DominoOA系統(tǒng)等直接對接聯動。

(四)Portal應用架構

4Portal應用的一個示例架構圖。

(五)Portal主要功能

1、單點登錄(SSOSingle Sign-On):Portal提供對各種應用系統(tǒng)和數據的安全集成,用戶只需從Portal服務器登錄一次就可以訪問其它應用系統(tǒng)和數據庫。對于安全性要求較高的業(yè)務系統(tǒng),如電子銀行、電子交易系統(tǒng)等,通過傳遞用戶身份信息,如數字證書信息、數字簽名信息等進行二次身份認證,保證單點登錄的安全性。單點登錄既減少了用戶在多個應用系統(tǒng)反復登錄多次認證的麻煩,更是簡化了各種應用系統(tǒng)對用戶及其權限的一致性維護管理。

2、資源整合:能夠把各種不同應用的內容聚合到一個統(tǒng)一的頁面呈現給用戶,實現同應用系統(tǒng)實時交換信息。能夠從各種數據源如數據庫、多種格式的文件檔案、Web頁面、電子郵件等集成用戶所需的動態(tài)內容。

3、定制與個性化:能夠為不同角色的用戶制定不同功能權限的Portal頁面。同時,用戶自己也能夠按照喜好在規(guī)定的權限下定制自己風格的頁面和內容,如可以定制Portal頁面,取舍不同功能和內容的Portlet窗口,自行布置Portlet窗口的擺放位置,可以對Portlet窗口外觀,如標題,圖標,顏色等進行個性化設置。

4、協(xié)作功能:為用戶提供即時討論,聊天,論壇,電子郵件以及語音或視頻會議等功能。

5、工作流:支持根據業(yè)務處理規(guī)則建立起來的工作流任務處理,比如審批流程等待辦事宜。

6、信息檢索:從多種數據源檢索動態(tài)信息資料。

7、客戶端:除了Web瀏覽器外,可以為PDA和手機提供接口,實現移動接入服務。

二、Portal標準

建立一個以標準為依托的Portal才能很好地保護自己的投資,既便于同現有應用系統(tǒng)連接,也使得同第三方的相關產品更容易接口。在2003年先后發(fā)布的JSR-168WSRP兩大標準為Portal的發(fā)展奠定了基礎,結束了戰(zhàn)國紛爭的局面,Portal的發(fā)展和應用將會更加廣闊長遠。

下面介紹幾個與Portal緊密相關的技術標準:

1、WSDL——Web Service Description Language

Web服務描述語言。WSDL是用來描述Web服務和說明如何與Web服務通信的XML語言。WSDL語言使用XML格式來描述信息的接口、訪問格式和處理形式。

WSDL描述信息內容。

2、SOAP——Simple Object Access Protocol

簡單對象訪問協(xié)議。SOAP是一種在無中心的分布式環(huán)境下,應用系統(tǒng)之間交換結構化信息和特定類型的信息所使用的基于XML的輕量級協(xié)議。SOAP允許任何信息對象在任何語言、任何平臺上使用多種傳輸協(xié)議實現傳輸處理。

SOAP定義信息的傳輸處理。

Web應用環(huán)境中,通常把SOAPWSDL結合起來,利用HTTP協(xié)議實現應用系統(tǒng)之間交換各種類型的信息對象。

3、JSR -168——Java Specification Request - Portlet Specification

Java Portlet規(guī)范。JSR-168為業(yè)界明確了Portal的定義,制定了Portlet規(guī)范標準,從而解決了基于JavaPortal之間,以及同其他Web應用系統(tǒng)之間的互操作性。遵循JSR-168Portlet將具有適用于所有Portal服務器和Web應用系統(tǒng),支持多種類型的客戶端,支持本地化和國際化,具備確定的安全性,允許Portal應用程序熱部署和重新部署。

4、WSRP——Web Services for Remote Portlets

遠程Portlet Web服務協(xié)議。WSRP定義了PortalPortlet容器服務之間標準化接口的一個Web服務標準。WSRP允許在Portal之間或其他Web應用上即插即用,具有互操作性,提供可視化的、面向用戶的遠程Web服務。

遠程Portlet在遠程服務器上作為Web服務運行,其服務可以發(fā)布到公共的或單位自己的UDDI服務器上。Portal或其他支持WSRP的應用系統(tǒng)通過UDDI服務來查找并使用遠程系統(tǒng)提供的WSRP服務內容。

WSRP的典型應用是把天氣預報、即時新聞、股市行情等嵌入到自己的Portal中(在國外有專門的WSRP內容提供商提供這種服務)。

WSRP使用了WSDL定義應用程序的接口,并以SOAP作為通訊標準。

5、其他規(guī)范標準

此外還有一些與Portal有一定關聯的技術標準,在開發(fā)建立Portal應用中將會使用到:

UDDIUniversal Description,Discovery and Integration

JSR-170/283Java Specification Request - Content Repository for Java Technology API

JAASJava Authentication and Authorization Service

LDAPLightweight Directory Access Protocol

SAMLSecurity Assertion Markup Language

BPELBusiness Process Execution Language for Web Services

三、Portal應用實現

Portal可以從本地或遠端獲得數據資源:數據資源可以來自于本地或異地的數據庫,應用系統(tǒng),公共信息內容供應商(RSS,提供新聞、財經信息、天氣預報等),Web站點或其他Portal。此外,Portal還可以提供日歷、工作流、電子郵件、論壇、博客、Wiki、即時交談、電子會議等等協(xié)同工作的應用功能??梢姡?/span>Portal是一個有別于傳統(tǒng)桌面應用和Web網站的全新應用系統(tǒng),是各種信息處理的集中展現平臺,是用戶日常工作的綜合臺面。

顯然,建立一個良好的Portal應用需要充分考慮各種應用系統(tǒng)和數據資源的整合問題:

1、現有應用系統(tǒng)和數據資源的利用  對能夠改造利用的,要開發(fā)相應的Portlet組件來重新實現;對不能改造的可以通過鏈接的方式跳轉到這些系統(tǒng),其中的數據庫資源可以采取單純讀取的方式獲得;還有些封閉的專業(yè)應用系統(tǒng)可能完全無法接入Portal,可以采取定期卸載的方式獲得它的數據庫資源。

2、新建應用系統(tǒng)的考慮  需要以Portal理念進行設計,按照相關標準來開發(fā)實現應用功能的Portlet組件,然后集成到Portal系統(tǒng)使用。

3、單點登錄與權限管理  對于新建應用系統(tǒng)或能夠改造的現有應用系統(tǒng),通過Portlet組件比較容易實現單點登錄,進行統(tǒng)一用戶認證和用戶權限的控制。當然,對那些安全性要求較高的應用系統(tǒng)還可以在這些系統(tǒng)內部進行二次認證和授權處理。對那些不能改造的應用系統(tǒng)顯然也無法實現單點登錄,用戶需要重新登錄到這類系統(tǒng),用戶管理和權限控制還依賴于這些系統(tǒng)自己處理。

(一)單點登錄和權限控制

單點登錄是為了方便用戶進入多個應用系統(tǒng),減少用戶多次登錄,免除用戶記憶多套用戶名和密碼的麻煩。

單點登錄涉及到兩個問題,一是身份認證,二是權限控制。

身份認證是Portal系統(tǒng)提供訪問控制的第一步,即確認用戶是誰,能否進入系統(tǒng)。通常要求用戶提供用戶名和口令,必要時要求提供用戶的數字證書,也可以配合使用IC卡、指紋等驗證手段。

權限控制或授權確定一個用戶的角色和級別,從而控制用戶的訪問許可,即決定用戶能查閱哪些資料,能進行哪些操作等等。Java EE架構采用了基于角色的訪問控制策略(RBAC)。RBAC的基本思想是把對用戶的授權劃分成兩個分配關系,即“用戶—角色”和“角色—權限”。RBAC的好處是便于應用系統(tǒng)的開發(fā),使得程序設計相對獨立和透明化,只是在應用系統(tǒng)部署使用時才通過“角色”把“用戶”和“權限”關聯起來,而且對用戶和權限的調整配置容易實施。

用戶與角色之間是多對多的關系,即一個用戶可以被分配給多個角色,多個用戶也可以分配給同一個角色。

角色與權限之間也是多對多的關系,即一個權限可以與多個角色相關,一個角色也可以包含多重權限。

Sun公司建立了具有可堆疊和可插接功能的JAAS框架,為Java應用系統(tǒng)提供安全而靈活的身份認證和授權機制。如在JBossAS應用服務器環(huán)境下,利用JAAS技術,JBossAS提供了幾種身份認證模塊(使用者也可以自己編寫新的身份認證模塊),并且可以實現多級認證(堆疊)。對Web應用和EJB等則通過配置文件定義訪問角色和訪問方式以實現安全控制。對沒有提供JAAS支持或支持不足的Web服務器或Java應用服務器,使用者需要在自己的應用程序中編寫相關代碼或模塊來支持JAAS實現身份認證和權限管理。

此外還需要考慮不同領域內不同應用之間的信任關系,解決跨越應用系統(tǒng)的身份認證和訪問控制問題。這一點需要用到SAML,FederationLiberty等技術規(guī)范,通過傳遞用戶認證資料取得應用系統(tǒng)之間的認證互信。

專業(yè)的Web服務軟件公司能夠提供比較全面的解決方案,其產品為Web環(huán)境下的各種應用提供可靠的身份認證和訪問權限管理。比如Sun公司的Access Manager 7.1Oracle公司的Oracle Access Manager 10g,IBM公司有Tivoli Access Manager(提供用戶單點登錄)和Tivoli Identity Manager(解決訪問控制問題),還有BEA公司的BEA AquaLogic Enterprise Security等。

相比之下,開源軟件在這方面比較瘦弱,基本上沒有專門的軟件產品,只能提供一定的支持方案。例如通過對JBossASTomcat做一些配置,可以支持使用耶魯大學的CAS實現單點登錄功能,也能夠實現JAAS來獲得用戶身份認證和對應用資源的訪問控制。這樣,建立在JBossASTomcat之上的應用如JBoss Portal,Liferay PortalApache JetSpeed當然也就具備了這些功能了。

在用戶管理、身份認證和權限控制方面,無論是商業(yè)的或開源的Portal產品多數喜歡采用LDAP,當然也有的支持使用數據庫。LDAP的好處一是它可以方便的按類別存儲任何類型的數據信息;其二,它的樹形存儲結構類似于一個企事業(yè)單位的組織架構,容易對應;三是它同應用系統(tǒng)接口容易,各個LDAP產品的接口都一致無需特別配置;四是它對數據信息的訪問安全控制方便;五是它偏向于相對固定數據信息的查詢使用,效率較高,維護也方便。

(二)Portlet開發(fā)

建立Portal應用系統(tǒng)的主要任務之一就是設計各式各樣的Portlet組件,實現應用系統(tǒng)的各種功能。雖然多數Portal系統(tǒng)會附送一些常用的Portlet組件,可以滿足一些公共服務需要,但跟本單位工作事務和業(yè)務處理相關的大量Portlet組件必須有專門人員進行細致的設計和開發(fā)。

Portlet的設計開發(fā)有必要遵循JSR-168規(guī)范和WSRP標準,以適合各種類型的Portal服務器。在具體的實現上,也將會用到WSDL、SOAPUDDI相關技術規(guī)范,以便同Web服務應用系統(tǒng)進行信息交互處理。

開發(fā)Portlet主要有兩種方法,一是借助于Portal產品商提供的可視化的預制開發(fā)工具,二是應用Java語言直接編程。預制開發(fā)工具為Portlet開發(fā)者提供了許多有益的幫助,如自動產生必要的配置文件,預制了程序代碼框架,提供所見即所得編輯和調試環(huán)境等等。但無論如何,Portlet開發(fā)的重點是Portlet片段內容的產生和處理,主要以JSP為主配合HTMLJavaScript等網頁開發(fā)技術,再借用JSFStruts,Hibernate等框架來簡化開發(fā)。

Portlet處理信息資料主要有以下三種情況:

1、Portlet在本地直接處理信息資料

Portlet在本地直接同數據庫、LDAP或其他數據存儲系統(tǒng)進行查詢、更新等操作,也可以使用其他Java資源如JavaBean、EJB組件進行交互處理。

2、Portlet訪問其他應用系統(tǒng)的Web服務

Portlet需要訪問其他應用系統(tǒng)資源時,一般是采用SOAP技術實現對Web服務的請求操作,如圖5所示。

3、Portlet訪問其他Portal服務

Portal可以把公共的Portlet信息發(fā)布到UDDI資源中心,以供其他Portal選擇使用。需要其他Portal提供特定服務的Portal可以通過在UDDI中心查找定位來獲取需要的Portlet提供服務(圖6)。此種情況使用了WSRP技術來實現。

(三)Portal定制

1、業(yè)務處理

有別于傳統(tǒng)的應用系統(tǒng)的開發(fā),開發(fā)Portal應用的重點是Portlet,并每個Portlet并不是一個完整的系統(tǒng)而是一個實現特定信息處理功能的Web組件。因此,如果要把一個傳統(tǒng)的應用系統(tǒng)全部轉換到Portal來,就需要把原系統(tǒng)進行分解,把每個操作功能重新用Portlet來實現(不一定是一對一的),然后根據系統(tǒng)處理的要求組裝到Portal頁面上。

用戶在使用傳統(tǒng)的應用系統(tǒng)時,是從一層層的菜單逐級進入實際操作程序的界面的,操作繁瑣,使用不便,容易遺漏。轉入Portal系統(tǒng)后需要簡化這種使用方式,把應用系統(tǒng)操作程序制作成的Portlet組件,直接嵌入某個Portal頁面上或者按操作類型,時間先后或緩急程度順序放置在“待辦事宜”列表中,提示用戶快速處理。

Portal頁面的組裝即頁面布置跟用戶的級別和角色有關。Portal架構員需要根據每項業(yè)務的處理流程和每個Portlet的功能,按照每類用戶的級別和角色來配置用戶的Portal頁面。與用戶無關的或無操作權限的Portlet不應該出現在用戶的Portal頁面上,用戶也不能把它添加進來。對于用戶必須使用的Portlet也要限制使用者不能把它從Portal頁面中移除出去。

2、協(xié)作功能

提供同事之間的協(xié)同工作支持是Portal的功能之一。協(xié)同工作主要包括電子郵件、實時交談(Chat,類似于QQ)、網絡會議(語音或視頻會議)、維客(Wiki,允許參與者修改討論的文章)、博客(Blog)、留言等等。在工作處理中遇到疑問需要向同事了解情況,可以即時開啟Chat展開討論,也可以召開網絡會議。

另外可以設計一個手機短信Portlet,把需要盡快處理的事項及時發(fā)送短信通知相關人員。

有的Portal產品附帶了一些協(xié)同工作的Portlet和服務軟件,有的需要專門購買,也有開源軟件可以免費使用。

3、其他功能

提供諸如信息檢索、公告、新聞、日歷、通信錄等輔助功能以方便工作。如果連接互聯網,還可以獲取天氣預報,提供證券行情等公共服務。

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多