理解InforFlow工作流模型

2021-03-31 08:57:00 字數 2499 閱讀 8044

公飛

目前「工作流」已經成為乙個引人矚目的技術熱點,大量的應用解決方案正在考慮採用基於工作流技術實現。而學習工作流的關鍵在於對工作流模型的理解。下面就**一下對inforflow(中創軟體商用中介軟體****.inforbus.***的工作流中介軟體)工作流模型的理解。

應用工作流的價值

工作流主要應用在具有流程處理的業務系統中(我們稱之為流程應用),而流程是如此普遍存在的,電信、金融、政務等各種系統中都涉及大量流程。

對於流程應用有兩個特別突出的問題:

其一,有些流程非常複雜,要經過不同的組織機構,涉及多種人物角色,還有許多特殊的處理環節,對於這樣複雜流程的實現一直是很痛苦的事。

其二,流程是最容易變化的東西,比如所謂的「改革」很多就是改流程,今天為了提高辦事效率而減少處理環節,明天則可能為了嚴格控制而增加處理環節。作為軟體開發從來就討厭使用者變來變去,可是又沒有辦法,只有改造自己讓自己的軟體能夠具有更強的適應變化的能力。對於流程應用來講,這可以借助於像inforflow這樣的工作流中介軟體來完成。

採用工作流中介軟體的關鍵價值正在於這兩個方面,一方面,通過使用工作流中介軟體能更好的分解系統,並把業務流程的處理交給工作流中介軟體去做,而應用開發人員則只需要實現業務構件,這樣就能降低開發難度,減少開發的工作量;另一方面,也是更重要的,流程處理邏輯交給工作流中介軟體處理之後,由於流程邏輯和業務邏輯的分離,降低了流程邏輯改變對業務邏輯改變的影響,而像inforflow這樣工作流中介軟體保證了流程邏輯適應變化的能力,從而使的整個應用適應變化的能力得到了大大的提高。

工作流解決問題的思路

工作流解決問題的思路實際上非常簡單:將應用邏輯中流程部分分離出來(稱之為流程邏輯),為流程邏輯建立模型,定義清楚流程的表現與處理方式,以及流程邏輯與業務邏輯的介面,由工作流中介軟體實現這個流程模型,然後,再進行應用開發就只需要實現業務邏輯了。

俗眼看流程 —— 理解現實中的流程

要理解工作流模型,首先需要理解現實中的流程。下面是我對現實中流程的通俗理解:

所謂流程實際上是乙個進行業務處理的過程,這個過程由一系列環節組成,環節按照乙個順序進行,每個環節由具有一定角色的人來完成,這個人在這個環節上要完成一定的任務。

這就是對流程的通俗解釋了。在這個解釋中可以看到,流程包含如下的基本要素:

環節:流程中的乙個個的點,在這個點上要由具有特定角色的人完成一定的任務。

環節的處理順序:也就是流程的流向,有時候這個流向會受到業務資料的影響,例如申請1000萬人民幣的貸款需要經過行長這個環節,而申請1萬元人民幣的貸款則不需要經過行長這個環節。

環節的處理人:誰在這個環節上工作

環節上的任務:在這個環節上要完成的事(業務邏輯)

總起來說,所謂的流程就是,一系列任務,按照一定的順序,由各個環節上的人執行完成的業務處理過程。

從現實中的流程到inforflow工作流模型

上面談到了流程的基本要素,那麼下面就把這些要素對映到inforflow工作流模型中。

下圖就是inforflow的工作流模型:

我們按照上面講到的基本元素來描述。

環節:在inforflow中使用「節點」來表示流程的環節,在乙個「節點」上由具有特定角色的人完成一定的任務。

環節的處理順序:inforflow通過有向的「連線弧」來表示流程的流向,通過「連線弧」把「節點」串起來也就描述了節點的處理順序。然後,如果在節點或者有向弧上加上了約束條件也就定義了流向受業務資料影響的規則,這個約束條件稱為「轉移條件」。

環節的處理人:這個處理人在inforflow中稱為「執行人」,這個「執行人」可以按照角色描述,也可以直接指定為具體的某個人。

環節上的任務:在inforflow中各個環節上的任務對應於叫做「業務單元」的業務構件。另外,如果需要在節點上對流程進行控制,則將這些對流程的控制封裝為「操作」來完成。

總起來,在inforflow中流程其實就是一系列「業務單元」構件按照順序執行的過程,這些「業務單元」構件分布到不同的節點上由具有不同角色的人執行。

基於inforflow的開發

對這個模型理解之後,也就很容易的了解開發過程了:

1.分析流程:也就是分析每個流程具有哪幾個環節,每個環節上由什麼樣的人完成哪些任務,以及這些環節按照什麼樣的順序完成。尤其是對於節點上的任務,要按照構件化的思想,分解為盡量細緻的「業務單元」構件。

2.實現這些「業務單元」構件,在這些業務單元構件中完成流程邏輯之外的業務邏輯。

3.把這些「業務單元」構件註冊到inforflow設計器(流程建模工具)中,在設計器中定義出您的流程,把「業務單元」構件掛到所需的節點上。

4.最後,發布流程

如何適應變化

流程的變化主要有兩種情況:一種是增刪流程處理環節,另一種是在環節之間進行任務調整。通常在乙個流程調整過程中需要同時做這兩個方面的調整(尤其對於第一種情況肯定同時會涉及第二種調整)。在inforflow中,第一種情況就是增刪流程「節點」,第二種情況就是調整「節點」上的「業務單元」。在進行流程調整時,只要不涉及「業務單元」構件本身的變化,就不需要修改**。

SpringMVC工作流理解

1a 客戶端發出http請求,只要請求形式符合web.xml 檔案中配置的 action的話,就由dispatcherservlet 來處理。1b dispatcherservlet再將http請求委託給對映器 的物件來將http請求交給對應的action來處理 2 對映器根據客戶的http請求,再...

工作流建模 工作流概念

工作流建模 工作流概念 1 案例 工作流系統得基本目的是處理案例。每個案例都有乙個唯一標識,而且每個案例的生命週期都是有限的。案例生命週期都處於某個特定狀態,該狀態由三個元素組成 1 案例相關的屬性的值 案例屬性是一系列同案例相關的變數。能夠用來管理案例。正是通過這些變數,才有可能指出在特定條件下某...

工作流 一 什麼是工作流

什麼是工作流 工作流的英文全稱是 workflow,簡單理解則是業務流程的計算機化或自動化。它是是針對工作中具有固定程式的常規活動而提出的乙個概念,通過將工作活動分解定義良好的任務 角色 規則和過程來進行執行和監控,達到提高生產組織水平和工作效率的目的。工作流技術發端於70年代中期辦公自動化領域的研...