楊祥
(南京財經(jīng)大學(xué)信息化建設(shè)管理處 江蘇省南京市 210023)
隨著信息技術(shù)的高速發(fā)展,智慧校園的建設(shè)也在各大高校如火如荼的展開。各種新思路新想法百花齊放,層出不窮。各個高校也樂于通過種種新技術(shù)新理念的嘗試來進一步推動高校智慧校園建設(shè)的落地然后生根發(fā)芽。然而,傳統(tǒng)建設(shè)思路的瓶頸依然存在?;贛IS 架構(gòu)的數(shù)據(jù)管理型業(yè)務(wù)系統(tǒng)依然在各個職能部門承擔(dān)著中流砥柱的作用[1]。然而我們不難發(fā)現(xiàn)正是這些使用多年的業(yè)務(wù)系統(tǒng),卻成為了打通業(yè)務(wù)流程的絆腳石,也成為了各大高校智慧校園建設(shè)進入一步深化發(fā)展的巨大阻礙。我們急需一種新的技術(shù)、一種新的思路來對現(xiàn)有的建設(shè)模式進行革新性推倒重構(gòu)。而基于流程引擎的一站式服務(wù)大廳就成為了其中一種選擇[2]。本文將以縱向論述的方式從流程引擎的原理到如何構(gòu)建基于流程引擎的網(wǎng)上服務(wù)大廳進行論述。同時以南京財經(jīng)大學(xué)為例對項目建設(shè)實施過程中所遇到的困難進行分析并提出較為詳實的解決方案。
流程引擎作為一個底層支撐軟件開發(fā)平臺,可以用來開發(fā)基于流程的應(yīng)用系統(tǒng)。一個流程引擎主要包括流程的構(gòu)建、流程的執(zhí)行以及數(shù)據(jù)的流轉(zhuǎn)和同步。而在解釋流程引擎之前我們首先需要了解什么是BPM。BPM 是Business Process Management 的縮寫即業(yè)務(wù)流程管理。它是一種通過規(guī)范化構(gòu)造P2P 的業(yè)務(wù)流程,從而達(dá)到優(yōu)化提高業(yè)務(wù)效率的目的。而對于軟件行業(yè)而言,我們則是通過流程再造的方式來優(yōu)化整個軟件系統(tǒng),從而實現(xiàn)快速部署、快速改造、快速調(diào)優(yōu)的目的。
流程的構(gòu)建需要使用BPMN 即業(yè)務(wù)流程建模與標(biāo)記,是用于構(gòu)建業(yè)務(wù)流程圖的一種建模語言標(biāo)準(zhǔn)。目前標(biāo)準(zhǔn)已經(jīng)發(fā)展到了BPMN2.0,該標(biāo)準(zhǔn)為開發(fā)者提供了一套簡單易懂的標(biāo)準(zhǔn)化標(biāo)記符號,這些符號就是BPMN 的基礎(chǔ)元素,通過這些元素我們將整個系統(tǒng)開發(fā)時的業(yè)務(wù)流程建模簡單化、圖形化,將復(fù)雜的建模過程變成了可視化的操作。
整個流程引擎包括幾個通用組件:可視化流程設(shè)計、表單設(shè)計以及代碼生成器。開發(fā)者通過流程圖標(biāo)的繪畫,相關(guān)參數(shù)的配置,最終生成可運行的代碼。流程引擎的工作步驟主要包括:流程的加載、流程的執(zhí)行以及數(shù)據(jù)的同步。而對于流程的建設(shè),我們首先需要定義流程,完成初始的參數(shù)設(shè)置,包括:接口地址、操作參數(shù)、操作類型、邏輯判斷類型等等。在完成初始參數(shù)的設(shè)置之后,根據(jù)邏輯流程圖在可視化開發(fā)平臺上對流程進行構(gòu)建,構(gòu)建完成后再進行流程的定義。流程名稱等基本信息和定義流程的各個操作步以及流轉(zhuǎn)規(guī)則是必不可少的信息。以及設(shè)置定義步驟類型(起始、中間、終結(jié)),入口步驟、出口步驟、通知模式、人員、角色、發(fā)送通知的內(nèi)容等。接下來是對特殊情況的處理,比如涉及跳步情況的定義,比如需要根據(jù)參數(shù)的不同提交到不同的步驟進行審批,這里統(tǒng)稱做流程步驟變遷規(guī)則設(shè)置。設(shè)置的內(nèi)容包括:原步驟、目標(biāo)步驟、變遷方向(正/負(fù))、條件規(guī)則(判斷參數(shù)時用“與”還是用“或”)。然后再設(shè)置參數(shù)和參數(shù)值及比較條件等。最后是授權(quán)的管理,即判斷被提交的人是否處于授權(quán)狀態(tài),從而進行授權(quán)處理。通過這些步驟的建設(shè)與配置,一個完整的流程就可以進入測試環(huán)節(jié)。通過測試后,如無問題即可安排上線。
隨著高校智慧校園建設(shè)的深入推進,以及廣大師生對于高校職能部門提出的要求。高校職能部門也定位也漸漸發(fā)生了轉(zhuǎn)變,從行政管理逐漸轉(zhuǎn)變成為服務(wù)型機構(gòu)[4]。各部門所用的傳統(tǒng)的基于MIS架構(gòu)的業(yè)務(wù)系統(tǒng)也就無法滿足職能改變所帶來的需求的變化。也正因為這種需求,我們發(fā)現(xiàn)基于流程引擎構(gòu)建網(wǎng)上服務(wù)大廳并通過加載輕應(yīng)用的方式可以極好的匹配廣大師生的業(yè)務(wù)需求[3],有如下優(yōu)點:
因為所有的輕應(yīng)用均基于流程引擎進行開發(fā),API 接口標(biāo)準(zhǔn)規(guī)范,數(shù)據(jù)接口標(biāo)準(zhǔn)統(tǒng)一。故不管是在平臺內(nèi)部各個流程之間的數(shù)據(jù)調(diào)用、功能模塊復(fù)用,又或者各個流程與非流程引擎開發(fā)的業(yè)務(wù)系統(tǒng)之間都可以按照標(biāo)準(zhǔn)接口進行對接。開發(fā)難度小、效率高,開發(fā)成果可重復(fù)利用率較高,為廣大開發(fā)人員所喜愛。
因為基于流程引擎的可視化開發(fā)界面,通過在線流程設(shè)計完成應(yīng)用的建設(shè),所以可以讓開發(fā)人員快速的將用戶的需求通過畫流程圖的方式變成應(yīng)用程序,從而及時的完成用戶的需求響應(yīng),極大的提升了用戶的反饋。
基于流程引擎開發(fā)的應(yīng)用程序,其程序代碼均已通過流程圖的形式進行展現(xiàn),程序邏輯一目了然。不管是前期的開發(fā)人員又或者后期的運維人員,無需讀懂代碼,均可迅速上手接替后續(xù)的開發(fā)和運維工作。而這恰恰解決了各大高校信息化建設(shè)后期項目運維的難題:傳統(tǒng)基于MIS 架構(gòu)開發(fā)的程序,后續(xù)運維人員對于前期開發(fā)人員撰寫的代碼需要花費大量的時間才能夠讀懂,稍有差池就會對生產(chǎn)環(huán)境引起牽一發(fā)動全身的重大故障。也正因為這個原因,傳動架構(gòu)系統(tǒng)的后續(xù)業(yè)務(wù)需求變更所帶來的系統(tǒng)修改就會變的極為艱難。然而流程引擎的出現(xiàn)讓這個問題迎刃而解。

