Activiti實戰01_認識Activiti

  1. 什麼是Activiti
    Activiti是爲解決工作流而創建的一套流程引擎。舉個最簡單的例子,請假流程就是一個工作流,從開始到審批到結束,像流一樣的貫穿整個流程。在工作中最常見的就是OA了。工作流總是以任務(Task)的形式驅動人處理業務或者驅動業務系統自動完成作業。有了工作流之後,作爲流程中的一員,我們只需要關心自己在流程中的待辦任務,而不用關心其他人的待辦任務。
    之所以稱爲Activiti是因爲在流程中的每一個動作都可以稱之爲活動(Activity),也就是業務流程中的最小組成部分。多個活動在英文中是一定要用複數形式的,那就是Activities。最後以複數化簡的方式標示活動的集合,以此來全是Activiti與工作流的目的與設計。
  2. 工作流基礎
    BPM(Business Process Management):業務流程管理,是一套達成企業各種業務環節整合的全面管理模式。是爲了實現一定的經營目的而執行的一系列邏輯相關的活動的集合。是根據業務環境變化,推進人與人之間,人與系統之間,以及系統與系統之間的整合及調整的經營方法與解決方案的IT工具。既然是工具,必有其目的,目的最開始就是爲了滿足無紙化辦公的需求,最後發現功能越來越強,現在的BPM是一種企業集成技術,並作爲面向服務系統架構SOA(Service-Oriented Architecture),企業應用集成EAI(Enterprise Application integration),企業服務總線ESB(Enterprise Service Bus)的補充。
  3. 工作流的生命週期
    學任何一種編程語言和技術,其中對象的生命週期都是必須要關注的東西,對於工作流來說,一個完整的工作流生命週期會經過5步,並且迭代循環。
  4. BPMN
    BPMN(Business Process Modeling Notation):業務流程建模標註,由BPMN組織發佈,就是爲了統一標準,對流程建模,在符合BPMN2.0的流程殷勤上執行。
  5. Activiti的特點
    • 數據持久化
      使用Mybatis對數據進行持久化
    • 引擎Service接口
      七大引擎Service接口,均通過ProcessEngine獲取,支持鏈式編程,讓你無所不能。
  6. Activiti的應用
    • 在系統集成方面應用
      與ESB(Enterprise Service Bus)整合,例如Mule
      與規則引擎(Rule Engine)整合,例如Jboss Drools
    • 在其他產品中的應用
      OA系統
  7. Activiti架構與組件
    Activiti架構中最重要的一定是引擎了,就相當於火車沒有引擎不能跑,飛機沒有引擎不能飛一樣,Activiti沒有引擎, 就沒有七大Service和一切。
    • Activiti Engine:核心模塊,提供針對BPMN2.0規範的解析、執行、創建、管理(任務、流程實例)、查詢歷史記錄並根據結果生成報表。
    • Activiti Modeler:模型設計器,Signavio贈送,適用於業務人員將需求轉化爲規範流程定義
    • Activiti Designer:功能同Activiti Modeler,支持BPMN2.0,沒有完全支持BPMN規範的定義,適用於開發人員
    • Activiti Explorer:管理倉庫、用戶、組,啓動流程、任務辦理等。此組提供REST風格API,提供一個基礎的設計模型,如果業務簡單,也可以直接使用無需開發,還可以作爲後臺管理員的流程、任務管理系統使用。
    • Activiti REST:提供REST風格服務,允許客戶端以JSON的方式與引擎的REST API交互,通用的協議具有跨平臺、跨語言的特性。
  8. Activiti 與JBPM5比較
    目前流行的工作流引擎 有Activiti和JBPM5,而在JBPM5發佈以前大多數項目、平臺都是基於JBPM3、JBPM4開發的。
  9. 小結
    Activiti給我的感覺就是能夠將現實生活中具有流程性的東西以一張流程圖表現出來,然後通過代碼實現他,讓邏輯更清晰,例如OA中的請假流程,申請轉正流程等等,具有一般性的事務的抽象,需要大衆適應一般性,對於特殊還是要特殊處理。
發佈了51 篇原創文章 · 獲贊 26 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章