亚州天堂爱爱,做爱视频国产全过程在线观看,成人试看30分钟免费视频,女人无遮挡裸交性做爰视频网站

? ? ?

如何設計一個流程引擎(如何設計一個流程引擎系統)

流程引擎是低代碼平臺的核心,它可以幫助我們去實現非常靈活的流程設計,極大的助力實現數據流轉的的規范化。那么,如何設計一個流程引擎呢?一起來看一下吧。

如何設計一個流程引擎(如何設計一個流程引擎系統)

流程引擎是低代碼平臺的核心,它可以幫助我們去實現非常靈活的流程設計,極大的助力實現數據流轉的的規范化。流程引擎是什么?國內外流程引擎有什么區別?如何設計一個流程引擎?

一、流程引擎

1. 什么是流程引擎

流程引擎,用來驅動業務按照設定的固定流程去流轉的東西,在復雜多變的業務情況下,使用既定的流程能夠大大降低我們設計業務的成本,并且保證了我們業務執行的準確性。

2. 流程引擎的主要標準

BPMN(Business Process Model And Notation), 業務流程模型和符號,是由BPMI(BusinessProcess Management Initiative)開發的一套標準的業務流程建模符號,使用 BPMN 提供的符號可以創建業務流程。即BPMN是用來建模業務流程的標準規則。

WFMC(Workflow Management Coalition),國際工作流管理聯盟。于1993年成立,發布了一系列的工作流定義、軟件接口的草案文本,是目前世界上公認的最具權威性的工作流標準制定機構,得到了廣泛的支持和應用。

2002 年10月25日,WFMC發布了基于XML的流程定義語言1.0版的最終文本(Workflow Process Definition Interface——XML Process Definition Language 文檔編號:WFMC-TC-1025),以及此前發布的工作流應用軟件接口規范WFMC-TC-1009, WFMC-TC-1013等系列文件,構成了工作流定義及系統的設計標準。

BPEL(Business Process Execution Language),意為業務過程執行語言,是一種基于XML的,用來描寫業務過程的編程語言,被描寫的業務過程的每個單一步驟則由Web服務來實現。

2002年IBM、BEA和微軟一起開發和引入了BPEL作為描寫協調Web服務的語言。這個描寫的本身也由Web服務提供,并可以當作Web服務來使用。通過BPEL可以描寫一個參加一個Web服務過程的Web服務的接口,比如信息需要按照怎樣的順序被輸入,但是BPEL無法用來描寫一個業務過程的調諧。

3. 國內外流程引擎的區別

市面上國外的流程引擎主要有osworkflow、jbpm、Activiti、flowable、camunda,底層架構設計優秀。國內流程引擎,Java領域有廣州天翎、炎黃盈動等、深圳奧哲、上海易正等,在設計理念和功能實現上各局特色,并且非常成熟,比如天翎主打的就是擅長中國式復雜業務流程處理。

國內外流程引擎有什么區別呢?主要有三個方面:

4. 功能應用需求

國外流程引擎功能上不能滿足中國特色的流程應用需求,比如:抄送、會簽、加簽、傳閱、跳轉、任意流、退回、取回、撤銷、一人多部門等需求,這些需求可以通過擴展開發實現,但是開發周期較長,風險較大。

5. 組織模型需求

流程引擎自帶簡單的組織用戶表,比如camunda流程引擎自帶了用戶表(act_id_user)、用戶群組表(act_id_group)、用戶群組關聯表(act_id_membership)這幾張表,功能十分簡單,基本上滿足不了國內企業級應用需求,需要單獨涉及組織機構表,然后跟流程引擎進行集成。比如最常見需求——多組織流程架構支持,集團總部、子公司多級組織架構,國內組織架構涉及到有組織、部門、用戶、崗位、職務多個要素,這些要素間有復雜邏輯關系。

6. 國外流程引擎具有局限性

國外流程引擎以嵌入式形式存在,核心考量是簡化程序開發,所以經常是作為開發工具IDE的插件形式(現在也做了些調整,提供web方式定義流程,單功能比較弱),比如財務軟件中嵌入一個流程,最著名的是Activiti和flowable(同一個人開發)。一些國內低代碼平臺也是基于Activiti去魔改的,有一定局限性,比如宏天、紅迅,所以不可避免受到很多限制。

二、怎樣設計流程引擎

流程邏輯執行:

1. 狀態機原理

狀態機(State Machine),定義事物狀態以及這些狀態之間轉移和動作等行為的數學模型。一般可以分為有限狀態機、并發狀態機、分層狀態機等。

沒有流程引擎前的弱版流程引擎,必須要有狀態,狀態即節點,狀態機= 流程 狀態。

2. Xml轉換Object

Xml ,一種數據格式,Object ,對象。做流程圖的項目時,新的流程定義為Xml的,需要對Xml與Java Object進行互轉。

如何設計一個流程引擎(如何設計一個流程引擎系統)

流程描述(XML)

3. 流程運行狀態

流程狀態是對于一個對象在流程的不同階段進行概括性、結果性、引導性的描述。

如何設計一個流程引擎(如何設計一個流程引擎系統)

(流程運行時類圖)

  • WFRunner——工作流處理的對外接口,需要用到工作流的調用均通過此對象完成;
  • StateMachine——工作流狀態機的實現,是整個工作流實現系統的核心,具體說明參見API文檔;
  • ActorRT——當前處理者運行時狀態;
  • ActorHIS——歷史處理者處理歷史紀錄;
  • FlowStateRT——流程當前狀態,比如:掛起、運行等;
  • NodeRT——當前節點運行時狀態;一個Node可以對應多個Actor;
  • RelationHIS——流程路徑處理歷史紀錄;

