1. 程式人生 > >activiti工程環境搭建和流程圖創建

activiti工程環境搭建和流程圖創建

activiti

當一個業務需要的多個參與者來參與執行的時候,如果我們要自己編程的話,我們需要對業務非常的熟悉,並且在編程的時候要做一系列復雜的判斷,如果出現第一種情況,我們要怎麽辦,如果出現第二種情況,我們又該怎麽辦,這是一個工作量非常大的事情,因為各個關系耦合性相對較高,所以我們又很難保證我們的系統一定會成功,然而大神們為了解決我們這個問題,專門開發了一個用於解決多用於之間操作的框架,工作流(WorkFlow)Activiti。
工作流主要解決的主要問題是:為了實現某個業務目標,利用計算機在多個參與者之間按某種預定規則自動傳遞文檔、信息或者任務。

舉個例子,如果我們要請假,我們需要先找項目經理請假,然後項目經理找老總批示,老總最後決定這個假給還是不給,這樣的話就是一個典型的工作流業務。話不多說,我們看看我們如果將這個過程在代碼中如何利用工作流來呈現。

新建一個工程(Project),選擇Dynamic Web Project,工程名稱叫做ActivitiDemo01,既然是人家做好的一個框架,我們需要搭建一個基本的框架,因為這裏是做的一個基本的演示,我就沒有按照經典的SSH來搭建,而是簡單的一個框架。

環境搭建

1.選擇jar包。

下載activiti-5.13,打開後,把activiti-5.13\wars\activiti-rest\WEB-INF\lib個下的包都考到項目WEB-INF下的lib文件夾下,當然還需要一個mysql的驅動jar包,這樣我們需要的jar包就都有了。

2.配置文件

打開activiti-5.13文件夾-->打開wars,我們會看到activit-content.xml文件,拷貝下來,粘貼到工程下的resource願文件夾下,重命名為acitiviti.cfg.xml,打開後把除引用外的內容都刪除,並寫上如下代碼:

[html] view plain copy

  1. <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">

  2. <property name

    ="jdbcDriver" value="com.mysql.jdbc.Driver"></property>

  3. <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/activitiDemo?useUnicode=true&characterEncoding=utf8"></property>

  4. <property name="jdbcUsername" value="root"></property>

  5. <property name="jdbcPassword" value="root"></property>

  6. <property name="databaseSchemaUpdate" value="true"></property>

  7. </bean>


3.創建數據庫

這裏我們用的是activiti自帶的數據庫,因為在activitie.jar中的實體都有了,我們需要些一個測試方法,用來創建數據庫。打開數據庫(mySql),然後創建數據庫activitiDemo,然後創建要給測試類在test的原文件夾下,代碼如下:

[java] view plain copy

  1. @Test

  2. public void test() {

  3. ProcessEngine processEngine = ProcessEngineConfiguration

  4. .createProcessEngineConfigurationFromResource("activiti.cfg.xml")

  5. .buildProcessEngine();

  6. System.out.println("processEngine:"+ processEngine);

  7. }

現在mysql中新建一個數據庫,叫activitiDemo,然後執行上邊的代碼來創建表,這個過程稍微長一些,耐心等待即可。
這樣一個基本的環境就搭建好了。有了jar包,有了配置文件,有了數據庫,接下來我們就穿件一個簡單的請假流程圖。

workFlow畫圖

在resource下新建page-->diagrams,右鍵新建--->other-->Activiti Diagram,看到如下界面:技術分享

如上圖:左半部分是畫圖區,右半部份是工具欄,這樣我們就可以畫了,咱們先畫一個簡單的請假吧:技術分享

點擊空白處,設置流程圖的ID和那麽,點擊任務,設置相應的名稱,是不是非常的簡單


activiti工程環境搭建和流程圖創建