王冠群,滕海波
(承德石油高等專(zhuān)科學(xué)校 儀表中心,河北 承德 067000)
隨著信息技術(shù)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,互聯(lián)網(wǎng)技術(shù)得到了廣泛的應(yīng)用,深入到我們生活的方方面面,其中基于B/S結(jié)構(gòu)的Web應(yīng)用程序正在逐步成為信息化建設(shè)的核心力量。隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,程序的規(guī)模和功能也呈現(xiàn)了幾何級(jí)增長(zhǎng),同時(shí)開(kāi)發(fā)人員的空間和時(shí)間也有了更多的靈活性,中大規(guī)模多人協(xié)作,跨空間,跨時(shí)間的開(kāi)發(fā)模式成為目前主流的開(kāi)發(fā)模式[1]。因此在線(xiàn)共享開(kāi)發(fā)平臺(tái)和流程控制引擎應(yīng)運(yùn)而生,其作用是提高信息系統(tǒng)開(kāi)發(fā)規(guī)范性,有效管理和監(jiān)控信息系統(tǒng)運(yùn)行,合理規(guī)劃信息化系統(tǒng)開(kāi)發(fā)進(jìn)程,降低信息化系統(tǒng)開(kāi)發(fā)難度,便于多人協(xié)作,提升開(kāi)發(fā)效率,縮短開(kāi)發(fā)周期。
國(guó)內(nèi)外研究現(xiàn)狀及分析國(guó)外的共享開(kāi)發(fā)平臺(tái)和流程控制引擎起步較早,開(kāi)始于2008年左右,產(chǎn)品目前已經(jīng)較成熟。2014年左右進(jìn)入中國(guó)市場(chǎng),布局較早,且這些產(chǎn)品都?xì)w屬于國(guó)外著名的大型科技研發(fā)公司,技術(shù)基礎(chǔ)雄厚;共享開(kāi)發(fā)平臺(tái)功能全面,支持B/S、C/S、Andriod等程序結(jié)構(gòu)的產(chǎn)品協(xié)作開(kāi)發(fā);流程控制引擎嚴(yán)格遵守BPMN2.0標(biāo)準(zhǔn);品牌價(jià)值高;這兩類(lèi)產(chǎn)品目前主要被國(guó)內(nèi)大型的互聯(lián)網(wǎng)公司所采用[2]。不過(guò)這些產(chǎn)品有以下缺點(diǎn)限制了其在國(guó)內(nèi)市場(chǎng)的推廣和應(yīng)用:編程習(xí)慣與國(guó)內(nèi)不同,造成部分功能使用起來(lái)不方便;價(jià)格昂貴;.國(guó)外流程控制引擎與中國(guó)式思維相差很大,使用起來(lái)需要在原有基礎(chǔ)上進(jìn)行二次開(kāi)發(fā),增加開(kāi)發(fā)時(shí)間和開(kāi)發(fā)難度;開(kāi)發(fā)平臺(tái)與流程控制引擎獨(dú)立,沒(méi)有深度融合;軟件集成度過(guò)高,即面向B/S、C/S、Android等多種應(yīng)用程序開(kāi)發(fā),對(duì)只做B/S應(yīng)用程序的企業(yè)和人員來(lái)說(shuō),針對(duì)性不強(qiáng),使用時(shí)加載項(xiàng)較多,部分語(yǔ)句過(guò)于冗繁執(zhí)行效率低。
國(guó)內(nèi)共享研發(fā)平臺(tái)和流程控制引擎雖然起步較晚,流程控制引擎研發(fā)起步于2012年左右,在線(xiàn)開(kāi)發(fā)平臺(tái)起步于2016年,但是發(fā)展較快,目前市面上已經(jīng)有多種研發(fā)國(guó)產(chǎn)平臺(tái)和流程控制引擎。國(guó)內(nèi)產(chǎn)品的優(yōu)勢(shì)是:較國(guó)外產(chǎn)品來(lái)說(shuō)價(jià)格便宜。流程控制引擎更加符合中國(guó)國(guó)情,支持復(fù)雜任務(wù)流轉(zhuǎn),如轉(zhuǎn)發(fā)、退回、自由跳轉(zhuǎn)、會(huì)簽等處理,可以大大減少二次開(kāi)發(fā)工作量;產(chǎn)品針對(duì)中國(guó)市場(chǎng)研發(fā),界面友好,部分產(chǎn)品還有中文的社區(qū)支持和有開(kāi)發(fā)人員參與的技術(shù)交流群。但是國(guó)內(nèi)產(chǎn)品由于發(fā)展時(shí)間過(guò)短還具有一些缺點(diǎn):流程控制引擎雖然較國(guó)外產(chǎn)品更加符合中國(guó)國(guó)情,但是部分產(chǎn)品不遵循BPMN2.0標(biāo)準(zhǔn),給后期使用和維護(hù)造成了一定麻煩;與國(guó)外產(chǎn)品類(lèi)似,軟件集成度過(guò)高,即面向B/S、C/S、Android等多種應(yīng)用程序開(kāi)發(fā),對(duì)只做B/S應(yīng)用程序的企業(yè)和人員來(lái)說(shuō),針對(duì)性不強(qiáng),使用時(shí)加載項(xiàng)較多,部分語(yǔ)句過(guò)于冗繁執(zhí)行效率低,共享開(kāi)發(fā)平臺(tái)與流程控制引擎獨(dú)立,缺乏融合。
基于云技術(shù)的輕量化共享快速開(kāi)發(fā)平臺(tái)的設(shè)計(jì)
本文提出開(kāi)發(fā)一種針對(duì)于B/S程序結(jié)構(gòu)的基于云技術(shù)的在線(xiàn)輕量化共享快速開(kāi)發(fā)平臺(tái),該平臺(tái)將自主研發(fā)的流程控制引擎植入其中,實(shí)現(xiàn)二者的緊密融合。代碼在瀏覽器中直接編輯、修改、編譯生效、保存、支持熱部署便于團(tuán)隊(duì)協(xié)作開(kāi)發(fā),遠(yuǎn)程開(kāi)發(fā),提高了開(kāi)發(fā)效率,提高了開(kāi)發(fā)人員的空間和時(shí)間自由度,縮短了開(kāi)發(fā)時(shí)間,避免重復(fù)性的開(kāi)發(fā)工作,統(tǒng)一了開(kāi)發(fā)流程,提高了軟件的可靠性和易維護(hù)性,實(shí)現(xiàn)了系統(tǒng)的開(kāi)發(fā)運(yùn)維一體化。
平臺(tái)由通用后臺(tái)管理系統(tǒng)、在線(xiàn)代碼開(kāi)發(fā)功能、可在線(xiàn)管理的輕量級(jí)流程引擎、基于WebSocket技術(shù)的消息管理與系統(tǒng)運(yùn)維系體系、數(shù)據(jù)庫(kù)在線(xiàn)管理體系。平臺(tái)架構(gòu)由網(wǎng)關(guān),服務(wù)總線(xiàn)、容器組成。如圖1 所示。
平臺(tái)可以在瀏覽器中直接打開(kāi),而無(wú)需開(kāi)發(fā)工具,在線(xiàn)修改,直接編譯生效天生擁有熱部署特性。內(nèi)置版本管理體系及數(shù)據(jù)服務(wù)測(cè)試系統(tǒng)。系統(tǒng)提代原生態(tài)的頁(yè)面代碼及可視化的頁(yè)面開(kāi)發(fā)功能。原生態(tài)的頁(yè)面開(kāi)發(fā)功能與常規(guī)開(kāi)發(fā)工具HTML代碼開(kāi)發(fā)一致,可視化的面開(kāi)發(fā)主要是用來(lái)開(kāi)發(fā)流程審批表單,所見(jiàn)即所得。如圖2所示。
輕量級(jí)流程引擎。吸納了JBPM3、Activiti5、FoxBPM等國(guó)內(nèi)外開(kāi)源流程引擎的精髓,同時(shí)提供了強(qiáng)大的中國(guó)式流程流轉(zhuǎn)處理,完全在線(xiàn)管理,圖形化在線(xiàn)流程圖管理、在線(xiàn)流程監(jiān)控、在配制、在線(xiàn)表單設(shè)計(jì)。流引擎架構(gòu)分為五層,分別為:數(shù)據(jù)層、數(shù)據(jù)連接層、引擎及適配器層、接口層和展現(xiàn)層。
數(shù)據(jù)層:數(shù)據(jù)層是工作流引擎的流程定義數(shù)據(jù)、過(guò)程實(shí)例數(shù)據(jù)、過(guò)程日志數(shù)據(jù)等存儲(chǔ)的一層,是整個(gè)工作流引擎的最底層,支持各類(lèi)主流數(shù)據(jù)庫(kù)。
數(shù)據(jù)連接層:數(shù)據(jù)連接層是承上啟下的一層,它用來(lái)將工作流引擎軟件與底層數(shù)據(jù)庫(kù)進(jìn)行連接,支持多種連接方式,支持多數(shù)據(jù)源同時(shí)連接[3]。
引擎及適配器層:引擎及適配器層是核心層,包括工作流引擎、規(guī)則引擎和各類(lèi)適配器,承載工作流引擎的核心功能,以及與第三方的各類(lèi)適配和對(duì)接[4]。
接口層:接口層是對(duì)外的提供各類(lèi)接口的封裝,工作流引擎對(duì)外提供WFMC的標(biāo)準(zhǔn)接口,并支持對(duì)此接口擴(kuò)展。
展現(xiàn)層:展現(xiàn)層是我們的調(diào)用和使用層,主要包括API調(diào)用、WebService調(diào)用和各類(lèi)流程管理、流程設(shè)計(jì)的頁(yè)面。如圖3所示。
基于WebSocket技術(shù)開(kāi)發(fā)了消息管理與系統(tǒng)運(yùn)維系體系,可以監(jiān)控在線(xiàn)用戶(hù),對(duì)個(gè)人或集體發(fā)送信息或臨時(shí)系統(tǒng)功能。如下圖4所示。
通用于各種數(shù)據(jù)庫(kù)的,數(shù)據(jù)庫(kù)在線(xiàn)管理工具。主要由數(shù)據(jù)表管理、命名sql管理、數(shù)據(jù)源管理、序列管理組成。
數(shù)據(jù)表在線(xiàn)管理可以清析明了的體現(xiàn),數(shù)據(jù)表所屬業(yè)務(wù),及列信息描述,并且可以將不同數(shù)據(jù)源的表展現(xiàn)在一起,這是常規(guī)數(shù)據(jù)管理工具所不具備的,是一款針對(duì)系統(tǒng)在線(xiàn)開(kāi)發(fā)而研究的工具。如下圖5所示。
本文主要研究設(shè)計(jì)一種基于云技術(shù)的輕量化在線(xiàn)快速共享開(kāi)發(fā)平臺(tái),并內(nèi)嵌流程控制引擎,該平臺(tái)值面向B/S應(yīng)用程序開(kāi)發(fā),專(zhuān)業(yè)性強(qiáng),針對(duì)性強(qiáng),操作簡(jiǎn)單快捷。該平臺(tái)具有以下功能:通用后臺(tái)管理體系,代碼在線(xiàn)開(kāi)發(fā),在線(xiàn)流程設(shè)計(jì)及管理,支持多數(shù)據(jù)源多數(shù)據(jù)庫(kù),通用服務(wù)體系。該平臺(tái)的推廣和使用將助力我國(guó)互聯(lián)網(wǎng)產(chǎn)業(yè)的發(fā)展。