圖1:一站式服務(wù)大廳應(yīng)用平臺
智能手機的廣泛普及對高校智慧校園的建設(shè)提出了新的要求。應(yīng)用系統(tǒng)在移動端的使用程度越發(fā)的成為了衡量智慧校園建設(shè)水平的一個重要指標(biāo)。傳統(tǒng)業(yè)務(wù)系統(tǒng)開發(fā)對于移動端支持的不適配,是讓眾多信息化建設(shè)人員頭疼一個的問題。而基于流程引擎建設(shè)的網(wǎng)上一站式服務(wù)大廳以及相關(guān)輕應(yīng)用大多基于HTML 5 進行開發(fā),可以很好的適配并嵌套進各大高校的APP、企業(yè)微信等移動端應(yīng)用中。真正做到了一次開發(fā)就可同步適配PC 端、移動端,極大的緩解了廣大開發(fā)者所面對的難題。
流程引擎平臺對平臺所開發(fā)流程具有管理和監(jiān)控的功能。新開發(fā)流程可在平臺上進行部署測試,待測試通過后,將舊版本應(yīng)用下線,新版本應(yīng)用上線,即可完成用戶無感知切換,用戶體驗佳。同時對于運行流程,平臺實時監(jiān)控運行狀態(tài),管理員可通過平臺隨時監(jiān)控各個流程是否處于正常狀態(tài),并在故障發(fā)生時,第一時間收到各類型(郵件、短信、微信)告警通知。方便管理員及時發(fā)現(xiàn)問題,第一時間處理解決,極大的減輕了平臺管理員的工作壓力。尤其是對于一站式網(wǎng)上服務(wù)大廳這種面向廣大師生的平臺型應(yīng)用,一旦發(fā)生故障就會產(chǎn)生巨大的影響,所以管理監(jiān)控的功能就尤為重要。
綜上所述,我們不難發(fā)現(xiàn),基于流程引擎的網(wǎng)上服務(wù)大廳是具有種種優(yōu)點的存在。也正因此,其越來越成為高校智慧校園建設(shè)的一種趨勢。但在實際的項目建設(shè)中,我們不難發(fā)現(xiàn)一些無法避免的困難依然存在。故將以南京財經(jīng)大學(xué)為例對建設(shè)中所遇到的一些困難進行闡述并簡單分析,以一些個人淺見提出相對合適的解決方案。
各大高校目前在用的業(yè)務(wù)系統(tǒng)大多還基于傳統(tǒng)的MIS 架構(gòu),開發(fā)語言也多種多樣,有JAVA、.NET 等。故與新的平臺進行對接會存在一定的困難,主要包括兩個方面:
4.1.1 統(tǒng)一身份認(rèn)證對接困難
新平臺認(rèn)證大多基于標(biāo)準(zhǔn)的CAS 協(xié)議,有一些老的系統(tǒng)并不支持該協(xié)議,故需要對原有系統(tǒng)認(rèn)證接口進行改造。如果不能改造,則可以選用LDAP 或代理的方式實現(xiàn)統(tǒng)一身份認(rèn)證的功能。
4.1.2 數(shù)據(jù)的對接困難
對于各業(yè)務(wù)部門現(xiàn)有系統(tǒng)進行數(shù)據(jù)對接主要存在兩個困難。首先,數(shù)據(jù)標(biāo)準(zhǔn)不一致,即各業(yè)務(wù)系統(tǒng)數(shù)據(jù)標(biāo)準(zhǔn)均為系統(tǒng)開發(fā)公司自定義或行業(yè)規(guī)范,與國標(biāo)、校標(biāo)存在一定的差異。在數(shù)據(jù)對接過程中需要對相關(guān)數(shù)據(jù)進行轉(zhuǎn)換,才能收入共享數(shù)據(jù)中心進行使用。其二,數(shù)據(jù)質(zhì)量比較差。各業(yè)務(wù)系統(tǒng)獨立運行過程中,日常使用者大多抱著能用就行的態(tài)度得過且過,導(dǎo)致數(shù)據(jù)缺少日常維護,各種重復(fù)數(shù)據(jù),錯漏數(shù)據(jù)層出不窮,質(zhì)量較差。這些數(shù)據(jù)如果直接進入共享數(shù)據(jù)中心,并作為源數(shù)據(jù)提供給其他系統(tǒng)使用的話,其后果不堪設(shè)想。故需對原有系統(tǒng)產(chǎn)生數(shù)據(jù)進行治理,倒逼業(yè)務(wù)部門提高源頭數(shù)據(jù)質(zhì)量,從而保證整個平臺的順利運行。
為了實現(xiàn)使用流程引擎重構(gòu)業(yè)務(wù)系統(tǒng),進而將系統(tǒng)以服務(wù)流程為導(dǎo)向,重新構(gòu)建碎片化輕應(yīng)用,并最終將其統(tǒng)一部署在一站式服務(wù)大廳中的這一目標(biāo)。我們需要對原有業(yè)務(wù)系統(tǒng)進行重新構(gòu)建。在重構(gòu)的過程中我們面臨兩個問題:首先,我們需要結(jié)合現(xiàn)有系統(tǒng)來熟悉各個職能部門的業(yè)務(wù)流程,并邏輯化成為流程圖。但是這個工作最大的挑戰(zhàn)在于技術(shù)開發(fā)人員不懂業(yè)務(wù),而業(yè)務(wù)骨干不懂軟件開發(fā)技術(shù)。其中的銜接往往成為了項目實施過程中的問題所在。在實際的開發(fā)過程中,項目經(jīng)理往往需要化身成為一名翻譯員,先要吃透業(yè)務(wù)邏輯,然后翻譯成技術(shù)人員所需的材料,進而才能進行系統(tǒng)的開發(fā)。其次我們需要對原有系統(tǒng)中的歷史數(shù)據(jù)進行導(dǎo)出,并進行處理后導(dǎo)入新的系統(tǒng)中。這往往需要原系統(tǒng)開發(fā)公司的配合,故導(dǎo)致實際實施過程面臨種種不可控局面的發(fā)生,導(dǎo)致項目進展頗為坎坷。這也提醒我們廣大的高校信息化建設(shè)人員,在今后的系統(tǒng)建設(shè)中,需要從招標(biāo)開始進行頂層設(shè)計,全盤考慮,深度考量。將系統(tǒng)的數(shù)據(jù)字段定義表,表結(jié)構(gòu)關(guān)系等核心要素掌握在手中,變被動為主動。只有這樣才能為后續(xù)的建設(shè)開發(fā)打下堅實的基礎(chǔ)。
隨著智慧校園建設(shè)不斷深入,高校的信息化建設(shè)也已經(jīng)步入了“深水區(qū)”。傳統(tǒng)基于MIS 架構(gòu)的數(shù)據(jù)管理系統(tǒng)的建設(shè)方式已經(jīng)無法滿足高校智慧校園應(yīng)用建設(shè)的需求。而基于流程引擎的網(wǎng)上一站式服務(wù)大廳已經(jīng)越來越成為各大高校智慧校園建設(shè)的唯一選擇。通過該開放性技術(shù)平臺的建設(shè)以及對各類型新技術(shù)(人工智能、大數(shù)據(jù)分析、物聯(lián)網(wǎng)等)的融合,可以較好的滿足各大高校對于智慧校園建設(shè)的各類需求,這也是高校未來建設(shè)網(wǎng)上一站式服務(wù)大廳的發(fā)展方向。