国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

可配置的業(yè)務(wù)流程動態(tài)管理系統(tǒng)應(yīng)用研究

2019-09-12 06:20楊朔許錦才金鳳飛古衛(wèi)明
計算機時代 2019年8期
關(guān)鍵詞:業(yè)務(wù)流程

楊朔 許錦才 金鳳飛 古衛(wèi)明

摘? 要: Activiti是一個輕量級的工作流和業(yè)務(wù)流程管理(BPM)平臺,作為面向企業(yè)業(yè)務(wù)的開源框架,可運行在任何Java應(yīng)用程序、云服務(wù)器上。ExtJS是一種主要用于創(chuàng)建前端用戶界面的ajax框架。PageOffice是協(xié)助用戶在線編輯Word、Excel、PowerPoint文檔和Word/Excel模板的一種解決方案。文章研究了基于Activiti的可配置業(yè)務(wù)流程動態(tài)管理系統(tǒng),該系統(tǒng)作為工作流開發(fā)基礎(chǔ)平臺,不僅適用于各種行業(yè)領(lǐng)域的業(yè)務(wù)流程管理軟件,還可以通過動態(tài)配置工作流程適應(yīng)不同的業(yè)務(wù)環(huán)境。

關(guān)鍵詞: Activiti; ExtJS; PageOffice; 業(yè)務(wù)流程; 動態(tài)配置

中圖分類號:TP317.1? ? ? ? ? 文獻標(biāo)志碼:A? ? ?文章編號:1006-8228(2019)08-07-03

Abstract: Activiti is a lightweight workflow and business process management (BPM) platform that acts as an open source framework for enterprise business and runs on any Java application or cloud server. ExtJS is a front-end ajax framework mainly used to create front-end user interfaces. PageOffice is a solution to help users realize online editing of Word, Excel, PowerPoint documents and Word/Excel templates dynamically. This paper uses Activiti, ExtJS and PageOffice to design a configurable business process dynamic management framework, which is the basic platform for workflow development. The framework is not only suitable for developing software systems with business processes in any industry field, it is also possible to adapt to different business environments through a dynamic configuration of workflow.

Key words: Activiti; ExtJS; PageOffice; business process; dynamic configuration

0 引言

企業(yè)信息化建設(shè)工作流技術(shù)不斷發(fā)展,給企業(yè)帶來便利,同時也給業(yè)務(wù)流程管理帶來新的挑戰(zhàn):①針對企業(yè)的業(yè)務(wù)流程多樣化,需應(yīng)對外部環(huán)境變化或流程執(zhí)行過程中的一些意外情況,因此需提高工作流應(yīng)用平臺的寬容度;②工作流應(yīng)用平臺需要更好的結(jié)合Web技術(shù),以擴展其應(yīng)用范圍和靈活性;③工作流應(yīng)用平臺需要適應(yīng)各種不同的應(yīng)用領(lǐng)域[1]。為解決上述問題,本文對工作流技術(shù)、Web技術(shù)、數(shù)據(jù)采集技術(shù)、通訊技術(shù)等進行研究,實現(xiàn)一個基于Activiti的可配置的業(yè)務(wù)流程動態(tài)管理系統(tǒng)。

1 Activiti介紹

Activiti作為wfmc標(biāo)準(zhǔn)的開源工作流引擎,包括RepositoryService、RuntimeService、TaskService等服務(wù)。該引擎提供了啟動流程、查詢流程實例、設(shè)置獲取流程實例變量、對流程部署,流程定義和流程實例的存取服務(wù)等服務(wù)[2]。在實際的信息化應(yīng)用通過整合Acfiviti,使得流程業(yè)務(wù)系統(tǒng)的耦合降低、系統(tǒng)的結(jié)構(gòu)清晰、業(yè)務(wù)流程管理更加便捷和易操作化。

為實現(xiàn)一個基于Activiti的可配置業(yè)務(wù)流程動態(tài)管理框架,結(jié)合Activiti工作流引擎具備的特性,根據(jù)業(yè)務(wù)流程和最終報文的需要,將報文的內(nèi)容分解到可定制流程的各個步驟中。

