工作流(workflow)
工作流(workflow),就是「業務過程的部分或整體在計算機應用環境下的自動化」,它主要解決的是「使在多個參與者之間按照某種預定義的規則傳遞文件、資訊或任務的過程自動進行,從而實現某個預期的業務目標,或者促使此目標的實現」。
通俗的說,流程就是多個人在一起合作完成某件事情的步驟,把步驟變成計算機能理解的形式就是工作流。
工作流管理系統
工作流管理系統(workflow management system, wfms)是乙個軟體系統,它完成工作量的定義和管理,並按照在系統中預先定義好的工作流規則進行工作流例項的執行。工作流管理系統不是企業的業務系統,而是為企業的業務系統的執行提供了乙個軟體的支撐環境。
activiti就是乙個工作流管理系統
(1).用乙個流程來概述:
1a(員工)請假,填寫請假單,申請請假
2b(領導),檢視任務,發下請假單資訊,處理請假單(同意)。請假單轉給b的領導
3c (總裁),檢視任務,看到b傳遞過來的請假單,同意a的請求。
4a(員工)檢視任務,看到請假已經通過了。
(2)activiti介紹
activiti5是由alfresco軟體在2023年5月17日發布的業務流程管理(bpm)框架,它是覆蓋了業務流程管理、工作流、服務協作等領域的乙個開源的、靈活的、易擴充套件的可執行流程語言框架。
activiti基於apache許可的開源bpm平台,創始人tom baeyens是jboss jbpm的專案架構師,它特色是提供了eclipse外掛程式,開發人員可以通過外掛程式直接繪畫出業務流程圖。
工作流引擎
processengine物件:activiti工作的核心。負責生成流程執行時的各種例項及資料、監控和管理流程的執行。和jbpm的processengine一樣,是流程的總入口
bpmn
業務流程建模與標註(business process model and notation,bpmn) ,描述流程的基本符號,包括這些圖元如何組合成乙個業務流程圖(business process diagram)
資料庫
act_re_*: 're'表示repository。 這個字首的表包含了流程定義和流程靜態資源 (,規則,等等)。
act_ru_*: 'ru'表示runtime。 這些執行時的表,包含流程例項,任務,變數,非同步任務,等執行中的資料。 activiti只在流程例項執行過程中儲存這些資料, 在流程結束時就會刪除這些記錄。 這樣執行時表可以一直很小速度很快。
act_id_*: 'id'表示identity。 這些表包含身份資訊,比如使用者,組等等。
act_hi_*: 'hi'表示history。 這些表包含歷史資料,比如歷史流程例項, 變數,任務等等。
act_ge_*: 通用資料, 用於不同場景下,如存放資源檔案。
資源庫流程規則表
act_re_deployment 部署資訊表
act_re_model 流程設計模型部署表
act_re_procdef 流程定義資料表
執行時資料庫表
act_ru_execution 執行時流程執行例項表
act_ru_identitylink 執行時流程人員表,主要儲存任務節點與參與者的相關資訊
act_ru_task 執行時任務節點表
act_ru_variable 執行時流程變數資料表
歷史資料庫表
act_hi_actinst 歷史節點表
act_hi_attachment 歷史附件表
act_hi_comment 歷史意見表
act_hi_identitylink 歷史流程人員表
act_hi_detail 歷史詳情表,提供歷史變數的查詢
act_hi_procinst 歷史流程例項表
act_hi_taskinst 歷史任務例項表
act_hi_varinst 歷史變數表
組織機構表
act_id_group 使用者組資訊表
act_id_info 使用者擴充套件資訊表
act_id_membership 使用者與使用者組對應資訊表
act_id_user 使用者資訊表
通用資料表
act_ge_bytearray 二進位制資料表
act_ge_property 屬性資料表儲存整個流程引擎級別的資料,初始化表結構時,會預設插入三條記錄,
activiti.cfg.xml1基於jdbc引數配置的資料庫連線
2預設使用mybatis連線池,資料庫底層封裝mybaties
activiti核心配置檔案,配置流程引擎建立工具的基本引數和資料庫連線池引數。
定義資料庫配置引數:
jdbcurl: 資料庫的jdbc url。
jdbcdriver: 對應不同資料庫型別的驅動。
jdbcusername: 連線資料庫的使用者名稱。
jdbcpassword: 連線資料庫的密碼。
jdbcmaxactiveconnections: 連線池中處於被使用狀態的連線的最大值。預設為10。
jdbcmaxidleconnections: 連線池中處於空閒狀態的連線的最大值。
jdbcmaxcheckouttime: 連線被取出使用的最長時間,超過時間會被強制**。 預設為20000(20秒)。
jdbcmaxwaittime: 這是乙個底層配置,讓連線池可以在長時間無法獲得連線時, 列印一條日誌,並重新嘗試獲取乙個連線。(避免因為錯誤配置導致沉默的操作失敗)。 預設為20000(20秒)。
http學習01 什麼是http
http 超文字傳輸協議。可以將http拆分成三個部分來看。什麼是協議?現實生活中的協議是對參與者的一種行為約定和規範。在網際網路的世界中,多台機器需要相互溝通時同樣也要遵守相同的規範。http是乙個用在計算機世界中的協議。他使用計算機能夠理解的語言確定了一種計算機之間能夠交流通行的規範,以及相關的...
01 什麼是爬蟲
網際網路是由網路裝置 網線,路由器,交換機,防火牆等等 和一台臺計算機連線而成,像一張網一樣。網際網路的核心價值在於資料的共享 傳遞 資料是存放於一台臺計算機上的,而將計算機互聯到一起的目的就是為了能夠方便彼此之間的資料共享 傳遞,否則你只能拿u盤去別人的計算機上拷貝資料了。3.1 只不過,使用者獲...
01什麼是設計模式
設計模式是前人對 開發總結出來的經驗和智慧型,針對不同型別的問題,設計出優雅的解決方案。就像武俠 裡面的武功秘籍,它是一套招式,學會了之後就可以用它行走江湖。設計模式的原理基於物件導向思想,學習完設計模式後會對封裝繼承多型有更深入的理解。我們學習設計模式的時候,我們不僅要學習它的語法和使用方式,更要...