其他幾個類均為實現WorkFlow運行所需要的輔助功能類。

三、流程引擎的效果和應用

流程引擎的應用十分廣泛,本文將展示部分常見的流程引擎應用場景。

常見效果展示,包括后臺設計、前臺運行、流程干預、流程報表統計等。

如何設計一個流程引擎(如何設計一個流程引擎系統)

(流程后臺設計1—圖形)

如何設計一個流程引擎(如何設計一個流程引擎系統)

(流程后臺設計2-源代碼)

如何設計一個流程引擎(如何設計一個流程引擎系統)

(流程后臺設計3-子流程)

如何設計一個流程引擎(如何設計一個流程引擎系統)

(流程企業域展示——流程干預)

如何設計一個流程引擎(如何設計一個流程引擎系統)

(流程后臺設計4-報表設計)

如何設計一個流程引擎(如何設計一個流程引擎系統)如何設計一個流程引擎(如何設計一個流程引擎系統)如何設計一個流程引擎(如何設計一個流程引擎系統)

(流程前臺運行)

流程引擎也可用于去整合多個應用系統。

1)集成第三方系統

通過RESTFUL API與第三方業務系統集成、業務數據保存在第三方系統,流程數據保存在流程引擎上。

如何設計一個流程引擎(如何設計一個流程引擎系統)

2)流程數據分析

流程引擎可以幫助用戶從多維度、多時間、多角度分析流程數據。

如何設計一個流程引擎(如何設計一個流程引擎系統)

本文由 @周志軍Jarod 原創發布于人人都是產品經理,未經作者許可,禁止轉載。

題圖來自Unsplash,基于CC0協議

該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。

版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

(0)
上一篇 2024年5月13日 下午4:26
下一篇 2024年5月13日 下午4:37

相關推薦

  • 研發項目經費管理

    研發項目經費管理 隨著科技的不斷發展,企業的研發工作也越來越重要。然而,研發項目經費管理是一個復雜而重要的任務,需要有效的預算、控制和跟蹤。 在研發項目經費管理中,預算是一個非常重…

    科研百科 2024年9月12日
    22
  • 百度前端組件

    百度前端組件:構建現代Web應用的關鍵元素 隨著Web技術的不斷發展,現代Web應用程序越來越復雜,需要使用越來越多的技術和組件來構建。百度前端組件是構建現代Web應用程序的關鍵元…

    科研百科 2024年11月10日
    0
  • 7一12歲手工科技小制作

    7-12歲手工科技小制作:探索未知世界的冒險之旅 7-12歲年齡段的孩子,正處于探索未知世界的年齡,他們渴望發現新的事物,探索未知的領域。在這個年齡段,孩子們通常會開始學習制作手工…

    科研百科 2024年10月31日
    0
  • 通渭縣醫院科研項目順利通過驗收通渭縣醫院科研項目順利通過驗收

    通渭縣醫院科研項目順利通過驗收 近日,通渭縣醫院科研項目順利通過驗收,成為醫院發展歷史上的里程碑。 此次科研項目的順利通過,是通渭縣醫院在近年來不斷發展壯大的過程中,注重科技創新、…

    科研百科 2024年7月9日
    31
  • 中國人民大學獲批兩項國家重點研發項目,基礎學科實力再上新臺階

    (1)項目名稱:低維磁性材料的量子相變與物態構筑 項目負責人:中國人民大學物理學系于偉強教授 合作單位:北京師范大學、中山大學、華中科技大學、安徽大學。 資助金額:2000萬元人民…

    科研百科 2024年4月11日
    74
  • 想要參加科研項目怎么找

    想要參加科研項目,可以按照以下步驟進行: 1. 確定感興趣的領域:選擇自己感興趣的領域,因為這些領域通常會有更高水平的研究項目和導師。 2. 查找研究項目:可以通過學術搜索引擎(如…

    科研百科 2025年4月6日
    2
  • 廣州質量安全綜合監管平臺上線大半年初顯成效(廣州市質量安全監督綜合信息平臺)

    圖為廣州質量安全綜合監管平臺的在線監管畫面 南都訊 記者魏凱 為實現對全市交通建筑工程的智慧化監管,今年1月份廣州正式上線運行了“質量安全綜合監管平臺”,通過相關的工程監控系統能夠…

    科研百科 2024年8月8日
    34
  • 不浪費科研項目經費

    不浪費科研項目經費 科研項目經費是支持科學研究的重要資源。然而,浪費科研項目經費的現象也日益增多。這種現象不僅浪費了大量的資金,而且會對科學研究產生負面影響。因此,如何有效地管理科…

    科研百科 2025年2月22日
    4
  • 科研項目審計出問題怎么處理

    科研項目審計出問題怎么處理 科研項目審計是確??蒲许椖空鎸嵭?、合規性和效益的重要保障措施。然而,如果科研項目審計出現問題,如何處理呢?下面我們將為您詳細介紹。 首先,我們需要了解審…

    科研百科 2024年10月21日
    2
  • 醫療紡織科研項目

    醫療紡織科研項目 隨著醫療技術的不斷進步,醫療紡織項目逐漸成為醫療領域的一個重要方向。醫療紡織項目通過在醫療材料中添加特殊的纖維或化學物質,來提高醫療材料的質量,減少其對人體的影響…

    科研百科 2025年1月31日
    0