在定義業(yè)務(wù)流程的過程中,業(yè)務(wù)類(BusinessEntity)上可定義流程步驟相關(guān)的業(yè)務(wù)規(guī)則(BusinessRules),從而在采集、填報、審核等界面View操作時,能給予智能化提示和校驗。

在流轉(zhuǎn)過程中,根據(jù)流程實例的BusinessKey獲取業(yè)務(wù)實例(BusinessInstance),根據(jù)流程實例當(dāng)前任務(wù)(TaskInstance)獲取應(yīng)使用的View,將BusinessInstance綁定到View上展現(xiàn)數(shù)據(jù),同時Activiti在流程流轉(zhuǎn)過程中,會保留所有歷史流程步驟以及每個歷史流程步驟運行時的變量,從而使流程痕跡可查。

2 ExtJS介紹

ExtJS作為一種用于創(chuàng)建前端用戶界面的Ajax框架,其可用于開發(fā)富客戶端的AJAX應(yīng)用。因此,可將ExtJS用在.Net、Java、PHP等各種開發(fā)語言開發(fā)的應(yīng)用中,在開發(fā)中ExtJS能夠?qū)崿F(xiàn)自動生成行號,支持checkbox全選,動態(tài)選擇顯示指定列等功能,并且可以編輯grid、添加新行、刪除一或多行、提示多行數(shù)據(jù),甚至支持excel導(dǎo)出[3]。

本文所實現(xiàn)框架通過ExtJS定制每個流程步驟(UserTask)涉及的界面(View),通過Activiti提供的FormKey屬性在流程步驟上定義每個流程步驟使用View與View的單對單或單對多組合,最后利用ExtJS對View進行渲染。

3 PageOffice介紹

PageOffice作為一款協(xié)助用戶在線編輯的服務(wù)器控件,其具有Word/Excel模板動態(tài)填充的功能。PageOffice為軟件開發(fā)者構(gòu)建了一套簡潔高效、統(tǒng)一的Office對象接口,能夠無縫支持doc、docx、xls、xlsx、ppt、pptx等流行Office文件格式。同時,PageOffice作為一種在線編輯的解決方案,不僅支持跨瀏覽器部署,實現(xiàn)完全由服務(wù)器端代碼調(diào)用,還具有獨創(chuàng)的文檔并發(fā)編輯控制機制、獨創(chuàng)的Word、Excel在線表單輸入模式和強大的代碼調(diào)試功能[4]。

因此在流程實例流轉(zhuǎn)過程中,PageOffice可根據(jù)模板動態(tài)生成報文以供審核,在流程結(jié)束后,由模板生成終稿。

4 功能介紹

本文所研究的系統(tǒng)采用Activiti、ExtJS和PageOffice技術(shù),研發(fā)集成使用流程定義工具,主要有四大功能模塊。①任務(wù)模塊:人員若為辦理人,則可以通過該模塊查看該用戶在流程實例中的待辦任務(wù)、或拾取該組任務(wù);同時該模塊還關(guān)聯(lián)控制臺涉及的功能,控制臺不僅允許創(chuàng)建一個獨立且沒有關(guān)聯(lián)任何流程實例的任務(wù),還允許查看子任務(wù)的工作及其關(guān)聯(lián)的不同角色的用戶。②流程模塊:該模塊可顯示部署的流程定義列表,同時利用該模塊可以配置和啟動一個流程實例。③報表模塊: 該模塊支持生成報表和顯示之前保存歷史的結(jié)果數(shù)據(jù)。查看報表這一節(jié)可以獲取更多的信息。④管理模塊: 該模塊僅當(dāng)?shù)卿浻脩艟哂谐壒芾韱T權(quán)限才可見。可用于管理Activiti的流程引擎、管理用于和組、執(zhí)行和查看停止的jobs、查看數(shù)據(jù)庫和部署新的流程定義等高權(quán)限操作。

4.1 任務(wù)管理功能

該模塊為用戶辦理的任務(wù)的統(tǒng)一管理模塊,具有以下五個功能,其樣式如圖2所示。

