摘要:提出了一種面向門戶中間件Web應用的深度集成模型。該模型可以對已有Web應用的邏輯層和表示層同時加以整合,從而大大提高了已有系統的重用性,簡化了Portlet開發。該模型已經在實際項目中得到了驗證。
關鍵詞: 門戶;Web應用; Portlet;集成
中圖分類號:TP301文獻標志碼:A
文章編號:1001-3695(2007)05-0020-04
0引言
門戶以Web的方式提供了對信息資源的單一訪問入口,其發展過程可以分為三個階段:①Internet門戶網站階段。例如Yahoo等,主要通過搜索、分類等幫助用戶快速定位信息。②企業信息門戶(Enterprise Information Portal,EIP)階段。用戶通過EIP可以訪問企業內部的各種分布信息,此階段門戶主要集成靜態HTML頁面。③集成門戶階段。現階段人們更希望通過門戶集成已有的應用系統,從而可以一站式地訪問各種信息系統,并實現交流協作。Web應用集成已經成為目前對門戶最迫切的需求。
門戶中間件(Portal Middleware)提供了構建門戶的支撐技術,是構建、運行和維護門戶的平臺。絕大多數門戶中間件,如IBM Websphere Portal[1]、PlumTree Portal[2]、Oracle Portal[3]、eXo[4]等,都遵循由Portlet容器、Portal服務器及Portlet構成的體系結構。現有門戶中間件集成Web應用有以下幾種方式:①鏈接引用。簡單地通過
以上方法中,首頁集成方法重用了已有應用的部分表示層功能,而特定應用集成和功能包裝集成則僅僅重用了已有系統的業務邏輯。它們在一定程度上實現了應用在門戶中的統一展現,但是都不夠靈活,不能同時將已有應用的業務邏輯和界面樣式同時集成到Portal中,沒有實現深度集成。應用同門戶的深度集成是指將應用以黑盒的方式封裝為Portlet,并僅使用URL請求進行訪問的集成方式[5]。通過深度集成,可以對已有的Web應用邏輯層和表示層同時加以整合,從而大大提高了已有系統的重用性,簡化了Portlet開發。
1Web應用集成模型
1.1場景示例
考慮一個企業門戶具體的使用場景,用戶每天需要訪問OA、ERP和CRM等系統。通常用戶訪問固定的頁面來獲得所需信息,如銷售經理每天會訪問OA系統中的工作計劃頁面。在采用門戶技術之前,用戶必須登錄到每個系統,通過一系列的菜單選擇,直到轉到需要訪問的頁面。而在采用門戶技術后,用戶登錄到門戶后將看到一個集成的Web頁面,其中包含了工作計劃和其他信息。其關鍵在于如何將原有Web應用指定頁面的片段組合起來,形成新的Web頁面,同時保留該Web應用的上下文環境。
1.2集成模型
門戶中對Web應用的深度集成等同于以黑盒的方式將Web應用包裝為Portlet,因此只能使用Web應用產生的HTML頁面進行處理和轉換。具體來看,集成是將Web應用實例轉換為Portlet實例的過程。
Portlet是一種類似于Servlets的Web組件,是為了將不同頁面中的內容聚集在一起而專門設計的。通常請求一個Portal頁面會引發多個Portlets被調用。每個Portlet都會生成標記段,并與其他Portlets生成的標記段組合在一起嵌入到Portal頁面內[6]。
3.3實現與應用
在網馳平臺門戶中間件(ONCE Portal)項目中,基本實現了面向門戶中間件的Web應用集成,并且在很多項目中得到了應用[12]。ONCE Portal中WAIP在processAction()方法解析Wrap_Path并獲得相應內容片段后,doView()方法顯示該內容。方法processAction()的時序圖如圖2所示。
在ONCE Portal中,集成的過程與3.2節所述流程類似。借助深度集成模型,用戶可以很方便地將已有Web系統內容片段的界面和邏輯同時集成到Portal中。
4結束語
Web應用集成已經成為當前對門戶最迫切的需求。通過本文提出的面向門戶中間件的Web應用集成模型,可以方便地將分布在多個遠程服務器上的Web應用的內容片段包裝為Portlet,并在Portal中統一展示,從而有效地整合并利用已有的分布式資源,為用戶在正確的時間提供正確的信息[13]。
在今后的工作中,將對WAIP的集成路徑作進一步的改進,提高集成效率,并考慮如何在單點登錄系統中進行內容的集成。
參考文獻:
[1]IBM websphere portal[EB/OL].http://www-306.ibm.com/software/info1/websphere/index.jsp?tab=products/portal.
[2]Plumtree portal(now acquired by BEA)[EB/OL].http://www.plumtree.com/.
[3]Oracle portal[EB/OL].http://www.oracle.com/appserver/portal_home.html.
[4]Exo platform[EB/OL].http://www.exoplatform.com/.
[5]DIAZ O,PAZ I.Turning Web applications into portlets:raising the issues:proceedings of the 2005 Symposium on Applications and the Internet (SAINT’05)[C].[S.l.]:[s.n.],2005:31-37.
[6]JCP.JSR 168 portlet API specification 1.0[EB/OL].http://www.jcp.org/aboutJava/communityprocess/review/jsr168/.
[7]W3C. HTML 4.01 specification[EB/OL].[1999-12-24].http://www.w3.org/TR/REC-html40/.
[8]W3C.XML path language (XPath), version 1.0[EB/OL].[1999-11-16].http://www.w3.org/TR/xpath.
[9]BALSOY O, AKTAS M S,AYDIN G,et al.The online knowledge center:building a component based portal:International Conference on Information and Knowledge Engineering[C].[S.l.]:[s.n.],2002.
[10] CATLEDGE L D,PITKOW E J. Characterising browsing strategies in the World Wide Web:proceedings of the 3rd International World Wide Web Conference[C].[S.l.]:[s.n.],1995.
[11]DIAZ O,PAZ I. Invoking Web applications from portals:customization Implications [C]// BRA P de,NEJDL W.Adaptive hypermedia and adaptive web-based systems:the 3rd International Conference (AH 2004).[S.l.]:Springer-Verlag,2004:75-84.
[12]ONCE portal[EB/OL].http://www.once.com.cn/product/onceportal.jsp.
[13]ZHANG Yongjin, CHEN Hongqi,XIE Jiancang.Study on intelligent information integration of knowledge portals:FSKD2005[C].Heidelberg:Springer-Verlag,2005:1136-1141.
注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”