力軟快速開發框架工作流引擎


工作流引擎,軟件開發中不可避免的重要一環。

所謂工作流引擎,是指workflow作爲應用系統的一部分,併爲之提供對各應用系統有決定作用的根據角色、分工和條件的不同決定信息傳遞路由、內容等級等核心解決方案。

工作流引擎包括流程的節點管理、流向管理、流程樣例管理等重要功能。

工作流引擎

開發一個優秀的軟件系統,系統界面是最基礎的部分,數據庫之間的信息交換是必備條件,而根據業務需求開發出符合實際的程序邏輯,並在一定程度上保證其穩定性、易維護性纔是根本。穩定性自不必說,易維護性則要保證模塊化和結構化,這樣可以在業務流程發生變化,例如決策權的改變、組織結構的變動時產生的全新業務邏輯,而工作流引擎解決的就是這個問題。如果應用程序缺乏強大的邏輯層,就會變得容易出錯,比如信息的路由錯誤、死循環等等。

舉個簡單的例子,一輛汽車,外觀很漂亮,但是如果發動機有問題,那就變成了一個擺設,勢必會bug不斷。而應用系統的拓展性就好比汽車的引擎轉速,別人的百公里加速只要10s,而你的則需要一個小時(業務流程變動需要更長時間的程序修改),孰優孰劣,一目瞭然。而如果引擎再動不動就熄火(程序邏輯死循環),那這樣的車誰還會叫好呢?

服務架構

面向服務的體系結構,是一個組件模型,它將應用程序的不同功能單元通過這些服務之間定義良好的接口和契約聯繫起來。接口是採用中立的方式進行定義的,它應該獨立於實現服務的硬件平臺、操作系統和編程語言。工作流引擎使得構建在各種這樣的系統中的服務,可以以一種統一和通用的方式進行交互。


力軟案例

以前一直在想如何構建一個靈活的OA工作流機制,可能開始有很多人用domino來做,後來到了ASP.NET的時候,好像大家都醒悟了,公司老闆、CTO等都開始嚷嚷要上工作流引擎實現企業信息審批流程化。基於企業的實際需求,公司也在近幾年開發了標準企業級的工作流引擎(learun),並獲得了雙軟認證,各項指標及客戶反映都不錯,其基本思路如下:

首先定義每個操做,就是定義流程步,定義流程步主要包括:操作的接口地址、操作參數、操作類型(起始操作、中間操作等)。定義操作的目的是接着爲每個操作設置關係和定義流程時選用這些定義好的操作步。

第二定義操作的參數,有了接口地址外,還需要定義操作參數。

第三是定義操作步之間的關係。就是定義一個流程中每個操作步的前驅、後繼的操作步。

第四是定義流程了,必要的信息是流程名稱等基本信息和定義流程的各個操作步以及流轉規則。流程基本信息就不用說了。流程步定義比較複雜,設置定義步驟類型(起始、中間、終結),入口步驟、出口步驟、通知模式、人員、角色、發送通知的內容。

第五是涉及跳步情況的定義,比如需要根據參數的不同提交到不同的步驟進行審批,這裏叫做流程步驟變遷規則設置。設置的內容需要:原步驟、目標步驟、變遷方向(正/負)、條件規則(判斷參數時用與還是用或)。接着設置參數和參數值及比較條件。

第六是授權管理。這個比較簡單了,判斷被提交的人是否處於授權狀態,從而進行授權處理。

以上所說只是基礎邏輯,實際編寫過程中還要考慮各企業的實際情況,learun框架內置的工作流引擎,集合了各行業客戶意見與建議,適用性強,穩定性高,使用便捷,歡迎各位同仁體驗指正。


官網:www.learun.cn

演示地址:http://www.learun.cn/Home/VerificationForm


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章