北京中電普華信息技術(shù)有限公司 董愛強(qiáng) 王 瑩 閆 丹
北京城市排水集團(tuán)基建管理分公司 王蘭帥
針對當(dāng)前流程管理平臺的現(xiàn)狀,引入了基于HTML5技術(shù)的流程管理平臺升級改造的架構(gòu)體系。首先介紹了流程管理平臺的現(xiàn)狀、html5技術(shù)介紹,引入了基于HTML5技術(shù)的流程管理平臺的升級改造,論述了其整體設(shè)計(jì)、關(guān)鍵技術(shù)和功能結(jié)構(gòu)設(shè)計(jì)。該產(chǎn)品在原有流程管理平臺的基礎(chǔ)上,擺脫對Flash插件的依賴,實(shí)現(xiàn)跨瀏覽器、跨平臺的通用流程產(chǎn)品,無需安裝插件,開箱即用,更加安全、可靠、穩(wěn)定,滿足業(yè)務(wù)系統(tǒng)對流程產(chǎn)品的技術(shù)需求。
BPM實(shí)現(xiàn)了業(yè)務(wù)流程建模、運(yùn)行、監(jiān)控的全生命周期管理,為各類系統(tǒng)、微應(yīng)用提供流程建模、運(yùn)行、監(jiān)控全生命周期體系管理,幫助企業(yè)建立標(biāo)準(zhǔn)而規(guī)范的業(yè)務(wù)流程體系,實(shí)現(xiàn)流程集約化、標(biāo)準(zhǔn)化。截止到2019年,SG-BPM支撐了包括網(wǎng)上國網(wǎng)、ECP2.0、PMS2.0、ERP集中部等115套業(yè)務(wù)系統(tǒng),平均總部流程流轉(zhuǎn)12萬筆/日,平均單網(wǎng)省流程流轉(zhuǎn)5萬筆/日。國網(wǎng)外,SG-BPM已經(jīng)在中國商飛、宿遷電廠、蒙西電力等項(xiàng)目上應(yīng)用。
BPM流程設(shè)計(jì)器基于Flex技術(shù)。Adobe公司宣布2020年底將停止對該技術(shù)更新,其合作伙伴蘋果、微軟、谷歌、Facebook也宣布分階段停止支持,2020年過后,主流瀏覽器無法打開BPM設(shè)計(jì)器,流程建模、運(yùn)行監(jiān)控等核心功能將受到影響。同時,由于Flash Player不在維護(hù)更新,存在安全漏洞和安全風(fēng)險。因此,需要盡快對BPM設(shè)計(jì)器進(jìn)行技術(shù)升級,保證BPM正常使用,更好的支撐泛在電力物聯(lián)網(wǎng)的建設(shè)。
HTML5是標(biāo)準(zhǔn)通用標(biāo)記語言下的一個應(yīng)用,也是一種規(guī)范,一種標(biāo)準(zhǔn)。它通過標(biāo)記符號來標(biāo)記要顯示的網(wǎng)頁中的各個部分。網(wǎng)頁文件本身是一種文本文件,通過在文本文件中添加標(biāo)記符,可以告訴瀏覽器如何顯示其中的內(nèi)容(如:文字如何處理,畫面如何安排,圖片如何顯示等)。瀏覽器按順序閱讀網(wǎng)頁文件,然后根據(jù)標(biāo)記符解釋和顯示其標(biāo)記的內(nèi)容,對書寫出錯的標(biāo)記將不指出其錯誤,且不停止其解釋執(zhí)行過程,編制者只能通過顯示效果來分析出錯原因和出錯部位。但需要注意的是,對于不同的瀏覽器,對同一標(biāo)記符可能會有不完全相同的解釋,因而可能會有不同的顯示效果。
技術(shù)優(yōu)勢:(1)跨平臺性。用H5構(gòu)建的應(yīng)用可以兼容PC端與移動端、Windows與Linux、android與IOS。它可以輕易地移植到各種不同的開放平臺、應(yīng)用平臺上,打破各自為政的局面。(2)本地存儲。基于H5開發(fā)的輕應(yīng)用比本地APP擁有更短的啟動時間,更快的聯(lián)網(wǎng)速度,而且無需下載占用存儲空間。(3)無需依賴第三方瀏覽器插件。這使得用戶用很少的流量就可以欣賞到炫酷的效果。
BPM 2.0是業(yè)務(wù)流程建模符號2.0的縮寫。它由Business Process Management Initiative這個非營利協(xié)會創(chuàng)建并不斷發(fā)展。作為一種標(biāo)識,BPM 2.0是使用一些符號來明確業(yè)務(wù)流程設(shè)計(jì)流程圖的一套符號規(guī)范,它能增進(jìn)業(yè)務(wù)建模時的溝通效率。目前BPMN2.0是最新的版本,它用于在BPM上下文中進(jìn)行布局和可視化的溝通。BPM 2.0的開發(fā)目標(biāo)是創(chuàng)建一種標(biāo)準(zhǔn),一種用于對業(yè)務(wù)流程建模的通用語言。是要提供被所有業(yè)務(wù)用戶理解的一套標(biāo)記語言,包括業(yè)務(wù)分析者、軟件開發(fā)者以及業(yè)務(wù)管理者與監(jiān)察者。因此,在設(shè)計(jì)流程圖時,使用這種通用的符號,以供其它許多能夠使用此國際標(biāo)準(zhǔn)符號的專業(yè)人員理解你的流程。這也是BPM符號2.0如此廣泛,并被專業(yè)人員接受為表示流程的最佳解決方案。

