一、 什麼是工作流
Georgakopoulos給出的工作流定義是:工作流是将一組任務組織起來以完成某個經營過程:定義了任務的觸發順序和觸發條件,每個任務可以由一個或多個軟體系統完成,也可以由一個或一組人完成,還可以由一個或多個人與軟體系統協作完。我們來看OA系統中的一個工作流。
請假流程:申請人送出請假表單,先是主管、經理審批再由人事、副總審批。主管、經理審批後如果請假天數超過大于或者等于3天則需要副總審批後再人事最後審批,請假天數小于3天,則人事最後審批。流程結束。XJR快速開發平台的流程設計器是整合activtity開發,采用可視化編輯工作流引擎,輔助研發人員設計專業的流程功能,節約學習成本,提高工作效率。

二、 工作流技術的優點
從以上的請假流程,我們可以看出。
工作流系統,實作了工作流程的自動化,提高了企業營運效率、改善企業資源利用、提高企業運作的靈活性和适應性、提高量化考核業務處理的效率、減少浪費(時間就是金錢)。
而手工處理工作流程,一方面無法對整個流程狀況進行有效跟蹤、了解,另一方面難免會出現人為的失誤和時間上的延時導緻效率低下,特别是無法進行量化統計,不利于查詢、報表及績效評估。
工作流能夠實作資料的同步交換和共享的特征更受使用者歡迎,能有效幫助企業簡化多餘流程,是未來工作流技術發展的方向 。
特點
1,圖形化、可視化設計流程圖
2,支援各種複雜流程
3,組織結構級處理者指定功能
4,B/S結構,純浏覽器應用
5,強大的安全性特色
6,表單功能強大,擴充便捷
7,靈活的外出、逾時管理政策
8,處理過程可跟蹤、管理
9,豐富的統計、查詢、報表功能
10,與MAIL系統內建
三、 Java開發者會為什麼要學Activity工作流
在Java領域,JBPM和Activity是兩個主流的工作流系統,而Activity的出現無疑将會取代JBPM(Activity的開發者就是從Jbpm開發者出來的)。
四、 Activity工作流學習要點
1、1個插件
在Eclipse中安裝Activity插件,讓你可以在Eclipse中繪制Activity工作流圖
2、1個引擎
ProcessEngine對象,Activity工作流引擎。這是Activiti工作的核心。負責生成流程運作時的各種執行個體及資料、監控和管理流程的運作。
所有的操作都是從擷取引擎開始的,是以一般會把引擎作為全局變量
ProcessEngine processEngine =ProcessEngines.getDefaultProcessEngine();
3、1個配置檔案
activiti.cfg.xml。Activiti核心配置檔案,配置流程引擎建立工具的基本參數和資料庫連接配接池參數
4、5種資料庫表
Activiti的背景是有資料庫的支援,所有的表都以ACT_開頭。 第二部分是表示表的用途的兩個字母辨別。用途也和服務的API對應。
ACT_RE_*: ‘RE’表示repository。 這個字首的表包含了流程定義和流程靜态資源(圖檔,規則,等等)。
ACT_RU_*: ‘RU’表示runtime。 這些運作時的表,包含流程執行個體,任務,變量,異步任務,等運作中的資料。 Activiti隻在流程執行個體執行過程中儲存這些資料,在流程結束時就會删除這些記錄。 這樣運作時表可以一直很小速度很快。
ACT_ID_*: ‘ID’表示identity。 這些表包含身份資訊,比如使用者,組等等。
ACT_HI_*: ‘HI’表示history。 這些表包含曆史資料,比如曆史流程執行個體,變量,任務等等。
ACT_GE_*: 通用資料,用于不同場景下,如存放資源檔案。
5、23張表
不同的表存放不同方面的資料,有流程定義表、任務結點表、流程變量表、任務曆史表等等。
6、5項Service
不同的Service類對應不同的功能。
比如TaskService,是activiti的任務服務類。可以從這個類中擷取任務的資訊。
而HistoryService,則是activiti的查詢曆史資訊的類。在一個流程執行完成後,這個對象為我們提供查詢曆史資訊。
7、7項基本操作
設計流程圖(各種元件,如連線、使用者任務、網關)
流程定義增删改查
流程變量增删改查
啟動流程定義
任務增删改查
完成任務
曆史資訊查詢
學習7項基本操作時隻需在JavaSE下執行即可,當然,做web項目的時候就要考慮和SSH等開發架構結合的問題。當然,隻有基本操作學會了,綜合開發并不難。
這個世界上沒有知識是學不會的,不是嗎?如果一開始學不會,就可以把問題細化分解,然後學習更基本的知識。最後,所有問題都能變得和1+1=2一樣簡單,我們需要的隻是時間。