陸成松 孫小影 張曉林



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