日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Activiti工作流框架学习(一)环境的搭建和数据表的了解

發布時間:2023/12/18 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Activiti工作流框架学习(一)环境的搭建和数据表的了解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

一、什么是工作流

?????? 工作流(Workflow),就是“業務過程的部分或整體在計算機應用環境下的自動化”,它主要解決的是“使在多個參與者之間按照某種預定義的規則傳遞文檔、信息或任務的過程自動進行,從而實現某個預期的業務目標,或者促使此目標的實現”。

?????? 工作流管理系統(Workflow Management System,WfMS)是一個軟件系統,它完成工作量的定義和管理,并按照在系統中預先定義好的工作流邏輯進行工作流實例的執行。工作流管理系統不是企業的業務系統,而是為企業的業務系統的運行提供了一個軟件的支撐環境。

二、???常見的工作流框架

流行的工作流框架有:Activity5.13、JBPM4.4、OSWorkFlow、WorkFlow

工作流框架底層需要有數據庫提供支持,activiti5.13版本,有23張表。

JBPM4.4框架底層有數據庫支持,18張表。

JBPM底層使用hibernate操作數據庫。

Activiti框架底層使用的mybatis操作數據庫。

三、??? Activiti5介紹

Activiti5是由Alfresco軟件在2010年5月17日發布的業務流程管理(BPM)框架,它是覆蓋了業務流程管理、工作流、服務協作等領域的一個開源的、靈活的、易擴展的可執行流程語言框架。Activiti基于Apache許可的開源BPM平臺,創始人Tom Baeyens是JBoss jBPM的項目架構師,它特色是提供了eclipse插件,開發人員可以通過插件直接繪畫出業務流程圖。?

?

四、???安裝activiti流程設計器插件

第一步:獲得下載activiti-eclipse插件的安裝包

?

第二步:解壓安裝包,復制解壓文件里面的activiti到eclipse中的dropins目錄中

?

第三步:重啟eclipse,勾選save選項

?

第四步:如果重啟eclipse無法顯示activiti圖標,表明所使用的eclipse版本不支持該插件,可以選擇換myeclipse或其他版本的eclipse

五、???初始化activiti框架數據表

5.1? 下載activiti框架?????

Activiti框架下載地址:http://activiti.org/

5.2創建一個數據庫

5.3使用activiti框架的自動建表功能

activiti框架提供了和hibernate類似的自動建表功能

搭建開發環境:

第一步:創建一個Java項目activiti1110

第二步:導入jar包(從下載下來的activiti-5.13工作流引擎下面的DEMO導入jar包),還需要導入MySQL驅動包

1、不使用配置文件(不建議)

測試代碼:

?