圖1 技術(shù)原理圖
流程虛擬機(jī)是一個用來構(gòu)建和執(zhí)行流程圖的簡單的java類庫。它充當(dāng)著各種工作流、流程管理和編制流程語言的基礎(chǔ)組件。在B P M提升方面,遵循國際組織B P M I(B u s i n e s s Process Management Initiative)的BPMN2.0標(biāo)準(zhǔn),在此基礎(chǔ)上提出對流程虛擬機(jī)的內(nèi)核改造方案,使其具備快速開發(fā)基于BPMN2.0標(biāo)準(zhǔn)的流程圖元的能力。
圖1所示給出了該技術(shù)原理,改造后的流程虛擬機(jī)內(nèi)核提供流程定義模型、流程調(diào)度框架、流程圖元開發(fā)環(huán)境以及流程圖元開發(fā)擴(kuò)展點(diǎn)。流程定義模型保持不變,通過流程擴(kuò)展節(jié)點(diǎn)的運(yùn)行期行為,實(shí)現(xiàn)流程虛擬機(jī)內(nèi)核對流程的描述建模能力;流程調(diào)度框架,使流程可以持續(xù)運(yùn)行或從任意一個點(diǎn)重新切入繼續(xù)運(yùn)行;流程圖元開發(fā)擴(kuò)展環(huán)境及其擴(kuò)展點(diǎn),把流程在運(yùn)行期的關(guān)鍵行為全部抽象出來,與流程的其他模塊解耦合,在此基礎(chǔ)上采用HTML5技術(shù)開發(fā)基于BPMN2.0標(biāo)準(zhǔn)的圖元,如:人工活動、自動活動等。通過技術(shù)改造,構(gòu)建了獨(dú)立的流程虛擬機(jī)環(huán)境,解決了項(xiàng)目級BPM中模塊間耦合度高,新增流程圖元困難的問題,提高了平臺擴(kuò)展性。
2.2.1 流程設(shè)計(jì)器
Adobe Flash Player目前存在著一個大問題,就是它會導(dǎo)致瀏覽器運(yùn)行的效率大幅度降低,而且安全風(fēng)險很高,問題很大。Adobe計(jì)劃在2020年淘汰Flash Player,這將是萬維網(wǎng)歷史上的一個關(guān)鍵點(diǎn)。谷歌正在盡可能順利地完成Flash Player的過渡,2020年12月之后Chrome將不再支持Flash Player。HTML5可視化可拖拽的流程設(shè)計(jì)器替換原Flash,滿足主流瀏覽器、安全、穩(wěn)定、可擴(kuò)展成為了本課題研究的關(guān)鍵點(diǎn)和難點(diǎn)。
2.2.2 序列化及反序列化
依據(jù)BPMN2.0的標(biāo)準(zhǔn)以及原BPM的個性配置,需要對整個流程、圖元屬性、業(yè)務(wù)規(guī)則等持久化到數(shù)據(jù)庫。同時在編輯流程時,已配置的需要可展現(xiàn)編輯。流程、圖元屬性、規(guī)則等需要大量時間對比和實(shí)現(xiàn)成為了本課題研究的關(guān)鍵點(diǎn)和難點(diǎn)。
2.2.3 交互接口
接口是設(shè)計(jì)器和后臺進(jìn)行數(shù)據(jù)交互方式,實(shí)現(xiàn)動態(tài)配置流程、業(yè)務(wù)操作、業(yè)務(wù)規(guī)則、人工任務(wù)等一系列的功能。對原有EOS的交互式接口整理并如何滿足新設(shè)計(jì)器需求成為了本課題研究的關(guān)鍵點(diǎn)和難點(diǎn)。
2.2.4 引擎適應(yīng)
流程引擎是BPM產(chǎn)品的核心,提供流程解析、流程驅(qū)動、流程調(diào)度、流程參數(shù)管理、流程并發(fā)控制、流程動態(tài)變更、流程模式控制和流程版本管理、流程定義工具、和流程應(yīng)用工具、服務(wù)調(diào)用、接口調(diào)用和直接web訪問;流程數(shù)據(jù)如何滿足現(xiàn)有引擎,實(shí)現(xiàn)流程的正常流轉(zhuǎn),成為了本課題研究的關(guān)鍵點(diǎn)和難點(diǎn)。
BPM在國網(wǎng)內(nèi)已經(jīng)平穩(wěn)運(yùn)行支撐了10年,相比于外部BPM產(chǎn)品而言,在國網(wǎng)公司實(shí)際應(yīng)用經(jīng)驗(yàn)更為豐富,在性能、安全、可靠性方面更加的性能優(yōu)越和安全可靠,完全符合國網(wǎng)公司的特色需要。經(jīng)過多年建設(shè),BPM平臺包含了流程中心、智能表單、流程引擎、流程設(shè)計(jì)器、服務(wù)編排等核心能力,構(gòu)建了流程管理生態(tài)圈。但是由于BPM流程設(shè)計(jì)器是基于Flex技術(shù),Adobe公司宣布2020年底將停止對該技術(shù)更新,其合作伙伴蘋果、微軟、谷歌、Facebook也宣布分階段停止支持,BPM的核心功能將受到影響。為了擺脫對Flash插件的依賴,保證BPM正常使用,所以這次改造重點(diǎn)放在流程設(shè)計(jì)器、流程引擎、流程表單三部分,改造后使其更高效、便捷,能夠?qū)崿F(xiàn)多場景、一站式的流程全生命周期管理。如圖2所示。

圖2 功能設(shè)計(jì)圖
結(jié)語:以流程引擎為核心,以BPMN2.0規(guī)范為標(biāo)準(zhǔn),調(diào)整流程設(shè)計(jì)器的技術(shù)架構(gòu),將原有基于Flex技術(shù)的流程設(shè)計(jì)器改造成基于HTML5技術(shù)的流程設(shè)計(jì)器。同時針對流程設(shè)計(jì)器的改造,需要對流程引擎、流程表單進(jìn)行適應(yīng)性改造。通過對流程設(shè)計(jì)器、流程引擎、流程表單的技術(shù)改造,實(shí)現(xiàn)跨瀏覽器、跨平臺的通用流程產(chǎn)品,滿足業(yè)務(wù)系統(tǒng)對流程產(chǎn)品的技術(shù)需求。通過對流程設(shè)計(jì)器、流程引擎、流程表單的技術(shù)改造,擺脫對Flash插件的依賴,實(shí)現(xiàn)跨瀏覽器、跨平臺的通用流程產(chǎn)品,無需安裝插件,開箱即用,更加安全、可靠、穩(wěn)定,滿足業(yè)務(wù)系統(tǒng)對流程產(chǎn)品的技術(shù)需求。