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