您好,登錄后才能下訂單哦!
工作流引擎,是軟件開發中非常重要的一部分。所謂工作流引擎,是指workflow作為應用系統的一部分,并為之提供對各應用系統有決定作用的根據角色、分工和條件的不同決定信息傳遞路由、內容等級等核心解決方案。
工作流引擎包括流程的節點管理、流向管理、流程樣例管理等重要功能。
開發一個優秀的軟件系統,系統界面是最基礎的部分,數據庫之間的信息交換是必備條件,而根據業務需求開發出符合實際的程序邏輯,并在一定程度上保證其穩定性、易維護性才是根本。穩定性自不必說,易維護性則要保證模塊化和結構化,這樣可以在業務流程發生變化,例如決策權的改變、組織結構的變動時產生的全新業務邏輯,而工作流引擎解決的就是這個問題。如果應用程序缺乏強大的邏輯層,就會變得容易出錯,比如信息的路由錯誤、死循環等等。
舉個簡單的例子,一輛汽車,外觀很漂亮,但是如果發動機有問題,那就變成了一個擺設,勢必會bug不斷。而應用系統的拓展性就好比汽車的引擎轉速,別人的百公里加速只要10s,而你的則需要一個小時(業務流程變動需要更長時間的程序修改),孰優孰劣,一目了然。而如果引擎再動不動就熄火(程序邏輯死循環),那這樣的車誰還會叫好呢?
服務架構
面向服務的體系結構,是一個組件模型,它將應用程序的不同功能單元通過這些服務之間定義良好的接口和契約聯系起來。接口是采用中立的方式進行定義的,它應該獨立于實現服務的硬件平臺、操作系統和編程語言。工作流引擎使得構建在各種這樣的系統中的服務,可以以一種統一和通用的方式進行交互。
Learun工作流引擎
以前一直在想如何構建一個靈活的OA工作流機制,可能開始有很多人用domino來做,后來到了ASP.NET的時候,好像大家都醒悟了,公司老板、CTO等都開始嚷嚷要上工作流引擎實現企業信息審批流程化。基于企業的實際需求,公司也在近幾年開發了標準企業級的工作流引擎(learun),并獲得了雙軟認證,各項指標及客戶反映都不錯,其基本思路如下:
首先定義每個操做,就是定義流程步,定義流程步主要包括:操作的接口地址、操作參數、操作類型(起始操作、中間操作等)。定義操作的目的是接著為每個操作設置關系和定義流程時選用這些定義好的操作步。
第二定義操作的參數,有了接口地址外,還需要定義操作參數。
第三是定義操作步之間的關系。就是定義一個流程中每個操作步的前驅、后繼的操作步。
第四是定義流程了,必要的信息是流程名稱等基本信息和定義流程的各個操作步以及流轉規則。流程基本信息就不用說了。流程步定義比較復雜,設置定義步驟類型(起始、中間、終結),入口步驟、出口步驟、通知模式、人員、角色、發送通知的內容。
第五是涉及跳步情況的定義,比如需要根據參數的不同提交到不同的步驟進行審批,這里叫做流程步驟變遷規則設置。設置的內容需要:原步驟、目標步驟、變遷方向(正/負)、條件規則(判斷參數時用與還是用或)。接著設置參數和參數值及比較條件。
第六是授權管理。這個比較簡單了,判斷被提交的人是否處于授權狀態,從而進行授權處理。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。