activity工作流其實很簡單

寫這篇文章的目的主要是項目組開發第一次使用總結的一點小經驗,不足之處打架多多探討.
1.什麼是工作流?
以請假爲例,現在大多公司的後臺流程是這樣的

    a.郵件提出申請 
    b.上級回郵件同意或其他方式
    c.上級請假記錄
    d.月底將請假上繳公司 
    e.人事錄電腦

    採用工作流幾乎是的公司請假流程是這樣的

    **員工使用登錄系統--點擊請假--上級登錄系統點擊允許,就這樣,一個請假流程就結束了!**

        有人會問,那上級不用向公司提交請假記錄?公司不用將記錄錄入電腦?答案是,用的。但是這一切的工作都會在上級點擊允許後自動運行!

            這就是工作流技術。

            Georgakopoulos給出的工作流定義是:工作流是將一組任務組織起來以完成某個經營過程:定義了任務的觸發順序和觸發條件,每個任務可以由一個或多個軟件系統完成,也可以由一個或一組人完成,還可以由一個或多個人與軟件系統協作完成!

二、 工作流技術的優點

五分鐘讓你看明白到底什麼是Activity --java

從上面的例子,很容易看出

工作流系統,實現了工作流程的自動化,提高了企業運營效率、改善企業資源利用、提高企業運作的靈活性和適應性、提高量化考覈業務處理的效率、減少浪費(時間就是金錢)。

而手工處理工作流程,一方面無法對整個流程狀況進行有效跟蹤、瞭解,另一方面難免會出現人爲的失誤和時間上的延時導致效率低下,特別是無法進行量化統計,不利於查詢、報表及績效評估。

三、 Java開發者會爲什麼要學Activity工作流
在Java領域,JBPM和Activity是兩個主流的工作流系統,而Activity的出現無疑將會取代JBPM(Activity的開發者就是從Jbpm開發者出來的)。

四、 Activity工作流學習要點

1個插件

在Eclipse中安裝Activity插件,讓你可以在Eclipse中繪製Activity工作流圖

1個引擎

ProcessEngine對象,Activity工作流引擎。這是Activiti工作的核心。負責生成流程運行時的各種實例及數據、監控和管理流程的運行。

所有的操作都是從獲取引擎開始的,所以一般會把引擎作爲全局變量

ProcessEngine processEngine =ProcessEngines.getDefaultProcessEngine();

1個配置文件

activiti.cfg.xml。Activiti核心配置文件,配置流程引擎創建工具的基本參數和數據庫連接池參數

5種數據庫表

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

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

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

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

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

ACTGE*: 通用數據,用於不同場景下,如存放資源文件。

23張表

不同的表存放不同方面的數據,有流程定義表、任務結點表、流程變量表、任務歷史表等等。

五分鐘讓你看明白到底什麼是Activity --java
5項Service

不同的Service類對應不同的功能。

比如TaskService,是activiti的任務服務類。可以從這個類中獲取任務的信息。

而HistoryService,則是activiti的查詢歷史信息的類。在一個流程執行完成後,這個對象爲我們提供查詢歷史信息。

7項基本操作

設計流程圖(各種組件,如連線、用戶任務、網關)

流程定義增刪改查

流程變量增刪改查

啓動流程定義

任務增刪改查

完成任務

歷史信息查詢

總結:只要是這些基本操作能夠熟練一下,跟項目框架整合的時候其實很好整合,不會那麼吃力!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章