張垚 張?zhí)煲弧≡瑤?/p>
摘要:跨終端、多專業(yè)數(shù)字化流程解決方案是公司完全自主研發(fā)的一套業(yè)務流程數(shù)字化服務平臺,采用先進、成熟的技術進行開發(fā),界面簡單,人性化強,為用戶定制流程界面,同時具備很強的擴展性,快捷部署新增審批流程。同時,移動應用的推廣使得公司原有流程業(yè)務的用戶入口不再僅僅局限于局域網(wǎng)內的PC端瀏覽器,業(yè)務流程走入移動端,開發(fā)了移動版待辦服務集成在公司移動云APP,設計了統(tǒng)一業(yè)務處理接口,提供相關的數(shù)據(jù)處理服務進行不同終端的數(shù)據(jù)同步,減少了開發(fā)工作和報錯幾率。隨著業(yè)務的不斷發(fā)展,數(shù)字化流程已覆蓋多個專業(yè)領域,實現(xiàn)公司流程的全面數(shù)字化、規(guī)范化管理。
關鍵詞:跨終端;多專業(yè);統(tǒng)一業(yè)務處理接口;數(shù)字化流程
中圖分類號:TP311 ? ? ?文獻標識碼:A
文章編號:1009-3044(2019)14-0271-02
1 背景
公司的內控制度中包含多個專業(yè)的業(yè)務流程,從科技管理到監(jiān)察管理,從人力資源到行政管理,從財務管理到信息管理,這些業(yè)務流程早已成為了公司員工日常工作中的重要組成部分,每年都產生近千份各類流程紙質審批單,員工線下跑流程也極大降低了流程流轉效率,影響其主業(yè)工作的開展。將紙質流程進行數(shù)字化搭建,對推進公司無紙化辦公、實現(xiàn)工作降本增效有著重要意義。
近幾年,為深入貫徹公司數(shù)字化發(fā)展的目標,實現(xiàn)公司各類業(yè)務審批流程的全面數(shù)字化、規(guī)范化管理,各部門所提出的數(shù)字化流程開發(fā)需求逐年增多,所涉及的專業(yè)類別越發(fā)多樣,流程上線急迫的要求與開發(fā)人員稀缺的壓力,需要有更完善的數(shù)字化流程解決方案來應對。
同時,為了提高流程待辦處理效率,滿足公司員工隨時隨地處理待辦的要求,為員工提供一個任意時間、任何地點都可工作的辦公環(huán)境,借助手機、平板電腦等各類移動終端在工作、生活中的廣泛使用,需要實現(xiàn)數(shù)字化流程的跨終端運行。
跨終端、多專業(yè)數(shù)字化流程解決方案的設計目標是為公司各類業(yè)務流程提供一整套多種終端都可操作、集流程啟動、審批、流轉、查詢、統(tǒng)計、管理、通知、控制等功能于一體的服務平臺,實現(xiàn)提高工作效率,規(guī)范公司流程的目的。
2 技術架構
數(shù)字化流程基于JAVA語言進行開發(fā),采用ORACLE數(shù)據(jù)庫進行數(shù)據(jù)管理,使用WEBLOGIC提供WEB服務,通過JDBC實現(xiàn)ORACLE低層數(shù)據(jù)庫通信,采用synchroflowBPM流程引擎進行流程模型搭建設計與流程流轉控制管理,使用JQUERY等前沿技術進行功能的制定與完善,同時使系統(tǒng)功能具備良好的用戶體驗效果,利用潤乾報表技術實現(xiàn)報表自動生成功能,使用NTKO文檔控件技術實現(xiàn)審批單的在線預覽、下載、填報、審批等操作,同時系統(tǒng)也在不斷優(yōu)化,采用POI等后臺文檔生成技術進行審批單自動生成,采用H5等前臺技術實現(xiàn)流程附件批量上傳,移動端使用基于AngularJS的混合應用UI框架進行前端設計,實現(xiàn)跨平臺,利用nodeJS設計業(yè)務共享接口與移動端對接。隨著技術上的不斷創(chuàng)新,功能上的不斷優(yōu)化,系統(tǒng)的穩(wěn)定性、健壯性、可操作性也不斷提升,實現(xiàn)了用戶需求和業(yè)務變更的快速響應與實現(xiàn)。
3 一整套完善的搭建模式
公司數(shù)字化流程已正式運行了3年多時間,隨著業(yè)務范圍的不斷擴展,系統(tǒng)功能的不斷升級和優(yōu)化,數(shù)字化流程已覆蓋了越來越多的專業(yè)領域,系統(tǒng)功能越發(fā)完備,流程中的各項完善服務對系統(tǒng)提供了有效支持,基于工作流模型的統(tǒng)一標準,結合流程實際的業(yè)務需求,對流程生命周期中所衍生的相關功能進行迭代開發(fā),形成了一整套完整的數(shù)字化流程搭建模式,新流程的開發(fā)基本跳不出現(xiàn)有數(shù)字化流程的服務體系,能夠實現(xiàn)全方位的功能覆蓋,使其能夠快速被搭建,持續(xù)交付并穩(wěn)定運行。
圖1
流程搭建模式涵蓋工作流模型搭建、頁面模版式開發(fā)、基礎數(shù)據(jù)維護管理、流程信息檢索模塊、報表服務、審批單自動生成技術、郵件系統(tǒng)、電子簽名服務、流程監(jiān)控服務、文檔批量上傳技術等完善的流程要素,滿足公司流程的全面數(shù)字化、規(guī)范化管理。
工作流模型:synchroflowBPM工作流引擎服務,實現(xiàn)模型可視化管理,對工作流實例以及全局變量進行管控。
流程節(jié)點:模版化定制開發(fā),按照節(jié)點類型,利用JSP+主流前臺UI框架,定制代碼級頁面模版,提高開發(fā)效率。
工作待辦:與公司門戶網(wǎng)站集成,通過郵件服務接口實現(xiàn)提醒功能,并部署移動端審批應用。
流程審批單:利用POI后臺文檔生成技術,根據(jù)書簽位置自動寫入信息,用戶一鍵生成。
統(tǒng)計報表:使用潤乾報表服務組件,實現(xiàn)報表模型可視化,開發(fā)了報表服務接口,可生成多種類型報表。
電子簽名:開發(fā)電子簽名服務接口,自動獲取用戶簽字圖片,獲取速度快捷。
大附件批量上傳:利用H5技術開發(fā)大附件批量上傳組件,實現(xiàn)可視化進度條。
通用基礎數(shù)據(jù)維護:包括權限、功能點、人員、各類流程基礎數(shù)據(jù)的全面控制。
業(yè)務流程共享接口服務:同步移動端與PC端的業(yè)務服務,實現(xiàn)流程業(yè)務與移動云對接。
混合應用UI框架:移動端的前端開發(fā)框架,原生輕量級框架,實現(xiàn)跨平臺終端。
4 業(yè)務流程共享接口
移動互聯(lián)網(wǎng)技術不斷發(fā)展,使得人們對移動辦公的需求越來越旺盛。通過手機、平板電腦等掌上智能終端,實現(xiàn)企業(yè)信息移動化,最終達到隨時隨地進行隨身的移動化信息工作目的。公司數(shù)字化流程響應移動互聯(lián)的建設要求,著手開發(fā)移動終端審批流程,形成一套針對公司所有數(shù)字化流程的移動應用開發(fā)、部署的技術解決方案。
其中最大的問題是公司業(yè)務流程源自公司內控制度,制度在運行過程中是不斷地修訂與完善,勢必會經常對系統(tǒng)中的業(yè)務相關功能進行修改與優(yōu)化,而PC端與移動端所部署的站點不同,PC端是公司獨立的單體應用系統(tǒng),而移動端是基于公司移動云應用的流程辦理平臺,屬于兩套系統(tǒng),如何使移動平臺拿到PC端系統(tǒng)的業(yè)務邏輯,以及如何將這兩套系統(tǒng)的業(yè)務邏輯實現(xiàn)同步是個大難題。
提出方案:開發(fā)一個中間層,設計公司業(yè)務流程共享接口,按照移動端的標準接口規(guī)范,實現(xiàn)對外接口和對內接口,分別與移動應用和公司流程進行無縫對接,打開內外通道,使內部業(yè)務邏輯直接為外部應用系統(tǒng)提供服務。
設計思路:參考已有的WEB服務接口的格式規(guī)范,評價各個規(guī)范是否滿足公司數(shù)字化流程共享接口的需求,并制定合理的數(shù)據(jù)傳輸標準;通過接口接收移動平臺的數(shù)據(jù)請求,把數(shù)據(jù)封裝成公司現(xiàn)有在線業(yè)務邏輯所能接收的格式,向業(yè)務邏輯層提交數(shù)據(jù),封裝業(yè)務邏輯返回的結果,發(fā)送移動平臺進行響應;同時,使用公司業(yè)務流程共享接口的請求必須在請求中加入令牌,才可以使用WEB服務接口。
技術路線:封裝通用性高的應用服務,迭代開發(fā)特殊的功能,使用螺旋上升式的軟件開發(fā)模式[1],設計分布式的組件化軟件構架。對外接口的研發(fā)基于Node.js,提供了5個對外接口,實現(xiàn)了一種統(tǒng)一輸入規(guī)范的業(yè)務邏輯調用方式;對內接口的研發(fā)基于Java EE研發(fā),對公司在線系統(tǒng)業(yè)務邏輯進行合理抽象,并提供了3個低粒度對內應用程序接口;文檔的處理基于.NET Framework,研發(fā)了一個支持輸入DOC或DOCX文檔,輸出相應的簽字文檔的Web 服務。
5 自適應UI+分布式架構的服務體系
公司數(shù)字化流程的發(fā)展也經歷了從小到大,從少到多,從簡單到復雜,從單一到多樣的過程,最初的數(shù)字化流程,應用程序、數(shù)據(jù)庫、文件等所有的資源都在一臺服務器上,匯集一些免費開源軟件和一臺虛擬機服務器就可以開始提供流程服務,隨著業(yè)務的增長,技術的發(fā)展,訪問量的增加,用戶體驗要求的提升,以及移動設備走入工作環(huán)境,逐漸發(fā)展為多種終端UI體驗,以豐富的服務接口為支撐,多個子系統(tǒng)為業(yè)務平臺的分布式服務體系。將數(shù)字化流程按業(yè)務進行縱向拆分,將一個大應用拆分為多個小應用,形成了多個較為獨立的子系統(tǒng)進行流程管理,技術上進行橫向拆分,將可復用的業(yè)務,設計成服務接口,規(guī)范服務依賴關系,實現(xiàn)業(yè)務功能大分工,數(shù)據(jù)分離,存取分離,服務分離,應用級負載均衡[2]。目前已有多個獨立的服務實現(xiàn)分布式,如電子簽名服務、文檔生成組件、工作流服務、郵件服務、報表服務、系統(tǒng)監(jiān)控等。
同時,用戶終端類型的豐富,也對不同終端的UI展示提出了兼容性的要求,為使相同的前端展示在不同的終端下都有良好的用戶體驗,提出了自適應UI設計,利用響應式UI與前端彈性框架的設計,僅用一套用戶界面即可在不同終端正常顯示,減少了開發(fā)與維護的工作量,使用戶可在多種終端下實現(xiàn)良好的UI體驗。
公司數(shù)字化流程經過多年的發(fā)展,已逐步形成自適應UI+分布式架構的服務體系,能夠更好地應對公司未來越來越多的復雜業(yè)務流程。
6 總結
跨終端、多專業(yè)數(shù)字化流程解決方案是完全自主研發(fā)的公司業(yè)務流程數(shù)字化服務平臺,具有完全自主知識產權,從2014年首批內控流程上線以來已使用4年多的時間,管理流程已達126個,啟動流程近90000次,涉及專業(yè)包括了內部監(jiān)督、財務管理、科技管理、人力資源、行政綜合、黨工團管理、信息化管理、物資與采辦、法律管理、保密管理等;按照業(yè)務類型的不同,搭建了十多個子系統(tǒng)管理流程,對公司的流程數(shù)字化管理起到了很好的支撐作用。
參考文獻:
[1] 周揚. 軟件開發(fā)過程模型的應用與發(fā)展[J]. 電子制作, 2014(19): 54-55.
[2] 張俊鴻. 深入理解java:5. Java分布式架構[EB/OL]. https://www.cnblogs.com/my376908915/p/6813321.html.
【通聯(lián)編輯:謝媛媛】