⑴ Inbox:顯示登錄用戶需要辦理的所有任務(wù)列表。

⑵ My tasks:顯示登錄用戶任務(wù)擁有者的任務(wù)列表。當(dāng)創(chuàng)建一個獨立的任務(wù),可以自動化操作該任務(wù)。

⑶ Queued:顯示不用的任務(wù)列表,并且登錄用戶在該組中。這里的所有任務(wù)都必須在取后才能夠完成。

⑷ Involved:顯示登錄用戶被參與的任務(wù)(即不是辦理人和任務(wù)擁有者)。

⑸ Archived歸檔包含已經(jīng)完成的(歷史的)任務(wù)。

4.2 流程模塊

實際工作流的應(yīng)用中,關(guān)聯(lián)最緊密的就是流程部分,具體的流程配置和部署都由該功能模塊進行制作,流程具有以下功能:

⑴ 編輯模型

點擊模型工作區(qū)的編輯按鈕,會打開Modeler。 屏幕左側(cè)是BPMN元素工具面板,也可使用Activiti的擴展組件即可在需要時把新元素拖拽到畫布中。圖3中選中了一個用戶任務(wù),可以填寫用戶任務(wù)的屬性,比如分配,表單屬性和持續(xù)時間。

⑵ 元素定義[5]

① Start Events:開始事件用來指明流程在哪里開始。開始事件的類型定義了流程如何啟動,在本文所研究的內(nèi)容中,開始事件被設(shè)置為捕獲事件,即這些事件都是(一直)等待著,直到對應(yīng)的觸發(fā)時機出現(xiàn)。

② Activities:用戶任務(wù)用來設(shè)置必須由人員完成的工作。當(dāng)流程執(zhí)行到用戶任務(wù),會創(chuàng)建一個新任務(wù),并把這個新任務(wù)加入到群組的任務(wù)列表中。

③ Gateways:網(wǎng)關(guān)用來控制流程的流向(或像BPMN 2.0里描述的那樣,流程的tokens。)其中排他網(wǎng)關(guān)顯示成一個普通網(wǎng)關(guān)(比如菱形圖形), 內(nèi)部是一個“X”圖標(biāo),表示異或(XOR)語義。這里注意,沒有內(nèi)部圖標(biāo)的網(wǎng)關(guān),默認(rèn)為排他網(wǎng)關(guān); 并行網(wǎng)關(guān)顯示成一個普通網(wǎng)關(guān)(菱形)內(nèi)部是一個“加號”圖標(biāo), 表示“與(AND)”語義;基于事件網(wǎng)關(guān)和其他BPMN網(wǎng)關(guān)一樣顯示成一個菱形, 內(nèi)部包含指定圖標(biāo)。

④ Boundary Events:邊界事件都為捕獲事件,它會附在一個環(huán)節(jié)上。這意味著,當(dāng)節(jié)點運行時,事件會監(jiān)聽對應(yīng)的觸發(fā)類型。當(dāng)事件被捕獲,節(jié)點就會中斷,同時執(zhí)行事件的后續(xù)連線。

⑤ Intermediate Catching Events:定時中間事件作為一個監(jiān)聽器。當(dāng)執(zhí)行到達捕獲事件節(jié)點,就會啟動一個定時器。當(dāng)定時器觸發(fā)(比如,一段時間之后),流程就會沿著定時中間事件的外出節(jié)點繼續(xù)執(zhí)行。

⑥ End Events:結(jié)束事件表示(子)流程(分支)結(jié)束,結(jié)束事件同樣為觸發(fā)事件。即當(dāng)流程達到結(jié)束事件,會觸發(fā)一個結(jié)果,該結(jié)果的類型為通過事件的內(nèi)部黑色圖標(biāo)表示。

4.3 報表模塊

報表功能可將用戶填報的頁面通過word、excel等形式歸納展示。當(dāng)前,該報表選項卡會顯示2個子選項卡:①生成報表,顯示系統(tǒng)中已知的報表列表,允許運行生成的報表;②保存報表,顯示之前保存的所有報表列表。但該選項僅顯示當(dāng)前用戶保存的報表,并不能看見其他用戶保存的報表。

