浙江工業(yè)職業(yè)技術學院 何帥慧
基于liferay的校園政務系統(tǒng)實現(xiàn)
浙江工業(yè)職業(yè)技術學院 何帥慧
數字化校園政務系統(tǒng)的建設仍然存在很多策略和技術問題需要解決。從Portal技術的建設目標出發(fā),探討了Portal的體系結構、工作流原理和其實施方案。根據校園政務平臺建設的需要,提出了一套基于liferay技術的校園政務平臺建設方案,從而使得在構建數字化校園的過程中系統(tǒng)融合、信息集成和校園政務工作流實現(xiàn)的問題得到解決。通過Portlet技術構建的校園信息門戶,和基于OKF的校園工作流系統(tǒng),減小了系統(tǒng)的實現(xiàn)難度,提高了工作效率,在數字化校園的建設中發(fā)揮了重要的作用,并取得了良好的效果。
liferay技術;校園政務系統(tǒng)
在新的形式下,國內高校為順應時代的需求,紛紛積極構建并逐步構思自己的“數字化校園”計劃。數字化校園是以網絡為依托,利用先進的信息化技術和工具,實現(xiàn)從環(huán)境、資源、到活動的全部數字化,在傳統(tǒng)校園的基礎上構建一個數字空間,以拓展現(xiàn)實校園的時間和空間維度[1]。數字化校園中存在不少問題,主要表現(xiàn)在幾個方面,一是各應用系統(tǒng)缺乏協(xié)作性;二是缺乏統(tǒng)一規(guī)劃,信息不能有效共享;三是彼此之間不能實現(xiàn)數據訪問,形成信息孤島[2];四是用戶登錄系統(tǒng)需分開進行,沒有形成統(tǒng)一的接口。五是沒有統(tǒng)一有效的規(guī)劃,整個數字化校園的不易擴展?;谝陨纤狞c,數字化校園系統(tǒng)用戶迫切的需要建設一個具有統(tǒng)一門戶的,能提供用戶統(tǒng)一入口的統(tǒng)一服務系統(tǒng),并能整合現(xiàn)有數字資源,提供個性化的信息服務,解決信息及時傳輸、信息分享、協(xié)同處理業(yè)務過程中產生的問題。
Liferay Portal作為一個開源的Portal項目,利用Hibernate、Struts、Spring等開源框架,實現(xiàn)了JCP JSR168規(guī)范中提出的Portal功能,在開源Portal系統(tǒng)中有比較典型的代表性。與其它門戶相比,他還包含了很多portlet資源,比如翻譯、google搜索、地圖、日程等。通過對這些現(xiàn)有資源的利用,可以減少了軟件開發(fā)人員的工作量,降低了軟件開發(fā)成本。同時,它提供了一整套良好的開發(fā)框架,使得開發(fā)者可以通過SOAP、RMI和自己定義的通道類訪問暴露的API來操作portal。
因而基于Liferay Portal技術建立一個數字化校園門戶系統(tǒng)顯得尤為重要,也切實可行。
Portal是基于Web的,以“應用整合”和“消除信息孤島”為最終目的,提供單點登錄、內容聚合、個性化門戶定制等功能的綜合信息系統(tǒng)。在隨著網絡信息花的不斷推進,以及Portal的興起,越來越多的公司開始涉足Portal產品開發(fā),并組建各自的Portal組件和基于其的產品,比如IBM、BEA、MicroSoft、SAP、Apache等。各個廠商的接口互不兼容,給軟件開發(fā)商以及開發(fā)人員帶來諸多不便。為此,JCP組織發(fā)布了JSR168(Java Specification Request),Portlet Specification V1.0,用來提供不同的Portal和Portlet之間的互通性。只要開發(fā)的Portlet遵循JSR168,則就可以在所有遵循JSR168的Portal上部署運行。JSR168中定義了Portal的實現(xiàn)規(guī)范和接口,并對理想的Portlet進行了詳細的規(guī)劃和描述。
Portlet是Portal中最重要的組件,負責在Portal中呈現(xiàn)信息內容,有相應的生命周期。通過自定義Port-let,用戶很容易定義個性化的Por-tal頁面。一個Portlet是以Java技術為技術的Web組件,由Portlet容器進行管理、處理請求并返回動態(tài)頁面,它可以作為Portal的可即插即用的界面組件。專門處理客戶的request以及產生各種動態(tài)的信息內容。
校園信息門戶(Campus Information Portal)CIP的建設目標是建一個統(tǒng)一的、開放的、可提供信息發(fā)布與共享的以及提供多種應用服務的,具有高可靠性、高可用性、性能高運行性、高安全性和高可管理性的門戶,并以門戶的方式提供服務。因此,門戶必須為用戶提供統(tǒng)一的信息入口,并且為用戶在任何地點提供安全、快捷地所需資源的訪問。作為通往信息訪問和管理的真正網關,校園信息門戶是集成校園應用程序,以及向用戶提供高效和完善環(huán)境的最佳位置。通過將校園應用程序集成到門戶的方式,所有用戶可統(tǒng)一、持續(xù)地訪問信息。用戶無需了解也無需關心信息的來源,信息是通過瀏覽器推向用戶。
學校目前通過Portal,將已有的應用系統(tǒng)全部向Portal集成。新的應用系統(tǒng)全部遵循JSR-168標準,可以非常方便地和整個Portal進行集成,通過WSRP來和遠程Portlet進行信息交互。圖1是展示了Portal的技術框架。
工作流管理系統(tǒng)的主要功能有流程定義、流程管理、工作流引擎、任務處理、任務分析和統(tǒng)計等。它采用J2EE作為系統(tǒng)開發(fā)框架,J2EE提供一個穩(wěn)定的易于管理的環(huán)境,這個環(huán)境支持業(yè)務處理、消息傳遞和持久性工作流邏輯。使用一個靜態(tài)Bean(過程管理Bean)作為一個服務協(xié)議來接受過程管理請求和WebService激活請求;使用一組消息beans(任務處理Bean,錯誤處理Bean)來保證過程流程控制的可靠性;使用三個實體bean保存過程信息。所有這些商業(yè)邏輯都不是用EJBs來實現(xiàn)的,但是,大部分請求實際上都是由OKF進行處理,OKF是工作流系統(tǒng)的核心部分,而且J2EE提供了一個服務協(xié)議和一個環(huán)境實現(xiàn)方法。
工作流管理系統(tǒng)以Web Service接口連接作為連接組件,該工作流系統(tǒng)的工作流組件,執(zhí)行引擎,工作任務分配,過程設計,運行和管理網絡協(xié)議等等都是通過Web Services接口(SOAP)來整合。這樣更容易更替組件以及提高各個組件的重用性。例如:該工作流系統(tǒng)的自定義分布與Liferay的協(xié)議系統(tǒng)通過SOAP整合,后者是EIP解決方案的開放源碼項目。開發(fā)者很容易通過WSDL定義替換工作表系統(tǒng)。同時,它是基于stack的源代碼,該工作流系統(tǒng)僅采用了開放的源代碼作為自己的stack。使用Apache的Axis來作為Web Service樁生成器。WSDL4J提供綁定信息,UDDI4J與UDDIbrowser實現(xiàn)Web Services的發(fā)現(xiàn)功能。并且,擁有廣泛的持久化機制–XML序列化與實體beans,該工作流系統(tǒng)在XML和對象下執(zhí)行一個廣泛的數據類型。為了避免使用復雜的表示結構,它采用XGen來序列化所有對象,XGen是一個開源的JAXB工具包,并且可以存儲實體beans。這是一種簡單且實用的不通過復雜的數據設計來表現(xiàn)多樣數據的解決方案。
數字化校園政務信息平臺是通過在經典型門戶的體系結構[3]的基礎上進行擴展得到的。統(tǒng)一門戶平臺是數字化校園的高級表現(xiàn)形式。門戶服務位于各類應用之上,作為數字化校園對內對外的窗口,以瀏覽器的方式向用戶展現(xiàn)數字化校園的應用信息。
信息的統(tǒng)一輸出方式,實現(xiàn)信息的分層次、分權限、個性化輸出。外網門戶將資源分為結構化數據,非結構化數據,應用系統(tǒng)三類,采用相應的接入網關和整合封裝技術對接入的信息資源進行集中登記發(fā)布,整合各類應用系統(tǒng),使得校園用戶自由定制個性化的信息內容。對各種資源進行統(tǒng)一的目錄化管理,對所有用戶進行分類、分組管理?;诮y(tǒng)一目錄管理體系的授權認證,該授權認證可實現(xiàn)用戶和欄目之間的雙向授權。統(tǒng)一門戶平臺在整個數字化校園里為用戶提供校園各種信息單一訪問點的服務,即統(tǒng)一身份認證和單點登陸,通過校園統(tǒng)一信息門戶提供的全面信息和服務,用戶可以在特定的權限內使用校內各應用子系統(tǒng)或者訪問相應的數據信息。通過功能強大的個性化門戶,校內師生能夠迅速、便捷地查找和訪問各種資源,滿足完成課程或項目的需求。
在面對現(xiàn)有零散的應用系統(tǒng)問題時,我們采取的方法是建設統(tǒng)一信息門戶進行信息和資源的整合,在Portal中,Portlet不僅僅是作為一個小窗口,而且是一種應用,是業(yè)務整合的工具,這樣我們就擁有了一個很好的信息集成和應用集成的平臺。例如,一個NwesPortlet可以完成收集信息、列出當天最重要的新聞、進行信息檢索等功能:因此,有了這些針對不同業(yè)務應用的Portlet,用戶就可以根據自己所屬權限定制自己的門戶,從一個統(tǒng)一的界面訪問信息、進行網上交互、與其他人進行協(xié)同工作,從而完成對整個應用系統(tǒng)的訪問。
數字工大集成應用程序的方法有兩種:(l)加載已有的Portlet應用.對于已有的Portlet應用,只需將應用的.war文件部署到web服務器上,再增加或修改相應的配置文件就可以很方便的將其注冊部署到Portal容器中并發(fā)布。(2)創(chuàng)建新的Portlet以集成應用程序Portlet將門戶開發(fā)的自定義和集成功能賦予最終用戶。用戶能夠通過自助式界面自定義門戶內容和集成數據。
信息門戶系統(tǒng)具有全面的后臺集成特性,使得集成事件、應用和數據到門戶中更為容易。這就意味著用戶不需要重新構建已有系統(tǒng)和業(yè)務過程。
高校的信息源產生的數據流被封裝為Portlet發(fā)布到門戶平臺,在發(fā)布Portlet的同時將該Portlet的注冊信息加入到用戶權限數據庫,由管理員對用戶進行授權,然后授權用戶才能使用。
圖1 Liferay技術框架
圖2 校園門戶框架圖
圖3 OKF的反轉控制
圖4 數字工大門戶運行界面
圖5 工作流系統(tǒng)運行界面
工作流(Workflow)就是業(yè)務流程的計算機化或自動化,是工作流程的計算模型,即將工作流程中的工作如何前后組織在一起的邏輯和規(guī)則在計算機中以恰當的模型進行表示并對其實施計算。工作流管理系統(tǒng)(Workflow Management System,WfMS)的主要功能是通過計算機技術的支持去定義、執(zhí)行和管理工作流,協(xié)調工作流執(zhí)行過程中工作之間以及群體成員之間的信息交互。工作流需要依靠工作流管理系統(tǒng)來實現(xiàn)。一般的工作流管理系統(tǒng)由三個部分組成:工作流引擎、流程管理工具、流程定義工具(含圖形化的建模工具)和客戶端。其各個組成部分又包括自己的數據系統(tǒng),接口與表現(xiàn)形式。整個系統(tǒng)的工作流程如下:工作流建模工具建立模型->流程定義工具對已建立的模型進行定義->自動生成XPD文件->工作流引擎從XPD文件調用工作流定義->執(zhí)行工作流程->返回執(zhí)行后的相關數據。
工作流引擎是WFMS(工作流管理系統(tǒng))的核心軟件組元。工作流引擎基本功能包括:解釋過程定義;控制過程實例—創(chuàng)建、激活、掛起、終止等,為過程的活動導航,包含順序或者平行的操作、最后時間期限、對工作流相關數據進行解釋;調度各項活動;管理參與者登錄簽名和退出等信息;確定任務項目,實現(xiàn)用戶意圖;提供接口,支持用戶交互;維護工作流控制數據和工作流相關數據,在應用程序間或者用戶間傳遞工作流相關數據;提供調用外部程序的接口,連接所有工作流相關數據;提供控制、管理和審查功能。工作流引擎部分的設計是在uEngine的基礎上進行設計,對uEngine進行漢化以及根據學校的具體需要對其部分的功能進行修改和添加。
工作流組件結構以開放內核框架(Open Kernel Framework OKF)命名。圖3中用UML表示的OKF的操作過程。
數字化校園政務平臺架構在Portlet API(JSR 168)之上并且為用戶提供了豐富的Portlet和當今門戶解決方案所需的功能和組件。它可以通過在頁面上添加內容,即添加符合該身份權限的Portlet服務,可以刪除不關心的信息資源,這樣實現(xiàn)了用戶環(huán)境個性化。數字工大門戶運行界面如圖4。
在全面理解工作流的基本概念和開源項目uEngine特性的基礎上結合浙江工業(yè)職業(yè)技術學院的辦公的實際需要,在開源項目uEngine的基礎進行開發(fā)與設計。以實際應用為導向,全面考慮基本功能準確無誤、用戶的易用性和方便以及界面的美觀。把流程的導航問題做為流程設計的核心,開發(fā)過程中遵守一定的國內與國際標準,使工作流系統(tǒng)的功能盡可能的完善與完美。工作流系統(tǒng)運行界面如圖5所示。
數字化校園政務平臺提供了傳統(tǒng)校園網絡所不具備的服務。它通過Portlet技術構建的統(tǒng)一門戶平臺,集成了已有的信息系統(tǒng)和Web應用程序。本設計方案支持數據、內容和信息的整合,同時通過可訂制的門戶渠道傳遞繼承的內容、應用程序和服務,降低了校園信息門戶的運營成本,提高了用戶的工作效率,在數字化校園的建設中產生了重要的作用。同時,面向校園政務的工作流系統(tǒng)能針對校園行政事務工作流流轉,實現(xiàn)了無紙化辦公,辦公場所也不再受地理位置限制。本套系統(tǒng)設計方案已經應用到浙江工業(yè)職業(yè)技術學院校園政務系統(tǒng)中,實踐證明其具有一定的可行性和實用性。
[1]鄧志宏,蔡悅華.基于數字化校園門戶的分布式身份認證系統(tǒng)研究[J].計算機工程與設計,2005,26(8):2131-2132.
[2]田昌鵬,張升平.用Portlet技術實現(xiàn)數字化校園信息資源的整合[J].計算機科學,2007,34(8):293-295.
[3]董剛.Portal技術研究及其在數字化校園工程種的應用實現(xiàn)[D].國防科技大學,2004.[4]Clarke S.Standards for Second-generation Portals[J].IEEE Internet Computing,2004,8(2):54-60.
[5]Java Community Process.JSR 168 portlet specification[EB/OL].http://www.jcp.org/en/jsr/detail?id=168.2008.
[6]李振宇.校園信息門戶的研究與實現(xiàn)[D].大連海事大學,2006.
[7]王萍,李其均.基于門戶框架的資源整合系統(tǒng)的設計和實現(xiàn)[J].計算機應用研究,2005,34(6):162-164.
[8]Stefan Hepper,Stephan Hesmer.Introducing the Portlet Specification,Part 1[EB/OL].http://www.javaworld.com/javaworld/jw-08-2003/jw-0801-portlet.html.2008.