[java]?view plain?copy
  • package?net.csdn.activiti;??
  • ???
  • import?org.activiti.engine.ProcessEngine;??
  • importorg.activiti.engine.ProcessEngineConfiguration;??
  • import?org.junit.Test;??
  • ???
  • public?class?HelloWorld?{??
  • ???/**?
  • ????*?使用activiti框架提供的自動建表(沒有配置文件)?
  • ????*/??
  • ????
  • ???@Test??
  • ???public?void?test1(){??
  • ??????//創建一個流程引擎配置對象??
  • ??????ProcessEngineConfiguration?configuration?=ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();??
  • ??????//配置數據源??
  • ??????configuration.setJdbcDriver("com.mysql.jdbc.Driver");??
  • ????????configuration.setJdbcUrl("jdbc:mysql://localhost:3306/activiti_1110?useUnicode=true&characterEncoding=UTF-8");??
  • ??????configuration.setJdbcUsername("root");??
  • ????????configuration.setJdbcPassword("root");??
  • ????????//設置自動建表??
  • ????????configuration.setDatabaseSchemaUpdate("true");??
  • ????????//創建一個流程引擎對象,在創建流程引擎對象過程中會自動創建表??
  • ????????ProcessEngine?processEngine?=configuration.buildProcessEngine();??
  • ???}??
  • }??
  • ?

    2、使用配置文件

    ?配置文件activiti-context.xml如下:

    ?

    [html]?view plain?copy
  • <beans?xmlns="http://www.springframework.org/schema/beans"??
  • ???xmlns:context="http://www.springframework.org/schema/context"??
  • ???xmlns:tx="http://www.springframework.org/schema/tx"??
  • ???xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"??
  • ???xsi:schemaLocation="http://www.springframework.org/schema/beans??
  • ???http://www.springframework.org/schema/beans/spring-beans.xsd??
  • ???http://www.springframework.org/schema/context??
  • ???http://www.springframework.org/schema/context/spring-context-2.5.xsd??
  • ????http://www.springframework.org/schema/tx??
  • ????http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">??
  • ????
  • ???<!--?配置流程引擎配置對象?-->??
  • ???<bean?id="processEngineConfiguration"??
  • ??????class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">??
  • ??????<property?name="jdbcDriver"?value="com.mysql.jdbc.Driver"?/>??
  • ??????<property?name="jdbcUrl"?value="jdbc:mysql://localhost:3306/activiti_1110"/>??
  • ??????<property?name="jdbcUsername"?value="root"?/>??
  • ??????<property?name="jdbcPassword"?value="root"?/>??
  • ??????<property?name="databaseSchemaUpdate"?value="true"?/>??
  • ???</bean>??
  • </beans>??
  • ?

    測試代碼:

    ?

    [java]?view plain?copy
  • /**?
  • ?*?使用框架提供的自動建表(提供配置文件)---配置文件activiti-context.xml可以從框架提供的例子程序中獲取?
  • ?*/??
  • @Test??
  • public?void?test2()?{??
  • ???String?resource?=?"activiti-context.xml";//?配置文件名稱??
  • ???String?beanName?=?"processEngineConfiguration";//?配置id值??
  • ???ProcessEngineConfiguration?conf?=ProcessEngineConfiguration??
  • ?????????.createProcessEngineConfigurationFromResource(resource,??
  • ????????????????beanName);??
  • ???ProcessEngine?processEngine?=conf.buildProcessEngine();??
  • }??
  • ?

    3、使用配置文件(使用默認配置)

    要求配置文件名稱必須為activiti-context.xml或者activiti.cfg.xml因為,因為默認的配置ProcessEngines.getDefaultProcessEngine();會初始化這兩個文件的其中一個,默認的配置信息如下

    ?

    測試代碼:

    ?

    [java]?view plain?copy
  • /**?
  • ????*?使用框架提供的自動建表(使用配置文件)?
  • ????*/??
  • ???@Test??
  • ???public?void?test3()?{??
  • ??????ProcessEngine?processEngine?=ProcessEngines.getDefaultProcessEngine();??
  • ???}??
  • ?

    六、了解23張表

    Activiti的后臺是有數據庫的支持,所有的表都以ACT_開頭。 第二部分是表示表的用途的兩個字母標識。用途也和服務的API對應。

    1)???????ACT_RE_*: 'RE'表示repository。 這個前綴的表包含了流程定義和流程靜態資源(圖片,規則,等等)。

    2)???????ACT_RU_*: 'RU'表示runtime。 這些運行時的表,包含流程實例,任務,變量,異步任務,等運行中的數據。 Activiti只在流程實例執行過程中保存這些數據,在流程結束時就會刪除這些記錄。 這樣運行時表可以一直很小速度很快。

    3)???????ACT_ID_*: 'ID'表示identity。 這些表包含身份信息,比如用戶,組等等。

    4)???????ACT_HI_*: 'HI'表示history。 這些表包含歷史數據,比如歷史流程實例,變量,任務等等。

    5)???????ACT_GE_*: 通用數據, 用于不同場景下。

    資源庫流程規則表

      1)??????act_re_deployment ??? 部署信息表

      2)????act_re_model? ? 流程設計模型部署表

      3)????act_re_procdef? ???? 流程定義數據表

    運行時數據庫表

      1)????act_ru_execution????? 運行時流程執行實例表

      2)????act_ru_identitylink??? 運行時流程人員表,主要存儲任務節點與參與者的相關信息

      3)????act_ru_task ????? 運行時任務節點表

      4)????act_ru_variable? 運行時流程變量數據表

    歷史數據庫表

      1)????act_hi_actinst ?? ????? 歷史節點表

      2)????act_hi_attachment??? ????? 歷史附件表

      3)????act_hi_comment ????? 歷史意見表

      4)????act_hi_identitylink???? ????? 歷史流程人員表

      5)????act_hi_detail ????? ????? 歷史詳情表,提供歷史變量的查詢

      6)????act_hi_procinst? ????? 歷史流程實例表

      7)????act_hi_taskinst?? ????? 歷史任務實例表

      8)????act_hi_varinst??? ????? 歷史變量表?

    組織機構表

      1)????act_id_group???? ????? 用戶組信息表

      2)????act_id_info? ????? 用戶擴展信息表

      3)????act_id_membership? 用戶與用戶組對應信息表

      4)????act_id_user? ????? 用戶信息表

      這四張表很常見,基本的組織機構管理,關于用戶認證方面建議還是自己開發一套,組件自帶的功能太簡單,使用中有很多需求難以滿足

    通用數據表

      1)????act_ge_bytearray???? ????? 二進制數據表

      2)????act_ge_property ????? 屬性數據表存儲整個流程引擎級別的數據,初始化表結構時,會默認插入三條記錄

    ?

    總結

    以上是生活随笔為你收集整理的Activiti工作流框架学习(一)环境的搭建和数据表的了解的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。