4.4 管理模塊

在管理功能中,只有當(dāng)?shù)卿浻脩魹闄?quán)限組admin中的成員時,該功能才會顯示。點擊Manage圖標(biāo)按鈕,提供以下選項列表。

數(shù)據(jù)庫:在數(shù)據(jù)庫中顯示Activiti有關(guān)內(nèi)容.以解決配置流程或者排除故障等遇到的問題。

部署:顯示當(dāng)前流程引擎的部署,并且可以看見部署的內(nèi)容(流程定義、流程圖、業(yè)務(wù)規(guī)則等),同時該功能也支持上傳新的部署,即從自己的計算機中選擇一個業(yè)務(wù)文檔或一個BPMN20.XML文件,或?qū)⑽募献У街付ǖ膮^(qū)域即可部署一個新的業(yè)務(wù)流程。

作業(yè):該功能顯示當(dāng)前的作業(yè)(定時器,等等)的信息,并且用戶可以手動執(zhí)行他們(如在截止時間之前觸發(fā)定時器)。

5 結(jié)論

本文結(jié)合Activiti、ExtJS和PageOffice技術(shù)對可配置的業(yè)務(wù)流程動態(tài)管理系統(tǒng)進行了研究,該系統(tǒng)利用圖形化配置各個流程與操作,使業(yè)務(wù)流程呈現(xiàn)出更多的變化和動態(tài)的特點,以滿足客戶需求的多樣化和業(yè)務(wù)需求的多變性,同時圖形化的操作可以為開發(fā)人員減少業(yè)務(wù)工作流程配置和維護的代碼。此外,該系統(tǒng)利用移動端信息采集技術(shù)以滿足用戶對便攜式移動設(shè)備的需求。未來的研究工作,將重新對本文應(yīng)用的Acitivi、ExtJS、PageOffice框架做進一步開發(fā)和擴展,使得系統(tǒng)更貼合動態(tài)業(yè)務(wù)流程的應(yīng)用場景。

參考文獻(References):

[1]? 陳學(xué)詩. 工作流技術(shù)在企業(yè)信息系統(tǒng)中的定制應(yīng)用[D]. 東南大學(xué)碩士學(xué)位論文,2010.12.

[2] 黃鶯. 基于REST的Activiti流程子系統(tǒng)研究與實現(xiàn)[J]. 通訊世界,2015.24 (228):329-330

[3] 董俊. 基于發(fā)布訂閱模式的中間件設(shè)計與實現(xiàn)[D]. 上海交通大學(xué)碩士學(xué)位論文,2014.5.

[4] 于霄漢. 海帶養(yǎng)殖育苗監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)[D]. 山東農(nóng)業(yè)大學(xué)碩士學(xué)位論文,2015.9.

[5] 郭煜昆. 基于工作流的可定制政務(wù)系統(tǒng)的設(shè)計與實現(xiàn)[D]. 西安電子科技大學(xué)碩士學(xué)位論文,2016.5.

猜你喜歡
業(yè)務(wù)流程
航天企業(yè)基于信息化的業(yè)務(wù)流程體系構(gòu)建方法研究
ERP系統(tǒng)在企業(yè)財務(wù)管理和業(yè)務(wù)流程管理中的應(yīng)用
高速公路智慧收費系統(tǒng)業(yè)務(wù)流程探討
RPA機器人助業(yè)務(wù)流程智能化
STK業(yè)務(wù)流程優(yōu)化的探究
企業(yè)財務(wù)管理、業(yè)務(wù)流程管理中整合ERP之探索
互聯(lián)網(wǎng)+背景下物流公司的業(yè)務(wù)流程再造
建設(shè)項目全過程造價管理咨詢服務(wù)的業(yè)務(wù)流程分析
基于財務(wù)業(yè)務(wù)流程再造的ERP信息系統(tǒng)構(gòu)建探析
淺述供電局營銷業(yè)務(wù)流程優(yōu)化