陸成松 孫小影 張曉林
摘? ?要:智慧校園一站式服務(wù)平臺建設(shè)的主要目的,是以統(tǒng)一身份認證為紐帶,以學校主數(shù)據(jù)庫為基礎(chǔ),將面向教師和學生的各業(yè)務(wù)系統(tǒng),剝離或者重構(gòu)系統(tǒng)的服務(wù),進行師生信息服務(wù)的集中,從而建設(shè)學校的一站式服務(wù)平臺。但以此為建設(shè)方案的許多實例,只實現(xiàn)了服務(wù)發(fā)起的匯聚,卻沒有實現(xiàn)服務(wù)審批的匯聚。文章以融合校園服務(wù)平臺為實施主體,以解決學校各業(yè)務(wù)系統(tǒng)審核任務(wù)分散的問題為目的,提出了任務(wù)中心的功能設(shè)想。任務(wù)中心要求需兼容不同的流程引擎任務(wù)的整合,需支持不同的工作流任務(wù)驅(qū)動方式,同時支持移動終端的同步訪問;描述了任務(wù)中心的功能和接口設(shè)計,以數(shù)據(jù)庫存儲任務(wù)數(shù)據(jù)、API標準接口提供任務(wù)數(shù)據(jù)交互、前端展現(xiàn)任務(wù)為主要功能完成了任務(wù)中心的設(shè)計和實現(xiàn),并經(jīng)過上??萍即髮W服務(wù)門戶的實踐,實現(xiàn)了不同業(yè)務(wù)系統(tǒng)審批任務(wù)的集成匯聚、展現(xiàn)和訪問。
關(guān)鍵詞:信息化系統(tǒng);服務(wù)平臺;任務(wù)中心;智慧校園
中圖分類號:G647 文獻標志碼:A 文章編號:1673-8454(2020)23-0085-04
一、引言
當前,各高校的服務(wù)大廳、一站式服務(wù)門戶、師生綜合服務(wù)門戶正在如火如荼地建設(shè)中,很多高校都基于碎片化理念在建設(shè)學校新一代的校園服務(wù)門戶,以統(tǒng)一身份認證技術(shù)為紐帶,依托各個業(yè)務(wù)系統(tǒng)的數(shù)據(jù),引進流程引擎,集成業(yè)務(wù)系統(tǒng)的各種功能,從而將面向師生的應(yīng)用功能進行抽離,通過松耦合的方式,實現(xiàn)服務(wù)的匯聚。[1]我們基于微服務(wù)架構(gòu)的思想,對學校的各項業(yè)務(wù)進行重新梳理,按服務(wù)性質(zhì)和內(nèi)容類別整合服務(wù),按學生服務(wù)、教師服務(wù)、科研服務(wù)、管理服務(wù)等分解成各個最小的功能服務(wù)單元,再重新組織、匯聚、組合成各種服務(wù),呈現(xiàn)給用戶,使學校師生真正“能找到服務(wù)、會使用服務(wù)”。[2][3]
然而,從高校服務(wù)平臺最終的建設(shè)成果來說,雖然我們實現(xiàn)了服務(wù)的整合、數(shù)據(jù)的整合、身份的整合,但大部分的服務(wù)只實現(xiàn)了申請、發(fā)起整合,而一個服務(wù)的過程除了發(fā)起,還包括任務(wù)的審批以及審批記錄的匯總查詢。
在建設(shè)學校信息業(yè)務(wù)系統(tǒng)時,往往是各廠商采用市場中成熟的產(chǎn)品并以此為基礎(chǔ)來建設(shè),不同的管理業(yè)務(wù)系統(tǒng)使用的成熟產(chǎn)品也不同,它們之間登錄機制不同、開發(fā)語言不同、數(shù)據(jù)庫結(jié)構(gòu)不同、系統(tǒng)設(shè)計分離、系統(tǒng)界面樣式各異,依據(jù)目前的技術(shù),將不同的系統(tǒng)中的服務(wù)抽離、碎片化,再匯聚到校園服務(wù)平臺,目前實現(xiàn)了登錄認證的統(tǒng)一、服務(wù)入口的一站式、異構(gòu)數(shù)據(jù)的交換,但各個業(yè)務(wù)系統(tǒng)事務(wù)審批的匯聚、展現(xiàn)和查詢卻沒有實現(xiàn),或者只是實現(xiàn)了簡單的消息提醒。
智慧校園一站式服務(wù)平臺匯聚了許多業(yè)務(wù)系統(tǒng)服務(wù),其中流程類的服務(wù)都需要流程處理人審批,不同的業(yè)務(wù)系統(tǒng)有各自的待辦任務(wù)中心,如果審批人需要分別進入不同的業(yè)務(wù)系統(tǒng)去處理,這對審批用戶的體驗極其不好。但不同業(yè)務(wù)系統(tǒng)的流程引擎平臺不同,流程任務(wù)的處理邏輯不同,審批任務(wù)數(shù)據(jù)存儲的信息不同。因此,如何解決任務(wù)處理的集中化、任務(wù)數(shù)據(jù)的集成化是需解決的重要問題之一。
綜合以上提出任務(wù)審批的相關(guān)問題,利用現(xiàn)有的計算機信息技術(shù),在校園服務(wù)平臺上建設(shè)統(tǒng)一匯聚的,可接入不同流程引擎平臺、對接不同業(yè)務(wù)邏輯的,并能同時應(yīng)用于PC端和移動端的任務(wù)中心,應(yīng)是亟待解決的問題。本文以上??萍即髮W智慧校園一站式服務(wù)平臺為基礎(chǔ),提出了任務(wù)中心的設(shè)計和功能構(gòu)想,描述了任務(wù)中心的功能和接口設(shè)計,旨在解決學校各業(yè)務(wù)系統(tǒng)審核任務(wù)分散、審批記錄查詢不便的問題,使服務(wù)平臺更集中、便捷地為全校師生提供信息化服務(wù)。
二、系統(tǒng)設(shè)計
任務(wù)中心系統(tǒng)設(shè)計的核心思路是以智慧校園一站式服務(wù)平臺為框架,以目前使用的技術(shù)為開發(fā)基礎(chǔ),實現(xiàn)學校各個業(yè)務(wù)系統(tǒng)任務(wù)審批的集中化。系統(tǒng)以任務(wù)處理人為中心,統(tǒng)一展現(xiàn)其跨業(yè)務(wù)系統(tǒng)的個人任務(wù)、流程數(shù)據(jù)信息,實現(xiàn)審批任務(wù)統(tǒng)一入口,為用戶提供待辦任務(wù)、已辦任務(wù)、辦結(jié)任務(wù)、流程跟蹤等類別的審批記錄分類匯總。同時,任務(wù)中心以獨立服務(wù)的形式注冊集成到校園服務(wù)平臺上,以單獨應(yīng)用的形式獨立部署運行。[4]另外,任務(wù)中心提供標準的任務(wù)接入API(Application Programming Interface,應(yīng)用程序接口),為第三方業(yè)務(wù)系統(tǒng)提供任務(wù)的接入方式。任務(wù)中心系統(tǒng)設(shè)計的目標是納入不同業(yè)務(wù)系統(tǒng)的流程任務(wù),兼容不同業(yè)務(wù)系統(tǒng)的流程驅(qū)動方式,接受不同形式的任務(wù)審批數(shù)據(jù)存儲形式。
建立統(tǒng)一的任務(wù)中心,可以使第三方業(yè)務(wù)系統(tǒng)的流程任務(wù)通過固定的格式、以數(shù)據(jù)的形式推送到任務(wù)中心。任務(wù)中心按第三方業(yè)務(wù)系統(tǒng)流程任務(wù)的狀態(tài),分別展現(xiàn)為待辦任務(wù)、已辦任務(wù)或辦結(jié)任務(wù)。用戶可以通過任務(wù)鏈接直接進入第三方業(yè)務(wù)系統(tǒng)任務(wù)表單進行任務(wù)處理。統(tǒng)一的任務(wù)中心系統(tǒng)的設(shè)計方案如下。
(1)作為單一的應(yīng)用,任務(wù)中心應(yīng)為獨立的功能系統(tǒng),必須可以單獨運行和被訪問,符合校園服務(wù)平臺微服務(wù)的設(shè)計理念,遵守學校校園服務(wù)平臺的服務(wù)注冊和接入標準,可作為校園服務(wù)平臺的欄目存在,并且任務(wù)中心以服務(wù)的形式體現(xiàn)在服務(wù)平臺中。
(2)任務(wù)中心應(yīng)包括多個標簽頁,包括待辦任務(wù)、已辦任務(wù)、辦結(jié)任務(wù)以及任務(wù)跟蹤,根據(jù)任務(wù)辦理的狀態(tài)展現(xiàn)與用戶相關(guān)的其它第三方業(yè)務(wù)系統(tǒng)的流程任務(wù)信息。
(3)為第三方業(yè)務(wù)系統(tǒng)提供標準的API,供第三方系統(tǒng)對接進行數(shù)據(jù)傳輸,將任務(wù)推送到任務(wù)中心。
(4)任務(wù)中心的展現(xiàn)應(yīng)支持移動端,實現(xiàn)移動端的任務(wù)中心數(shù)據(jù)展現(xiàn)。
(5)任務(wù)中心可接入不同的流程類技術(shù),包容不同的流程任務(wù)驅(qū)動模式,包括流程引擎類的,如以單一事務(wù)流轉(zhuǎn)的流程任務(wù);包括以審批狀態(tài)驅(qū)動審批流轉(zhuǎn)的流程審批類任務(wù)。
(6)任務(wù)中心需支持和接受業(yè)務(wù)系統(tǒng)中任務(wù)處理的不同功能邏輯,包括任務(wù)的保存、提交、轉(zhuǎn)發(fā)、加簽以及刪除等功能。
任務(wù)中心系統(tǒng)在定位上屬于智慧校園一站式服務(wù)平臺的組件,各接入業(yè)務(wù)系統(tǒng)的不同流程類的審批任務(wù)作為數(shù)據(jù)源向任務(wù)中心推送和交互任務(wù)狀態(tài)。
三、系統(tǒng)實現(xiàn)
任務(wù)中心系統(tǒng)功能整體上分為展現(xiàn)層、數(shù)據(jù)層、接口層、接入層,分別對應(yīng)任務(wù)在校園服務(wù)平臺中的展現(xiàn)、任務(wù)數(shù)據(jù)的存儲、任務(wù)數(shù)據(jù)交互API以及業(yè)務(wù)系統(tǒng)調(diào)用接口接入,具體功能框架如圖1所示。業(yè)務(wù)系統(tǒng)的審核數(shù)據(jù)調(diào)用任務(wù)中心的交互API,將審批任務(wù)推送到任務(wù)數(shù)據(jù)庫存儲。任務(wù)中心數(shù)據(jù)庫存儲業(yè)務(wù)系統(tǒng)推送過來的流程任務(wù)數(shù)據(jù)。任務(wù)顯示頁面讀取任務(wù)數(shù)據(jù)庫所有的任務(wù)數(shù)據(jù),并集成到校園服務(wù)平臺調(diào)用展現(xiàn)。對任務(wù)狀態(tài)或記錄的更新,同樣調(diào)用任務(wù)交互API更新。
1.任務(wù)交互API設(shè)計
任務(wù)中心的API采用Web Service接口技術(shù),以JSON(JavaScript Object Notation,JS 對象簡譜)的數(shù)據(jù)格式,按固定的數(shù)據(jù)設(shè)計字段將任務(wù)數(shù)據(jù)推送到任務(wù)中心的數(shù)據(jù)庫表中。JSON 是一種輕量級的數(shù)據(jù)交換格式。它基于ECMAScript(歐洲計算機協(xié)會制定的JS規(guī)范)的一個子集,采用完全獨立于編程語言的文本格式來存儲和表示數(shù)據(jù)。[5]采用JSON數(shù)據(jù)格式可以更好地提高數(shù)據(jù)傳輸?shù)男省?/p>
任務(wù)中心的API由業(yè)務(wù)系統(tǒng)調(diào)用,業(yè)務(wù)系統(tǒng)的每個流程,根據(jù)流程節(jié)點的多少,對應(yīng)一串流程數(shù)據(jù),為保證數(shù)據(jù)的唯一性,應(yīng)該定義業(yè)務(wù)系統(tǒng)的唯一ID、每個流程的ID、每個流程節(jié)點的ID,并作為數(shù)據(jù)的聯(lián)合主鍵,定位流程的唯一性。
任務(wù)交互API包括Insert和Update功能。推送任務(wù)數(shù)據(jù)時,先進行JSON數(shù)據(jù)格式校驗和約束檢查,再進行業(yè)務(wù)邏輯檢查,邏輯檢查時,接口通過聯(lián)合主鍵檢驗數(shù)據(jù)是否已存在,如不存在則Insert記錄,如果已存在,則進行狀態(tài)Update。在任務(wù)數(shù)據(jù)推送時,根據(jù)Insert和Update的需求,JSON數(shù)據(jù)字段除關(guān)鍵字段外,其它字段可根據(jù)實際需要推送更新。為保證數(shù)據(jù)的完整性和有效性,數(shù)據(jù)接口不提供Delete功能,但提供對數(shù)據(jù)記錄的刪除標記。
另外,任務(wù)數(shù)據(jù)的交互API還包括日志記錄和結(jié)果反饋,便于業(yè)務(wù)系統(tǒng)對推送結(jié)果的跟蹤和問題排查。
2.任務(wù)數(shù)據(jù)顯示和查詢
數(shù)據(jù)顯示接口由任務(wù)中心的前端頁面功能實現(xiàn),根據(jù)流程任務(wù)的狀態(tài),按待辦、已辦、辦結(jié)和跟蹤分欄顯示,每個欄目提供任務(wù)主題、任務(wù)相關(guān)時間、任務(wù)創(chuàng)建人等關(guān)鍵字段查詢。任務(wù)中心的前端頁面功能,必須完成學校的統(tǒng)一身份認證對接,需要按照校園服務(wù)平臺的規(guī)范標準開發(fā)。
上海科技大學校園服務(wù)平臺采用了Web Widget技術(shù),Web Widget可以向一個基于HTML的Web頁面上添加一些動態(tài)內(nèi)容。它可能是點擊計數(shù)器,例如實時股票信息、航班信息等等。通常情況下,一個Widget的功能都是由第三方提供的代碼實現(xiàn)的,而Web開發(fā)者,只需要將這些代碼塊嵌入自己的頁面即可。其實,在萬維網(wǎng)發(fā)展的早期,Web開發(fā)者就已經(jīng)嘗試在他們的頁面中嵌入一些第三方開發(fā)的代碼塊,不過這些代碼塊早期的功能通常都是一些諸如鏈接計數(shù)、廣告標識(Web banner)之類的。[6]任務(wù)中心利用Widget技術(shù)將待辦任務(wù)、已辦任務(wù)、辦結(jié)任務(wù)、跟蹤任務(wù)逐個分欄顯示在校園服務(wù)平臺中,也可以在校園服務(wù)平臺中實現(xiàn)任務(wù)中心的獨立訪問。
根據(jù)任務(wù)的其它屬性需要,可以在任務(wù)數(shù)據(jù)中添加部分標記位字段,如已讀未讀、重要程度等,依據(jù)用戶對任務(wù)的標記,對任務(wù)數(shù)據(jù)進行觸發(fā)。比如用戶第一次點擊時,回填任務(wù)數(shù)據(jù)表的未讀標記字段變更為已讀;再比如,用戶將任務(wù)標記為重要,回填任務(wù)數(shù)據(jù)表記錄的“重要”字段數(shù)據(jù)值。該類字段標記由任務(wù)中心根據(jù)用戶的操作直接觸發(fā),不需要業(yè)務(wù)系統(tǒng)來觸發(fā)推送數(shù)據(jù)。另外,任務(wù)流轉(zhuǎn)通過郵件、短信等方式提醒任務(wù)處理人時,依然由業(yè)務(wù)系統(tǒng)實現(xiàn)提醒推送,但推送內(nèi)容可包含任務(wù)中心的鏈接地址。
3.數(shù)據(jù)字段設(shè)計
數(shù)據(jù)庫可采用Oracle、MySQL等數(shù)據(jù)庫管理系統(tǒng),因為從實際業(yè)務(wù)上來說,較少可能出現(xiàn)瞬時大并發(fā)量的情況,所以從應(yīng)用設(shè)計上滿足一定的并發(fā)量需求即可。為了滿足設(shè)計需求,任務(wù)中心的數(shù)據(jù)字段應(yīng)滿足共建共享、標準規(guī)范的要求,能滿足通常的任務(wù)流轉(zhuǎn)需要,應(yīng)具有包容其它流程引擎的任務(wù)數(shù)據(jù)屬性。因此,在功能設(shè)計時,需要充分調(diào)研業(yè)務(wù)系統(tǒng)的任務(wù)流程及其數(shù)據(jù)字段。任務(wù)中心的數(shù)據(jù)字段設(shè)計包括但不限于任務(wù)標題、任務(wù)創(chuàng)建人、任務(wù)處理人、任務(wù)頁面地址、任務(wù)處理意見、任務(wù)流程圖地址、任務(wù)的移動處理頁面地址、刪除標記等,重要數(shù)據(jù)字段如表1所示。
4.數(shù)據(jù)同步容錯
業(yè)務(wù)系統(tǒng)向任務(wù)中心推送任務(wù)數(shù)據(jù)時,考慮到網(wǎng)絡(luò)不通、任務(wù)中心本身等故障原因,會影響任務(wù)數(shù)據(jù)的推送,可能會帶來數(shù)據(jù)同步的問題,這里要求業(yè)務(wù)系統(tǒng)在推送任務(wù)數(shù)據(jù)時,需要有完整的錯誤處理機制。先要對推送進行日志記錄,在同步推送失敗時,進行重試,錯誤達到3次以后,則記錄下來,以便管理員排查處理。[7]
5.功能設(shè)計
任務(wù)中心的功能是以個人為主體,按個人對任務(wù)處理的狀態(tài)分為待辦任務(wù)、已辦任務(wù)、辦結(jié)任務(wù)以及任務(wù)跟蹤。
待辦任務(wù)是針對個人需要處理的流程節(jié)點任務(wù),以登錄用戶的登錄ID(通常是學工號)為關(guān)鍵字,從任務(wù)存儲數(shù)據(jù)庫中查詢處理人為個人,且狀態(tài)是未執(zhí)行中的任務(wù),供個人用戶查詢。已辦任務(wù)與待辦任務(wù)的區(qū)別就是任務(wù)的狀態(tài)為完成,其它功能相同。待辦任務(wù)和已辦任務(wù)都是指流程中的某一些節(jié)點處理任務(wù),辦結(jié)任務(wù)是任務(wù)的所有節(jié)點都已處理完的任務(wù)。待辦任務(wù)、已辦任務(wù)、辦結(jié)任務(wù)是以任務(wù)的處理人為主體查詢的,而任務(wù)跟蹤是以任務(wù)的創(chuàng)建人為主體,顯示當前用戶創(chuàng)建的任務(wù),無論是辦結(jié)或未辦結(jié)都會顯示在任務(wù)跟蹤欄目中。另外,無論是待辦任務(wù)還是已辦任務(wù)、辦結(jié)任務(wù)都可以通過任務(wù)主題、任務(wù)創(chuàng)建時間等字段進行定位搜索到指定任務(wù)。
6.系統(tǒng)實現(xiàn)
上??萍即髮W任務(wù)中心開發(fā)完成后,經(jīng)過實踐,不但集成了以工作流引擎為核心的任務(wù),如協(xié)同辦公系統(tǒng)的流程任務(wù)、基于國外套裝軟件SAP開發(fā)的財物與工程管理系統(tǒng)的流程任務(wù)、就業(yè)系統(tǒng)的流程任務(wù)、基于數(shù)據(jù)平臺報表系統(tǒng)的流程任務(wù),還集成了以狀態(tài)驅(qū)動為核心的流程,如學工系統(tǒng)、科研系統(tǒng)、人事系統(tǒng)、信息發(fā)布系統(tǒng)的流程審批任務(wù),從而較好地達成了任務(wù)中心的設(shè)計目標,上海科技大學任務(wù)中心系統(tǒng)對接具體實例如圖2所示。
四、結(jié)語
高校校園服務(wù)平臺的建設(shè),本就是以開放性、可持續(xù)性集成為設(shè)計目標的,利用平臺的開放性、可持續(xù)性接入各類服務(wù)是平臺的核心應(yīng)用。平臺任務(wù)中心的設(shè)計和融合,是校園服務(wù)平臺開放性的實踐成果之一。隨著技術(shù)的發(fā)展、應(yīng)用的深入,我們將密切跟蹤技術(shù)與實踐的發(fā)展,圍繞用戶的痛點和難點,在核心開放技術(shù)和擴展方法的基礎(chǔ)上,逐步設(shè)計和融合更加豐富的功能和服務(wù)。
參考文獻:
[1]焦寶臣,劉振昌,張四海,楊陽,陳詩明,顏偉榮.高校信息門戶的功能定位與實現(xiàn)方案[J].華東師范大學學報(自然科學版),2015(S1):435-439.
[2]蔣東興,付小龍,袁芳,吳海燕,劉啟新.大數(shù)據(jù)背景下的高校智慧校園建設(shè)探討[J].華東師范大學學報(自然科學版),2015(S1):119-125,131.
[3]趙澤宇,張凱,吳慶杰.復旦大學:數(shù)據(jù)管理支撐信息化一站式服務(wù)[J].中國教育網(wǎng)絡(luò),2014(12):53-56.
[4]黃天武,林樹順,胡劼.集團型企業(yè)統(tǒng)一任務(wù)中心建設(shè)研究[C].2008年電力行業(yè)信息化年會會議論文集,2008:5.
[5]劉英丹,董傳良.利用WebService實現(xiàn)企業(yè)應(yīng)用集成[J].計算機應(yīng)用,2003(7):124-126.
[6]Caceres M.Widgets1.0:Packaging and Configuration[DB/OL]. http://www.w3.org/TR/widgets/.
[7]郭洋,王存林.應(yīng)用集成平臺下接口容錯處理和監(jiān)控機制的實現(xiàn)[J].電力信息化,2009(12):41-44.
(編輯:王天鵬)