天天看點

Workflow、BPM 流程引擎

一、流程引擎

        流程引擎是一個底層支撐平台,是為提供流程處理而開發設計的。流程引擎和流程應用,常見的支撐場景有:Workflow、BPM、流程編排等。

        流程就是一系列活動的組合。比如,用于企業辦公的 OA 系統中,就存在大量的申請審批類的流程。在生産制造業,有大量的從銷售端的訂單,到生産制造,再到簽收回款的生産銷售流程。在機器學習領域,有亞馬遜 AWS Sagemaker 的大資料處理、機器學習的應用。綜上,流程是一個概念,在和具體實作結合時,就産生了不同的流程産品,如 DevOps、Spring Data Stream 等

        實作這樣一個流程,隻需要關心流程配置、流程節點和流程表單即可,流程流轉以及流程的資料處理,都通過流程引擎來完成。

二、流程設計器

        流程設計器是流程和引擎的連接配接方,使用者通過流程設計器,将layout 和 rule 固化成某種流程,然後通過資料和資料上下文,使用流程引擎自動按照某種固化的流程進行執行。我将目前見到的流程設計器的理論基礎,常用:1,自定義系;2,UML 中的活動圖系;3,BPMN 系。

自定義系:用于 Sagemaker 等場景的 AWS Step Function(自定義流程節點)

Workflow、BPM 流程引擎

 UML Activity Diagram(UML 中的活動圖系):Flowportal BPM 的流程設計器

Workflow、BPM 流程引擎

 BPMN 系:activiti 的流程設計器

Workflow、BPM 流程引擎

 炎黃盈動的流程設計器和 processon 中的流程設計器界面幾乎一樣

Workflow、BPM 流程引擎

 三、流程引擎的應用

        3.1 Workflow:

        工作流管理聯盟 (Workflow Management Coalition,WfMC) 作為工作流管理的标準化組織而成立。WfMC 對工作流給出定義為:工作流是指一類能夠完全自動執行的經營過程,根據一系列過程規則,将文檔、資訊或任務在不同的執行者之間進行傳遞與執行

Workflow、BPM 流程引擎

         在workflow 中,流程引擎主要用于支撐流程審批和資料流轉,應用場景非常廣泛。國外産品(開源或商用)通常需求和操作比較簡單。

        workflow 使用場景最多的是 OA 産品。在 OA 辦公中,包含了企業辦公中的大量元素,這些元素足夠形成特定的産品,比如門戶系統、移動辦公。在 OA 的項目落地過程中,結合行業、業務側重點又可以形成行業解決方案和專題方案

        3.2 BPM(Business Process Management)

        Workflow 主要是解決審批和資料流轉,而 BPM 主要是解決端到端、資訊孤島等問題而存在的。大多數用 BPM 産品的客戶,都是在 BPM 基礎上進行系統搭建,比如在 BPM 上面搭建 OA、CRM、HR 等系統。

        BPM 的使用場景,比 Workflow 更廣泛,BPM 産品中包含大量的和第三方系統互動的元件和自定義 SQL、代碼元件。比如,BPM 系統中的檔案觸發器,可以在海關等互動場景下,通過監控 FTP 伺服器中的檔案,自動觸發流程執行個體;可以通過定時器 Timer,自動每日執行資料同步,并通過 Mail 節點将同步結果通知到相關營運成員等。

Workflow、BPM 流程引擎
Workflow、BPM 流程引擎

        3.3 流程編排 

         流程編排是流程業務領域的抽象思維,使用方可以通過流程編排系統,結合自己的業務場景進行業務定制。比如,可以将相關業務代碼,封裝成 function,然後通過雲廠商平台的 FAAS 平台,将不同業務的 function 進行關聯和排程,進而完成某項任務。

四、流程引擎的架構設計

4.1、組織架構的設計

Workflow、BPM 流程引擎

  4.2、流程設計器

Workflow、BPM 流程引擎

 4.3 BPM 流程引擎架構設計

Workflow、BPM 流程引擎

 4.4 發起流程

Workflow、BPM 流程引擎

4.5 流程引擎架構設計

Workflow、BPM 流程引擎

五、業務整合

  1. Business Process Analysis (BPA) 流程分析,幫助企業進行流程調整和優化
  2. Process Assets Library(PAL)流程資産庫,對企業流程進行知識化沉澱,将制度和流程落地做綁定,讓審批人知曉流程中對應的職責
  3. Process Simulate 流程模拟,自動化測試
  4. Process Forecast 流程預測
  5. 低代碼平台
  6. 更廣泛的機會,在于業務領域 + 流程引擎,比如:DevOps、RPA、應用與服務編排、資料編排、FaaS 編排等。

原文:

 流程引擎的架構設計 - 京東雲開發者的個人空間 - OSCHINA - 中文開源技術交流社群

繼續閱讀