三分鐘明白 Activiti工作流 -- java運用

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。

一、 什么是工作流

以請假為例,現在大多數公司的請假流程是這樣的

員工打電話(或網聊)向上級提出請假申請——上級口頭同意——上級將請假記錄下來——月底將請假記錄上交公司——公司將請假錄入電腦

采用工作流技術的公司的請假流程是這樣的

員工使用賬戶登錄系統——點擊請假——上級登錄系統點擊允許

就這樣,一個請假流程就結束了

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

這就是工作流技術。

?

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

?

二、 工作流技術的優點

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

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

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

?

三、 Java開發者會為什么要學Activiti 工作流

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

?

四、 Activiti 工作流學習要點

?

1. 1個插件

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

?

2. 1個引擎

ProcessEngine對象,Activiti 工作流引擎。這是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項基本操作

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

流程定義增刪改查

流程變量增刪改查

啟動流程定義

任務增刪改查

完成任務

歷史信息查詢

?

?

?

?

轉自:http://www.it165.net/pro/html/201504/37443.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/451294.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/451294.shtml
英文地址,請注明出處:http://en.pswp.cn/news/451294.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux命令 ps -ef 的含義

PS是LINUX下最常用的也是非常強大的進程查看命令//以下這條命令是檢查java 進程是否存在. ps -ef |grep java下面對命令選項進行說明:-e 顯示所有進程。-f 全格式。ps -e 列出程序時,顯示每個程序所使用的環境變量。ps -f 用ASCII字符顯示 樹狀結構 &…

vue-i18n使用及踩坑記錄

使用步驟 1. 安裝 npm i vue-i18n 2. vue-cli下使用 //1. 引入 vue-i18n import Vue from vue import VueI18n from vue-i18n Vue.use(VueI18n)//2. 定義messages const messages {en: {text: {hello: hello world}},zh: {text: {hello: 你好、世界}} }//如果messages字段很多…

idea搭建web項目及tomcat部署總結

該文章為引用文章,原地址為:https://www.cnblogs.com/shindo/p/7272646.html 后面有我自己搭建過程中遇到的問題及解決方案,請參考。 一、創建簡單web項目 1、創建一個web project File -> new Project ->選擇project sdk 為1.6&#x…

Activiti工作流框架學習(一)環境的搭建和數據表的了解

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

中國消費者為何不愿為App付費?

Facebook收購Instagram之后,國內的開發者們唏噓不已。Instagram的用戶不過3000萬,卻能賣出10億美元的價格。如果Instagram在國內的話,就算沒被關閉也會被抄襲。如果通過收費來賺錢的話,也會因為黑卡變得顆粒無收,最終很…

什么是交換分區

SWAP就是LINUX下的虛擬內存 分區,它的作用是在 物理內存 使用完之后,將磁盤空間(也就是SWAP分區)虛擬成內存來使用.它和Windows系統的交換文件作用類似,但是它是一段連續的磁盤空間,并且對用戶不可見。

基礎、語法都不是最重要的,學Python最重要的是什么?編程思路!

論述 一些朋友自學python過程中,發現書也能看懂,書上的玩具代碼也能看懂,但為啥自己不能做習題,不能寫代碼解決問題,自己不能動手寫代碼? 原因 初學者沒有學會計算思維、解決問題的方法、編程思路。編程思路…

Windows下啟動,關閉Nginx命令

啟動 直接點擊Nginx目錄下的nginx.exe 或者 cmd運行start nginx 關閉 nginx -s stop 或者 nginx -s quit stop表示立即停止nginx,不保存相關信息 quit表示正常退出nginx,并保存相關信息 重啟(因為改變了配置,需要重啟) nginx -s reload 轉載于:https://www.cnblogs…

什么是守護進程?

守護進程是在后臺運行不受終端控制的進程(如輸入、輸出等),一般的網絡服務都是以守護進程的方式運行。守護進程脫離終端的主要原因有兩點:(1)用來啟動守護進程的終端在啟動守護進程之后,需要執行…

Activiti工作流引擎的使用

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 Activiti工作流引擎使用 1.簡單介工作流引擎與Activiti 對于工作流引擎的解釋請參考百度百科:工作流引擎 1.1 我與工作流引…

Flurry調查報告:圖片和視頻應用增長速度最快

據外國媒體報道,移動數據分析公司Flurry近期對應用分類的歡迎度進行研究后發現,就用戶使用的時間而言,“圖片和視頻”應用已成為增長最快的移動應用。 Flurry對各種應用分類的800多萬移動用戶進行了調查,并利用其分析工具跟蹤了1…

JS內存管理與垃圾回收

javascript的內存管理Javascript 是那些被稱作垃圾回收語言當中的一員。垃圾回收語言通過周期性地檢查那些之前被分配出去的內存是否可以從應用的其他部分訪問來幫助開發者管理內存。換句話說,當計算機發現有的內存已經不能被訪問到了,就會把它們標記為垃…

牛客網分糖果

題解: 考試的時候沒有想出來。。。 剛開始想了個比較錯誤的dp 后來想到了容斥。。 但是沒有想到怎么去維護這個東西。。 按照一般的套路 至少有一個相鄰相等的-至少有兩個相鄰相等的 但是這道題里這樣并不好維護 我們考慮用dp來算這個東西 f[i]f[j]*min(a[j].....a[…

HTTP 503 錯誤 – 服務不可用 (Service unavailable)

介紹因暫時超載或臨時維護,您的 Web 服務器目前無法處理 HTTP 請求。 其含義是, 這是一個暫時情況,會有一些延誤, 過 后將會得到緩解。 有些服務器在這種情況下也許干脆拒絕套接字(socket) 連接&#xff0c…

SHA 加密是什么( sha1 和 MD5 的區別 )

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 SHA 安全哈希算法(Secure Hash Algorithm)主要適用于數字簽名標準(Digital Signature Standard DSS…

10個管理工作時間的小技巧

導讀:如何才能穩步追隨社會的變遷,如何才能留住飛逝的時間。俗話說:“一寸光陰一寸金,寸金難買寸光陰。”珍惜現在的時光,將來才不會為年輕時揮霍的時間而感到悔恨。三位作者Joe Mathews,Don Debolt&#x…

12-思科防火墻:ASA會話超時

一、實驗拓撲:二、實驗要求:DCD:死亡檢測時間,默認R2 Telnet上去保持時間為1個小時,超時就會被清除掉,這里要求變為4小時,每15s就會發送5個DCD檢測包,如沒回應就剔除掉,回…

orCAD使用Orcad Capture CIS按Room擺放

http://www.sig007.com/EDAguide/176.html 37 使用Orcad Capture CIS按Room擺放 (1)打開原理圖某一工程頁 (2)按Ctrl鍵依次選中需要建Room的元件,右擊,選擇Edit Properties 在Filter by 下拉菜單中選擇Cad…

503錯誤的原因和解決方法

如果出現“Service Unavailable”的提示,刷新幾下又可以訪問。 出現這種情況是由于您的網站超過了iis限制造成的 由于2003的操作系統在提示IIS過多時并非像2000系統提示“鏈接人數過多”,而是提示"Service Unavailable",出現這種情況是由于網…

Java中十六進制轉換 Integer.toHexString()

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 用例: Long.toHexString(number) 其中 number 是一個long類型參數。 描述: java.lang.Integer.toHexString(…