陳路路,周 鳳
(貴州大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,貴州 貴陽 550025)
一種協(xié)同的柔性Activiti5引擎設(shè)計
陳路路,周 鳳
(貴州大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,貴州 貴陽 550025)
近年來,各類工作流技術(shù)產(chǎn)品層出不窮,雖然滿足了流程的跟蹤和業(yè)務(wù)監(jiān)控需求,但隨著信息技術(shù)的發(fā)展,一方面,一些行業(yè)對于跨區(qū)域、跨組織的要求越來越高,這就要求工作流產(chǎn)品在實際的應(yīng)用中要解決協(xié)同辦公問題。另一方面,由于業(yè)務(wù)流程的變更而引起的動態(tài)自適應(yīng)問題也日益突出。針對這兩方面的問題,提出了協(xié)同的柔性Activiti5引擎的設(shè)計方案。其中針對協(xié)同問題采用Web Service技術(shù),把需要交互的工作流技術(shù)封裝為Web服務(wù),通過SOAP和UDDI等協(xié)議進行交互。另外針對柔性問題采用BP算法,不斷地模擬上下文環(huán)境和用戶的輸入數(shù)據(jù),把產(chǎn)生的執(zhí)行路徑的結(jié)果存入策略池,動態(tài)地自主選擇實際執(zhí)行路徑。該協(xié)同的柔性Activiti5模型不僅能很好地解決協(xié)同交互問題,而且也能有效支持業(yè)務(wù)的動態(tài)變更,從而實現(xiàn)行業(yè)的跨區(qū)域辦公和業(yè)務(wù)流程的自適應(yīng)性。
Activiti5引擎;柔性;工作流技術(shù);動態(tài)變更;Web Service技術(shù)
伴隨著網(wǎng)絡(luò)信息技術(shù)的快速發(fā)展,各行各業(yè)對信息化的要求越來越高,隨之而來的相關(guān)業(yè)務(wù)也就復(fù)雜起來,人們的辦公不僅僅局限于同一地點同一部門,可能還涉及不同地點不同部門的相互協(xié)同工作,進而就要把各個不同系統(tǒng)的相關(guān)需求都要考慮進去。另一方面,由于業(yè)務(wù)可能隨時出現(xiàn)變更問題,對于一些動態(tài)的業(yè)務(wù)變化,工作流技術(shù)要有很好的自適應(yīng)和處理能力。目前,針對協(xié)同和柔性支持這兩個領(lǐng)域,眾多的研究工作者都做了不同程度的研究和探索,也有相應(yīng)的一些研究成果。在這些領(lǐng)域中,都是針對其中某一個問題給出了解決方案,然而,在實際應(yīng)用中,工作流管理系統(tǒng)不但要提供協(xié)同辦公,還要提供一定程度的柔性支撐。因此在已有工作流的研究基礎(chǔ)上,文中結(jié)合當(dāng)前工作流開源產(chǎn)品,設(shè)計了一種基于Web支持的協(xié)同辦公和業(yè)務(wù)動態(tài)變更的Activiti5工作流模型[1]。
1.1 協(xié)同工作流
協(xié)同工作流[2-3],就是可以在不同的系統(tǒng)、組織或者企業(yè)中進行流程或者應(yīng)用服務(wù)上的交互技術(shù),這樣相互合作的對象就必須要知道對方的一些流程信息,可是從數(shù)據(jù)安全性角度考慮,協(xié)同工作流并不需要完全知道對方的詳細流程信息和數(shù)據(jù)。目前的大多數(shù)交互模式中,普遍采用的是“黑盒子”模式,需要溝通交互的雙方建立一個平臺,然后以“黑盒子”形式進行,這樣可以確保流程信息的安全性。另外一種交互模式[4]就是對外發(fā)布一些交互的流程接口,由工作流引擎進行統(tǒng)一的協(xié)調(diào)和交互,但是對于一些復(fù)雜的交互量大的業(yè)務(wù)來說,這種以Workflow Engine為核心的交互技術(shù)會加重其交互負擔(dān),形成瓶頸,降低交互效率。文中協(xié)同工作流技術(shù)解決交互問題采用的技術(shù)是Web Service,把需要交互的工作流技術(shù)封裝為Web服務(wù),通過SOAP和UDDI等協(xié)議進行交互。
1.2 柔性工作流
“柔性”就是指在外部因素改變的情況下,自身能夠?qū)@種改變有一定自適應(yīng)能力,從而保證原有特性的一種能力。相同地,柔性工作流[5-7]中柔性與此類似,就是在工作流定義完成后,在其運行階段,對外部的環(huán)境和突發(fā)事件,比如任務(wù)的提前處理,任務(wù)處理人的更換等問題,給出合理的應(yīng)對措施,從而讓業(yè)務(wù)流程順利執(zhí)行下去。再比如當(dāng)流程或者系統(tǒng)的某個模塊發(fā)生改變時,僅對相應(yīng)的流程定義或者相關(guān)參數(shù)規(guī)則進行調(diào)節(jié)即可,而系統(tǒng)本身的架構(gòu)不會發(fā)生變化。一般來說,柔性工作流技術(shù)對于節(jié)點的刪除、添加、更改等操作,都有一個動態(tài)的調(diào)整度,并且能夠動態(tài)地設(shè)置流程節(jié)點屬性及其執(zhí)行人員,大部分的這種柔性的實現(xiàn)是通過動態(tài)選擇、動態(tài)細化、動態(tài)變更、動態(tài)偏離等方法進行提高和改進的。文中的柔性問題的解決是通過BP算法,不斷地模擬上下文環(huán)境和用戶的輸入數(shù)據(jù),把所有可能產(chǎn)生執(zhí)行路徑結(jié)果存入策略池,從而動態(tài)地自主選擇實際所執(zhí)行的路徑。
2.1 設(shè)計思想
有關(guān)協(xié)同工作流的設(shè)計思想:首先要做的就是工作流服務(wù)提供者把準(zhǔn)確無誤的流程或者應(yīng)用服務(wù)通過Web服務(wù)中介進行發(fā)布,并在工作流服務(wù)注冊中心進行注冊。其次,如果有需要工作流服務(wù)的用戶或者系統(tǒng),可以向Web服務(wù)中介發(fā)起請求,服務(wù)中介者根據(jù)請求查詢UDDI注冊中心,找出需求者所滿意的服務(wù),找到之后,Web服務(wù)中介者向工作流服務(wù)需求者返回滿足條件的工作流服務(wù)描述信息,用WSDL對該信息進行描述,這樣可以方便支持Web服務(wù)的PC端都能解析。緊接著,工作流服務(wù)的需求者利用從Web服務(wù)中介返回的描述信息生成相應(yīng)的SOAP消息,進而發(fā)送給工作流服務(wù)提供者,以實現(xiàn)工作流服務(wù)的調(diào)用。最后工作流服務(wù)提供者按SOAP消息執(zhí)行相應(yīng)的Web服務(wù),并將服務(wù)結(jié)果返回給工作流服務(wù)請求者,這樣就可以實現(xiàn)在數(shù)據(jù)相對私密的情況下,兩者進行交互和流程信息以及應(yīng)用服務(wù)上的共享問題。其交互圖如圖1所示。
圖1 工作流服務(wù)共享交互圖
有關(guān)柔性方面的設(shè)計思想[8-9]:目前工作流的柔性方面的改進主要是通過動態(tài)選擇、動態(tài)細化、動態(tài)變更、動態(tài)偏離等進行。其中,動態(tài)選擇方法是在流程定義階段,盡可能地把各種可能出現(xiàn)的變化,即執(zhí)行路徑都設(shè)計描述出來,這就要求流程設(shè)計人員非常了解整個執(zhí)行過程以及可能出現(xiàn)的突然事件,給設(shè)計人員帶來了很多設(shè)計上的難點。首先不可能窮盡所有的可能執(zhí)行路徑,其次預(yù)先設(shè)計好的路徑也不一定能夠執(zhí)行,隨機性很大。然后就是動態(tài)細化,由于提前把模糊的不確定的節(jié)點用占位符來表示,等到后期流程執(zhí)行時,流程引擎再根據(jù)流程的具體數(shù)據(jù)信息進行細化補充,如果這些流程節(jié)點是整個流程定義中的關(guān)鍵節(jié)點,或者業(yè)務(wù)流程比較復(fù)雜時,這種方法就顯得臃腫和不堪重負了。動態(tài)變更問題目前主要有流程定義的變更和流程實例的變更,目前還是主要的研究熱點。
基于以上改進方法的優(yōu)點和不足之處,現(xiàn)選擇采用BP算法進行改進,可以模擬外部環(huán)境的變化和一些參數(shù)的改變,然后進行大量訓(xùn)練,進而把可能執(zhí)行的路徑結(jié)果都記憶下來。BP算法的核心思想就是輸入一些學(xué)習(xí)樣本,結(jié)合工作流的實際情況,這些學(xué)習(xí)樣本就是流程執(zhí)行的上下文環(huán)境和用戶的輸入數(shù)據(jù),然后采用反向傳播思想對預(yù)先結(jié)果的偏差進行不斷的訓(xùn)練和調(diào)整。其中采用BP算法的流程圖如圖2所示。
圖2 增加BP算法的流程圖
每次改變外部環(huán)境和參數(shù),如果進行訓(xùn)練后的執(zhí)行路徑偏離原來的很嚴重,或者和實際的不相符,那么就重新設(shè)定,然后再訓(xùn)練;如果達到的偏離范圍在兩個任務(wù)節(jié)點以內(nèi),那么就可以認為是誤差合理的,再把所有可能出現(xiàn)的流程執(zhí)行路徑存儲在策略池中;如遇到實際的流程執(zhí)行路徑,就可以從策略池自動地選取合適的執(zhí)行路徑進行傳遞。圖3為增加BP算法后的柔性改進。
圖3 流程執(zhí)行路徑選取圖
其中虛線的是不執(zhí)行的,實線是實際流程執(zhí)行的實際路徑。由圖可知,業(yè)務(wù)流程的選取可以不用事先設(shè)定好,只需要把平時的訓(xùn)練結(jié)果放入策略池中,然后當(dāng)流程需要執(zhí)行時,就可以自動地從策略池中進行選取,這樣不用設(shè)計人員浪費大量的時間去設(shè)計描述流程執(zhí)行路徑,增加了工作流的柔性度。
2.2 模型設(shè)計
在該設(shè)計模型中,核心部分是Activiti5工作流引擎[10],負責(zé)生成流程運行時的各種實例以及數(shù)據(jù),并且監(jiān)控和管理流程的運行。該模型中的流程定義工具與管理和監(jiān)控接口都是面向管理者的,其中流程定義工具主要是用來建模的,流程管理和監(jiān)控接口是用來管理和監(jiān)控流程運行狀態(tài)的。工作流服務(wù)注冊,是提供方便的信息交換平臺,進行交互的其他工作流的系統(tǒng)[11-12]所提供的服務(wù)都符合這個標(biāo)準(zhǔn)。用戶接口主要是用戶和工作流進行交互的。Web服務(wù)代理的功能就是發(fā)送Web服務(wù)請求,接收Web服務(wù)結(jié)果,也可以和其他工作流進行交互通信。模型如圖4所示。
圖4 協(xié)同柔性工作流模型
2.3 引擎實現(xiàn)框架
流程實例開始執(zhí)行的時候,倘若出現(xiàn)一些流程業(yè)務(wù)變更問題[13],引擎通過任務(wù)與實例間的關(guān)聯(lián)關(guān)系就可以恰當(dāng)處理。比如流程變更問題,引擎只需要通過變更任務(wù)的定義標(biāo)識以及相關(guān)的流程實例獲取任務(wù)的執(zhí)行信息,經(jīng)過變更機制處理,重新生成新的任務(wù)實例,將新的數(shù)據(jù)增添到當(dāng)前的任務(wù)實例列表中,與此同時,在歷史任務(wù)列表中更新當(dāng)前新數(shù)據(jù)。圖5的引擎框架中,ProcessEngine[14]共提供了7個接口,實現(xiàn)流程動態(tài)變更問題就是通過TaskService接口來實現(xiàn),在這個接口中新增任務(wù)重做接口,具體的指令實現(xiàn)在Command庫中添加指令,實現(xiàn)流程變更功能。
該協(xié)同柔性的Activiti5引擎設(shè)計主要是依據(jù)Web
圖5 引擎實現(xiàn)框架圖
Service技術(shù)和BP算法,Web Service技術(shù)可以解決不同部門、不同區(qū)域的交互辦公問題,方便了人們的服務(wù)共享。與以往提出的分布式工作流模型相比,該模型具有更好的擴展性、平臺無關(guān)性和互操作性,無論工作流的系統(tǒng)內(nèi)部如何實現(xiàn),只需要把交互的技術(shù)封裝為Web服務(wù)即可,這樣也保證了數(shù)據(jù)的安全性。另外,柔性的實現(xiàn)主要是通過BP算法不斷地訓(xùn)練修改,把所有可能的結(jié)果放入策略池中,讓流程的產(chǎn)生可以自動地從策略池中選取,不用人為地去提前設(shè)定,節(jié)省了大量的人力、物力,減少了設(shè)計成本。
[1] 岑炬徽.基于移動Agent的柔性工作流協(xié)同模型的研究與實現(xiàn)[D].廣州:華南理工大學(xué),2013.
[2] 馬晨華.面向協(xié)同工作環(huán)境的多層級訪問控制模型研究及應(yīng)用[D].杭州:浙江大學(xué),2011.
[3] 李 申.大型天線結(jié)構(gòu)協(xié)同設(shè)計關(guān)鍵技術(shù)研[D].西安:西安電子科技大學(xué),2013.
[4] Zhao P L,Li Y H,Yang H K,et al.Design,synthesis and antiproliferative activity of novel 5-nitropyrimidine-2,4-diamine derivatives bearing alkyl acetate moiety[J].European Journal of Medicinal Chemistry,2016,118:161-169.
[5] 甄 雪.基于工作流的裝配執(zhí)行過程集成監(jiān)控與柔性業(yè)務(wù)協(xié)同技術(shù)[D].北京:北京理工大學(xué),2015.
[6] 魏 華.基于柔性工作流技術(shù)的電力生產(chǎn)協(xié)同組織管理系統(tǒng)的研究與實現(xiàn)[D].北京:北京交通大學(xué),2007.
[7] 馬 競.基于OSGi的海戰(zhàn)場柔性工作流的技術(shù)研究[D].北京:中國艦船研究院,2015.
[8] 史銀雪.目標(biāo)驅(qū)動—情境感知的柔性Web服務(wù)組合研究[D].北京:中國農(nóng)業(yè)大學(xué),2014.
[9] 王衛(wèi)華.基于柔性工作流的質(zhì)量管理系統(tǒng)設(shè)計與實現(xiàn)[D].南昌:南昌大學(xué),2010.
[10] Xiao S,Zhu W,Liu P,et al.CNTs threaded (001) exposed TiO2 with high activity in photocatalytic NO oxidation[J].Nanoscale,2016,8(5):2899-2907.
[11] 何 佳.基于Activiti5的Web管理控制臺的設(shè)計與實現(xiàn)[D].昆明:昆明理工大學(xué),2012.
[12] 陳 啟,孫樹棟.基于組件化柔性工作流的協(xié)同質(zhì)量控制系統(tǒng)設(shè)計[J].中國制造業(yè)信息化,2008,37(6):18-21.
[13] Sun J,Wang L,Song R,et al.Enhancing pyridinic nitrogen level in graphene to promote electrocatalytic activity for oxygen reduction reaction[J].Nanotechnology,2016,27(5):055404.
[14] Zhang S Y,Fu D J,Yue X X,et al.Design,synthesis and structure-activity relationships of novel chalcone-1,2,3-triazole-azole derivates as antiproliferative agents[J].Molecules,2016,21(5):653.
Design of a Cooperative Flexible Activiti5 Engine
CHEN Lu-lu,ZHOU Feng
(College of Computer Science and Technology,Guizhou University,Guiyang 550025,China)
In recent years,diverse kinds of workflow products emerge in an endless stream.With the development of information technology,these products could satisfy need of process tracking and business monitoring.However,requests of inter-region and inter-organization integration in several industries have become higher and higher which needs to solve the problem of collaboration office on one hand,and dynamic adaptive problems caused by alteration of business process have been more and more prominent on the other hand.Aiming at the two problems,a design scheme of collaborative and flexible workflow Activiti5 engine has been proposed among which Web Service technology is employed for coordination problem through encapsulating the interactive workflow techniques into Web Services under SOAP and UDDI protocol.In addition,BP algorithm is introduced to solve flexible problems,by which context environments and input data from user are continuously simulating so that the generated result of executive path can be conserved into strategy pool in convenient for dynamically self-determining practical executive path.Eventually the Activiti5 model is shown effective for having solved the collaborative and flexible problems and supported dynamic alteration of business with realizations of interregional office and self-adaption potential of business process.
Activiti5 engine;flexibility;workflow technology;dynamic change;Web Service Technology
2016-05-03
2016-09-07
時間:2017-02-17
貴州省自然科學(xué)基金(黔科合20102257)
陳路路(1989-),女,碩士,研究方向為工作流技術(shù);周 鳳,碩士,副教授,研究方向為網(wǎng)絡(luò)技術(shù)。
http://www.cnki.net/kcms/detail/61.1450.TP.20170217.1632.076.html
TP31
A
1673-629X(2017)03-0048-04
10.3969/j.issn.1673-629X.2017.03.010