亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        企業(yè)管理系統(tǒng)集成Activiti工作流引擎的研究

        2019-11-17 04:05:19付曉明
        電腦知識與技術(shù) 2019年26期
        關(guān)鍵詞:Java語言

        付曉明

        摘要: 實例講解如何集成activiti工作流引擎到SpringMVC、Hibernate框架下的業(yè)務(wù)管理系統(tǒng)中,并脫離activiti的用戶、表單模塊,使用獨立設(shè)計的用戶角色模型、表單模型設(shè)置流程節(jié)點,方便業(yè)務(wù)系統(tǒng)的用戶模型和表單模型升級。

        關(guān)鍵詞: activiti ;工作流引擎;Java語言

        中圖分類號:TP311? ? ? ? 文獻(xiàn)標(biāo)識碼:A

        文章編號:1009-3044(2019)26-0235-02

        開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):

        企業(yè)業(yè)務(wù)管理系統(tǒng)包含了各種審批流程,所以必須集成工作流引擎以完成審批功能,Activities作為開源的工作流引擎被廣泛應(yīng)用到各業(yè)務(wù)系統(tǒng),使業(yè)務(wù)系統(tǒng)更加專注于復(fù)雜業(yè)務(wù)邏輯的設(shè)計與實現(xiàn),同時工作流引擎的開源特性也使系統(tǒng)在工作流引擎的優(yōu)化升級簡單快捷。

        1需求背景

        本管理系統(tǒng)采用J2EE開發(fā)架構(gòu),包括SpringMVC及Hibernate,WEB前端使用的dwzUI、JQuery。由于Activiti的用戶與表單模型無法滿足本系統(tǒng)要求,故使用本系統(tǒng)的用戶角色管理模塊和表單管理模塊與工作流集成,達(dá)到在任意流程節(jié)點上靈活設(shè)置角色與表單的效果。

        2集成方法

        2.1創(chuàng)建數(shù)據(jù)庫

        由于工作流引擎自帶一套數(shù)據(jù)庫表,需要使用引擎提供的sql文件在業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫中生成這些表,引擎提供了各種類型數(shù)據(jù)庫的腳本,本系統(tǒng)選擇的是oracle的sql文件,集成的Activiti是5.15版本,源碼中找到database\activiti.oracle.create.history.sql文件,并在oracle中生成表,因為本系統(tǒng)不使用工作流自帶的用戶模型,所以不需要執(zhí)行腳本activiti.oracle.create.identity.sql。

        2.2配置XML文件

        本系統(tǒng)采用SpringMVC框架,將Activiti的配置文件引入到applicationContext.xml中,activiti.xml放到resources下,并處理節(jié)點中文亂碼問題。

        本系統(tǒng)使用Maven管理項目,需要將所有jar包上傳到maven-jar路徑下,在pom.xml文件節(jié)點中增加activiti、batik的jar包,用于支持流程引擎和圖形設(shè)計器Activiti-Modeler ,實現(xiàn)在線瀏覽器編輯流程,Activiti Modeler內(nèi)部的實現(xiàn)上還是以oryx為圖形組件為內(nèi)核,用angular.js作為界面基本元素的基礎(chǔ)組件以及調(diào)度oryx的API。

        2.3上傳依賴文件

        解壓activiti-explorer.war文件,將其中的api、editor、explorer、libs文件夾依次上傳到webapp目錄下,并將WEB-INF\classes下的editor.html、stencilset.json文件放到resources目錄下,activiti的jar包在activiti的lib目錄下,batik的jar包在sactiviti-explorer解壓后的WEB-INF\lib下,都需要拷貝到maven-jar路徑下。至此,所有開發(fā)環(huán)境及準(zhǔn)備工作都已完成。

        3流程管理

        為了適應(yīng)流程隨著業(yè)務(wù)變動而變化,滿足業(yè)務(wù)人員對流程進(jìn)行增刪改操作。本系統(tǒng)中設(shè)計了流程管理模塊,能夠?qū)崿F(xiàn)在線流程設(shè)計、任務(wù)節(jié)點處理人及表單設(shè)置、流程啟用、流程查詢等功能。

        首先,在系統(tǒng)中創(chuàng)建流程模型的實體類,通過web.xml文件中配置的流程設(shè)計器重定向功能,調(diào)用流程設(shè)計器在線設(shè)計流程,流程模型的屬性必須包含流程KEY、流程名稱,在設(shè)計器中必填的ID、流程唯一標(biāo)識一般與流程KEY相同,設(shè)計完成保存流程后,引擎自動生成一個XML文件和一個流程圖片,xml文件名是流程名稱.bpmn20.xml,圖片名是流程名稱.流程KEY.png,這兩個文件都以blob的格式保存在ACT_GE_BYTEARRAY表中,表ACT_RE_MODEL中保存的是模型信息,當(dāng)設(shè)計完模型后,就可以調(diào)用repositoryService.saveModel(模型對象)來生成一個流程定義,相當(dāng)于發(fā)布了一個新版本的流程定義,同時在表ACT_RE_DEPLOYMENT、ACT_RE_PROCDEF中各生成一條數(shù)據(jù),表示當(dāng)前最新的流程定義,有用戶發(fā)起該流程時,使用的也是最新的流程定義。

        流程定義都設(shè)置好后,該流程還需要設(shè)置表單和處理人,本系統(tǒng)的設(shè)計支持各任務(wù)節(jié)點獨立設(shè)置表單和處理人,通過讀取bpmn20.xml文件,解析流程的節(jié)點信息,展示到頁面中,對每個節(jié)點進(jìn)行設(shè)置,如圖1:

        在這里可以為每個節(jié)點設(shè)置表單、用戶角色和處理人過濾功能。用戶角色成員都包含服務(wù)部門屬性,可以通過過濾設(shè)置,對指定節(jié)點設(shè)置處理人員范圍,例如按起草人過濾、按上一節(jié)點處理人過濾、按參數(shù)過濾等,其中按起草人過濾最常用,在流程流轉(zhuǎn)的時候,可以通過獲取流程定義次節(jié)點的處理人角色的設(shè)置,篩選出來用戶,流程根據(jù)用戶信息進(jìn)行流轉(zhuǎn),為任務(wù)節(jié)點設(shè)置處理人。代碼如下:

        這樣就可以脫離activiti的用戶和表單模型,設(shè)計符合本系統(tǒng)需求的用戶角色模型和表單模型。使用當(dāng)前web前端技術(shù),設(shè)計出來表單設(shè)計器,使用戶在瀏覽器中拖拽web控件,就可以設(shè)計簡單表單(無復(fù)雜業(yè)務(wù)邏輯),在用戶啟動流程的時候,調(diào)用activiti提供的接口即可。

        4結(jié)語

        至此,完成activit工作流引擎與業(yè)務(wù)管理系統(tǒng)的集成,并使用模塊化設(shè)計,成了一個獨立于任何業(yè)務(wù)支持工作流引擎管理的系統(tǒng)框架。

        【通聯(lián)編輯:唐一東】

        猜你喜歡
        Java語言
        Java語言圖形編程工具的設(shè)計及應(yīng)用
        科技傳播(2017年4期)2017-04-24 20:20:00
        高職《Java語言程序設(shè)計》課程的“微課”制作與應(yīng)用研究
        論開閉原則在JAVA程序設(shè)計中的應(yīng)用
        基于Android平臺的健康醫(yī)療APP設(shè)計與開發(fā)
        大學(xué)生創(chuàng)業(yè)平臺設(shè)計與實現(xiàn)
        計算機(jī)軟件開發(fā)中的JAVA編程語言分析
        用戶隱私保護(hù)之手機(jī)密碼保險箱
        異常結(jié)構(gòu)對Java程序分析的影響
        Android手機(jī)三軸加速度傳感器使用
        科技資訊(2015年8期)2015-07-02 18:44:39
        基于Java語言的手機(jī)軟件開發(fā)技術(shù)分析
        欧美俄罗斯40老熟妇| 亚洲AV永久无码精品表情包| 国产成人自拍视频在线观看网站| 91精品国产一区国产二区久久 | 性无码专区无码| 日本动态120秒免费| 国产精品女丝袜白丝袜| 蕾丝女同一区二区三区| 一本色道久久综合狠狠躁篇| 日韩精品无码一区二区三区视频| 日本高清在线播放一区二区三区| 国产精品国产三级国产an不卡| 亚洲双色视频在线观看| 内射爆草少妇精品视频| 天天躁夜夜躁狠狠躁2021a2| 国产精品久久久久久麻豆一区| 亚洲伊人久久大香线蕉影院| 色婷婷久久99综合精品jk白丝| 亚洲一区二区国产激情| 久久久国产精品免费a片3d| 国产自产精品露脸刺激91在线| av天堂在线免费播放| 日日噜噜夜夜狠狠视频| 婷婷五月综合丁香在线| 中文字幕天天躁日日躁狠狠 | 一本久道竹内纱里奈中文字幕| 无码人妻久久一区二区三区app| 99福利网| 日本视频一区二区这里只有精品| 国产精品午夜福利视频234区| 丰满人妻被中出中文字幕| 成在线人视频免费视频| 亚洲国产国语对白在线观看| 无码人妻一区二区三区免费视频| av大片在线无码免费| 在线播放中文字幕一区二区三区| 音影先锋中文字幕在线| 国产美女久久精品香蕉69| 久久频这里精品99香蕉| 一卡二卡国产av熟女| 性猛交╳xxx乱大交|