• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Activiti的流程管理系統(tǒng)在電網(wǎng)企業(yè)中的應(yīng)用研究

    2017-05-03 11:05:22林鈺杰關(guān)兆雄
    微型電腦應(yīng)用 2017年1期
    關(guān)鍵詞:數(shù)據(jù)表引擎組件

    林鈺杰, 關(guān)兆雄

    (1. 廣東電網(wǎng)有限責(zé)任公司佛山供電局, 佛山 528000)

    基于Activiti的流程管理系統(tǒng)在電網(wǎng)企業(yè)中的應(yīng)用研究

    林鈺杰1, 關(guān)兆雄1

    (1. 廣東電網(wǎng)有限責(zé)任公司佛山供電局, 佛山 528000)

    目前,電網(wǎng)企業(yè)發(fā)展正快速進(jìn)入專(zhuān)業(yè)化、信息化、精益化管理的新階段,但日常的運(yùn)營(yíng)管理仍然存在工作分派紊亂、過(guò)程跟蹤困難、文檔缺失嚴(yán)重等問(wèn)題,為改善這些狀況,設(shè)計(jì)并實(shí)現(xiàn)了基于Activiti工作流引擎的流程管理系統(tǒng)。介紹了Activiti工作流引擎的技術(shù)特點(diǎn),然后描述了以B/S模式為基礎(chǔ)并應(yīng)用三層架構(gòu)的系統(tǒng)總體框架,其中,用戶層采用Spring MVC框架,應(yīng)用層和業(yè)務(wù)數(shù)據(jù)層以Activiti為核心,兩者通過(guò)Spring配置有機(jī)結(jié)合起來(lái)。實(shí)踐證明,基于Activiti的流程管理系統(tǒng)具有減少運(yùn)行成本,提高工作效率,增強(qiáng)部門(mén)協(xié)同能力的優(yōu)點(diǎn)。

    Activiti; 流程管理; 電網(wǎng)企業(yè); Spring MVC

    0 引言

    隨著“互聯(lián)網(wǎng)+”時(shí)代的到來(lái),信息技術(shù)正逐步滲入電網(wǎng)企業(yè)運(yùn)營(yíng)管理的各個(gè)環(huán)節(jié),促進(jìn)電網(wǎng)運(yùn)行管理“從被動(dòng)到主動(dòng)、從靜態(tài)到動(dòng)態(tài)、從手動(dòng)到自動(dòng)”的管理模式轉(zhuǎn)變。但目前,電網(wǎng)企業(yè)的運(yùn)營(yíng)管理仍然存在以下主要問(wèn)題:

    1)管理計(jì)劃往往靠人為經(jīng)驗(yàn)進(jìn)行編排,隨著業(yè)務(wù)量越來(lái)越多,既容易造成任務(wù)分配不均,又難以保證準(zhǔn)確性和實(shí)時(shí)性;

    2)管理過(guò)程未能實(shí)現(xiàn)完整的信息跟蹤、過(guò)程控制以及質(zhì)量管理,管理人員不能便捷地掌握各業(yè)務(wù)工作當(dāng)前的狀態(tài);

    3)業(yè)務(wù)運(yùn)行過(guò)程會(huì)產(chǎn)生大量關(guān)鍵文檔,但這些文檔往往沒(méi)有被及時(shí)收集和歸檔。

    工作流技術(shù)在多個(gè)行業(yè)的自動(dòng)化辦公中被廣泛應(yīng)用[1]。工作流是一種計(jì)算模型,可將業(yè)務(wù)流程中的邏輯和規(guī)則轉(zhuǎn)化為計(jì)算機(jī)中恰當(dāng)?shù)哪P筒?duì)其實(shí)施計(jì)算。簡(jiǎn)而言之,工作流就是一系列相互連接、自動(dòng)流轉(zhuǎn)的業(yè)務(wù)活動(dòng)和任務(wù)[2]。

    針對(duì)電網(wǎng)運(yùn)行管理復(fù)雜繁瑣、涉及業(yè)務(wù)部門(mén)多、行政處理周期長(zhǎng)等特點(diǎn),將工作流技術(shù)應(yīng)用到電網(wǎng)企業(yè)的運(yùn)營(yíng)管理工作中,能夠使各部門(mén)權(quán)責(zé)分明,各司其職,相互協(xié)調(diào),進(jìn)而提高各部門(mén)的工作效率。本文將Activiti工作流引擎技術(shù)引入到電網(wǎng)企業(yè)的流程管理系統(tǒng)中,用以理清業(yè)務(wù)管理界面,促進(jìn)業(yè)務(wù)流程的規(guī)范化和標(biāo)準(zhǔn)化,提升電網(wǎng)運(yùn)行管理的水平。

    1 Activiti工作流引擎

    Activiti是一個(gè)輕量級(jí)的、支持Bpmn2.0流程模型的工作流引擎,在著名的工作流管理系統(tǒng)jBPM4的基礎(chǔ)上發(fā)展而來(lái),由Java語(yǔ)言開(kāi)發(fā),可運(yùn)行于Java應(yīng)用程序與服務(wù)器上[3]。Activiti的組件包括核心引擎、流程建模器、協(xié)作工具等,可與其他框架進(jìn)行集成[4],各組件間的協(xié)作關(guān)系,如圖1所示。

    專(zhuān)用工具(Dedicated Tools)包括內(nèi)容管理系統(tǒng)(Alfres-co)、Web建模器(Activiti Modeler)、Eclipse插件式建模器(Activiti Designer)、管理監(jiān)控(Activiti Probe)、任務(wù)管理(Activiti Explorer)這5個(gè)組件:

    圖1 Activiti組件協(xié)作圖

    1)Alfresco是一個(gè)開(kāi)源的企業(yè)級(jí)內(nèi)容管理系統(tǒng),具有文檔管理、知識(shí)庫(kù)管理、記錄管理、Web內(nèi)容管理等功能;

    2)Activiti Modeler是基于開(kāi)源的Signavio流程編輯器開(kāi)發(fā)的Web建模工具,其提供了對(duì)Bpmn2.0圖形化規(guī)范的支持。設(shè)計(jì)后的流程模型以文件格式進(jìn)行存儲(chǔ),并且可在Modeler后端進(jìn)行導(dǎo)入導(dǎo)出;

    3)Activiti Designer是一個(gè)Eclipse插件形式的建模器,此組件使得開(kāi)發(fā)人員能夠在Eclipse IDE中進(jìn)行流程建模,其建模功能與Modeler相同;

    4)Activiti Probe是一個(gè)能夠?qū)α鞒桃孢\(yùn)行時(shí)的實(shí)例進(jìn)行管理和監(jiān)控的應(yīng)用程序,具有流程定義管理、部署管理、日志查看、數(shù)據(jù)庫(kù)檢視、事務(wù)管理等功能;

    5)Activiti Explorer是一個(gè)用于任務(wù)管理的Web應(yīng)用程序,提供任務(wù)管理、基于歷史數(shù)據(jù)的統(tǒng)計(jì)分析、報(bào)表生成等功能。

    內(nèi)容存儲(chǔ)工具(Stored Content)包括文檔倉(cāng)庫(kù)(Documents Repository)、模型倉(cāng)庫(kù)(Model Repository)、SVN倉(cāng)庫(kù)(SVN Repository)、MVN倉(cāng)庫(kù)(MVN Repository)、Activiti引擎(Activiti Engine)這5個(gè)組件,這些組件為協(xié)作工具Activiti Cycle提供底層支撐。例如,工作流開(kāi)發(fā)過(guò)程中的文檔,可采用文檔倉(cāng)庫(kù)進(jìn)行存儲(chǔ),采用SVN進(jìn)行版本管理,采用MVN作為項(xiàng)目構(gòu)建和管理工具。模型倉(cāng)庫(kù)是Activiti建模器的后端存儲(chǔ)組件,其負(fù)責(zé)對(duì)建模器生成的流程定義文件進(jìn)行存儲(chǔ)管理[5]。

    協(xié)作工具(Collaboration Tool)主要有Activiti Cycle這一新類(lèi)型的BPM組件,其是一個(gè)可促進(jìn)業(yè)務(wù)人員、開(kāi)發(fā)人員和運(yùn)維人員協(xié)作的Web應(yīng)用程序。例如,業(yè)務(wù)人員持有業(yè)務(wù)文檔,開(kāi)發(fā)團(tuán)隊(duì)管理軟件程序,運(yùn)維人員管理被部署的軟件應(yīng)用,三者之間往往不能很好地協(xié)作。而Activiti Cycle通過(guò)BusinessLink將與流程相關(guān)的業(yè)務(wù)人員、開(kāi)發(fā)人員和運(yùn)維人員關(guān)聯(lián)起來(lái),實(shí)現(xiàn)他們之間的有效協(xié)作。

    2 系統(tǒng)架構(gòu)

    本文的業(yè)務(wù)流程管理系統(tǒng)采用B/S模式的三層架構(gòu),如圖2所示。

    圖2 系統(tǒng)架構(gòu)

    第一層的用戶層是用戶與系統(tǒng)的接口,用戶通過(guò)瀏覽器在網(wǎng)頁(yè)上錄入信息并提交給后臺(tái),即第二層的應(yīng)用層。應(yīng)用服務(wù)器將啟用相應(yīng)的進(jìn)程來(lái)響應(yīng)這一請(qǐng)求,然后動(dòng)態(tài)生成HTML代碼并嵌入處理結(jié)果,最后返回給用戶層的瀏覽器。第三層的業(yè)務(wù)數(shù)據(jù)層支持著系統(tǒng)的整體結(jié)構(gòu),其對(duì)應(yīng)的數(shù)據(jù)庫(kù)服務(wù)器與應(yīng)用服務(wù)器共同完成用戶請(qǐng)求及相應(yīng)的數(shù)據(jù)存取操作。

    2.1 用戶層

    系統(tǒng)的用戶層采用Spring MVC框架來(lái)實(shí)現(xiàn)。Spring MVC框架是J2EE Web應(yīng)用開(kāi)發(fā)中主流的MVC框架,其通過(guò)實(shí)現(xiàn)Model-View-Controller模式來(lái)將數(shù)據(jù)、視圖、業(yè)務(wù)三者進(jìn)行分離[6]。從功能來(lái)看,Spring MVC與Struts非常相似,但在設(shè)計(jì)上Spring MVC是圍繞前端控制器來(lái)展開(kāi)的,即將請(qǐng)求先派送到指定的Controller,再通過(guò)配置的View Resolution、Theme Resolution和Locale來(lái)處理請(qǐng)求,最后跳轉(zhuǎn)到對(duì)應(yīng)的視圖。Spring MVC的主要原理,如圖3所示。

    圖3 Spring MVC原理圖

    在容器Servlet Engine里,前端控制器Dispatcher會(huì)根據(jù)定義選擇合適的控制器Controller和視圖View來(lái)完成請(qǐng)求和回應(yīng),Controller負(fù)責(zé)處理請(qǐng)求和創(chuàng)建模型Model,View的主要功能是響應(yīng)與反饋,Model負(fù)責(zé)管理系統(tǒng)的邏輯對(duì)象,它把數(shù)據(jù)源和對(duì)這些數(shù)據(jù)的所有操作封裝起來(lái),以表示數(shù)據(jù)狀態(tài)和操作方法。

    2.2 應(yīng)用層

    應(yīng)用層的核心組件是Activiti工作流引擎,主要負(fù)責(zé)解析并執(zhí)行各流程實(shí)例,并負(fù)責(zé)對(duì)所有流程實(shí)例的執(zhí)行進(jìn)行控制,包括任務(wù)指派、事件監(jiān)聽(tīng)、事務(wù)管理、歷史記錄、參數(shù)存取等,同時(shí)提供BpmnActivityBehavior 等接口以因應(yīng)業(yè)務(wù)應(yīng)用需求來(lái)擴(kuò)展。而且,通過(guò)對(duì)各工作流的監(jiān)控,應(yīng)用層還可實(shí)現(xiàn)各項(xiàng)工作任務(wù)及工作人員的完成及時(shí)率、完成進(jìn)度、完成結(jié)果等高級(jí)統(tǒng)計(jì)功能。

    2.3 業(yè)務(wù)數(shù)據(jù)層

    業(yè)務(wù)數(shù)據(jù)層負(fù)責(zé)管理企業(yè)運(yùn)營(yíng)各類(lèi)數(shù)據(jù),包括業(yè)務(wù)數(shù)據(jù)和流程數(shù)據(jù),其中使用MyBatis工具來(lái)屏蔽異構(gòu)數(shù)據(jù)庫(kù)的影響。Acitiviti數(shù)據(jù)庫(kù)中的表名均以“ACT_”開(kāi)頭的,此命名方法與Acitiviti的API接口方法類(lèi)似:

    l)ACT_RE_*:“RE”是Repository的簡(jiǎn)寫(xiě),含此前綴的數(shù)據(jù)表,如ACT_RE_PROCDEF、ACT_RE_DEPLOYMENT、ACT_RE_MODEL等,分別用于存儲(chǔ)流程定義、流程部署、流程模型等靜態(tài)信息;

    2)ACT_RU_*:“RU”是Runtime的簡(jiǎn)寫(xiě),含此前綴的數(shù)據(jù)表用于存儲(chǔ)流程變量、用戶任務(wù)、執(zhí)行流等運(yùn)行時(shí)數(shù)據(jù)。Activiti 只存儲(chǔ)流程實(shí)例運(yùn)行期間產(chǎn)生的動(dòng)態(tài)數(shù)據(jù),當(dāng)實(shí)例結(jié)束時(shí),將刪除這些記錄,例如,ACT_RU_VARIABLE 保存了流程實(shí)例運(yùn)行時(shí)產(chǎn)生的變量和參數(shù);

    3)ACT_ID_*:“ID”是Identity的簡(jiǎn)寫(xiě),含此前綴的數(shù)據(jù)表存儲(chǔ)了用戶信息、用戶組信息以及用戶和用戶組的關(guān)聯(lián)關(guān)系;

    4)ACT_HI_*:“HI”是History的簡(jiǎn)寫(xiě),含此前綴的數(shù)據(jù)表存儲(chǔ)了流程實(shí)例執(zhí)行歷史的相關(guān)數(shù)據(jù),如結(jié)束的流程實(shí)例、流程變量和用戶任務(wù)等;

    5)ACT_GE_*:“GE”是General的簡(jiǎn)寫(xiě),含此前綴的數(shù)據(jù)表用于存儲(chǔ)普通數(shù)據(jù)。例如,ACT_GE_BYTEARRAY 數(shù)據(jù)表保存了流程模型的源文件、流程部署的定義文件和流程圖片等文件數(shù)據(jù)。

    3 流程設(shè)計(jì)

    工作流是系統(tǒng)的核心,系統(tǒng)有效運(yùn)行的前提是將業(yè)務(wù)流程逐一梳理并融入到系統(tǒng)實(shí)現(xiàn)中。下面以電網(wǎng)企業(yè)中常用的收文流程和發(fā)文流程,如圖4所示。

    (a) 收文流程

    (b) 發(fā)文流程

    3.1 收文流程

    當(dāng)文件到達(dá)本單位時(shí),辦公室先進(jìn)行文書(shū)登記,然后根據(jù)文件指示,決定是否將文件送辦公室主任擬辦。不需要送擬辦的,直接把文件歸檔并結(jié)束流程。需要送擬辦的,還需根據(jù)文件的性質(zhì),判斷文件是批閱還是傳閱。如果是批閱,則根據(jù)其等級(jí)和重要性,由部門(mén)領(lǐng)導(dǎo)或局領(lǐng)導(dǎo)審批,形成文書(shū)后,交由指定人員辦理;如果是傳閱,則將文件傳閱給相關(guān)人員閱讀。最后,把文件歸檔,結(jié)束流程。完整的收文流程如圖4所示。

    3.2 發(fā)文流程

    當(dāng)文件要發(fā)出時(shí),需有嚴(yán)格的流程來(lái)限制其涉及本單位的責(zé)任和對(duì)外單位的影響。開(kāi)始時(shí),擬稿人要做好擬稿登記,如果是重要文件,則交由部門(mén)領(lǐng)導(dǎo)審批和局領(lǐng)導(dǎo)審批;如果是一般文件,則交由部門(mén)相關(guān)人員會(huì)簽即可。兩種方式處理后,由辦公室統(tǒng)一對(duì)發(fā)送的文件進(jìn)行審核,然后返回給擬稿人進(jìn)行校對(duì)并發(fā)送文件,最后把文件歸檔,結(jié)束流程。完整的發(fā)文流程如圖5所示。

    4 系統(tǒng)實(shí)現(xiàn)

    基于第2節(jié)設(shè)計(jì)的系統(tǒng)架構(gòu),利用Activiti技術(shù)實(shí)現(xiàn)流程管理,關(guān)鍵是整合Activiti和Spring并實(shí)現(xiàn)流程管理編碼。

    4.1 Activiti與Spring整合

    整合Activiti和Spring需引用的jar包包括spring-aop.jar、spring-webmvc.jar、activiti-spring.jar等[7],它們分工明確,支撐著整個(gè)系統(tǒng)高效有序地開(kāi)展各項(xiàng)任務(wù)。整合兩者還需要在系統(tǒng)文件“applicationContext.xml”中進(jìn)行配置,主要配置代碼如下:

    1)定義數(shù)據(jù)庫(kù)連接;

    2)定義事務(wù)管理;

    3)定義Activiti配置;

    4)定義流程引擎;

    5)定義流程中的服務(wù)。

    在Controller中需要引用相關(guān)流程服務(wù)時(shí),只需聲明服務(wù)對(duì)象并添加標(biāo)注@Autowired即可。

    4.2 流程管理編碼

    工作流運(yùn)行是流程管理系統(tǒng)的核心內(nèi)容,系統(tǒng)通過(guò)流程配置文件來(lái)調(diào)配各功能模塊以實(shí)現(xiàn)流程控制,并應(yīng)用Activiti所提供的服務(wù)接口,實(shí)現(xiàn)工作流運(yùn)轉(zhuǎn),主要實(shí)現(xiàn)代碼如下:

    1)部署流程,根據(jù)第3節(jié)設(shè)計(jì)的業(yè)務(wù)流程來(lái)編制流程定義文件并進(jìn)行部署,部署時(shí)可使用源文件或壓縮包;

    2)啟動(dòng)流程,可使用流程定義中的id或name來(lái)啟動(dòng),并通過(guò)businessKey來(lái)與業(yè)務(wù)數(shù)據(jù)表進(jìn)行關(guān)聯(lián);

    3)查詢?nèi)蝿?wù),例如,在流程定義中,將某一任務(wù)分派給“l(fā)eader”組處理,組內(nèi)的任意用戶均可領(lǐng)取;

    4)領(lǐng)取任務(wù),在Controller中根據(jù)接收的參數(shù)taskId和userId來(lái)領(lǐng)取任務(wù),其中,userId需屬于leader組;

    5)完成任務(wù),在Controller中根據(jù)接收的參數(shù)taskId和其他參數(shù)值,執(zhí)行相關(guān)操作并完成任務(wù)。

    5 總結(jié)

    本文研究的流程管理系統(tǒng)采用B/S設(shè)計(jì)模式并與Spring MVC框架相結(jié)合,具有良好的擴(kuò)展性和重用性。系統(tǒng)的分層結(jié)構(gòu)實(shí)現(xiàn)了每層與各模塊的松耦合,系統(tǒng)功能和業(yè)務(wù)邏輯相分離,開(kāi)發(fā)人員可快速構(gòu)建應(yīng)用。同時(shí),通過(guò)集成輕量級(jí)工作流引擎Activiti,實(shí)現(xiàn)了從創(chuàng)建模型、資源部署到流程運(yùn)行均易于與系統(tǒng)相結(jié)合,功能發(fā)布迅速。通過(guò)實(shí)際應(yīng)用,以Activiti 工作流引擎為核心的流程管理系統(tǒng)彌補(bǔ)了電網(wǎng)企業(yè)日常管理中的不足和弊端,促進(jìn)了業(yè)務(wù)流程的規(guī)范化和標(biāo)準(zhǔn)化,有效提高了資源利用率和工作效率,充分發(fā)揮了現(xiàn)有計(jì)算機(jī)網(wǎng)絡(luò)資源的作用。

    [1] 陳廣智, 潘嶸, 李磊. 工作流建模技術(shù)綜述及其研究趨勢(shì)[J]. 計(jì)算機(jī)科學(xué), 2014, 41(6A): 11-17.

    [2] 何源, 徐福緣, 何建佳, 顧忠偉. 供需網(wǎng)環(huán)境下基于角色的工作流建模研究[J]. 計(jì)算機(jī)應(yīng)用研究, 2012, 29(4): 1387-1390.

    [3] 徐亦楠, 葛志輝, 潘海源. Activiti5工作流在OA系統(tǒng)中的應(yīng)用[J]. 大眾科技, 2014, 16(173): 5-8.

    [4] 韓紅云, 陳燕, 李桃迎. 工作流系統(tǒng)中會(huì)簽功能的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)與現(xiàn)代化, 2014, 9: 86-89.

    [5] 高寧, 劉洋. 流程虛擬機(jī)在企業(yè)產(chǎn)品研發(fā)平臺(tái)中的應(yīng)用[J]. 計(jì)算機(jī)應(yīng)用, 2013, 33(S2): 256-258, 262.

    [6] 徐雯, 高建華. 基于Spring MVC及MyBatis的Web應(yīng)用框架研究[J]. 微型電腦應(yīng)用, 2012, 28(7): 1-4, 10.

    Application and Research of the Process Management System Based on Activiti in Power Grid Enterprises

    Lin Yujie1,Guan Zhaoxiong1

    (1. Foshan Power Supply Bureau,Guangdong Power Grid Limited Corporation,Foshan 528000,China)

    At present, the development of power grid enterprises is entering a new stage of specialization, informatization and lean management. But there are still many problems such as disordered work assignment, process tracking difficulty and missing files in daily operation and management. In order to improve these conditions, a process management system based on Activiti is designed and implemented in this paper. Firstly, the technical characteristics of Activiti are introduced. Secondly, the overall framework of the system based on the B/S model with the three-tier architecture is described. Among them, Spring MVC is adopted in user layer, and Activiti is the core of application layer and business data layer. Both of them are combined organically by Spring configuration. It has been proved that the process management system based on Activiti has the advantages of reducing operating costs, improving work efficiency, and enhancing the ability of department coordination.

    Activiti; Process management; Power grid enterprise; Spring MVC

    林鈺杰(1987-),男,通信作者,碩士研究生,研究方向:信息系統(tǒng)開(kāi)發(fā)和管理、營(yíng)配信息集成,佛山 528000 關(guān)兆雄(1987-),男,碩士研究生,研究方向:信息系統(tǒng)開(kāi)發(fā)和管理、局域網(wǎng)與虛擬化平臺(tái),佛山 528000

    1007-757X(2017)01-0046-05

    2016.06.08)

    猜你喜歡
    數(shù)據(jù)表引擎組件
    無(wú)人機(jī)智能巡檢在光伏電站組件診斷中的應(yīng)用
    能源工程(2022年2期)2022-05-23 13:51:50
    新型碎邊剪刀盤(pán)組件
    湖北省新冠肺炎疫情數(shù)據(jù)表
    黨員生活(2020年2期)2020-04-17 09:56:30
    U盾外殼組件注塑模具設(shè)計(jì)
    基于列控工程數(shù)據(jù)表建立線路拓?fù)潢P(guān)系的研究
    藍(lán)谷: “涉藍(lán)”新引擎
    商周刊(2017年22期)2017-11-09 05:08:31
    無(wú)形的引擎
    河南電力(2015年5期)2015-06-08 06:01:46
    風(fēng)起新一代光伏組件膜層:SSG納米自清潔膜層
    基于Cocos2d引擎的PuzzleGame開(kāi)發(fā)
    圖表
    历史| 科技| 延长县| 崇文区| 清流县| 南平市| 田东县| 喀什市| 新竹市| 六安市| 鹿泉市| 北安市| 吉首市| 阳城县| 肥城市| 河北区| 西乌珠穆沁旗| 武胜县| 清水县| 两当县| 台湾省| 泾源县| 铜川市| 绿春县| 双流县| 中牟县| 巫山县| 成武县| 两当县| 宜城市| 桂平市| 合江县| 含山县| 申扎县| 靖安县| 门头沟区| 静宁县| 临沭县| 海阳市| 大兴区| 富锦市|