.Net Core快速開發平臺,強大工作流引擎,多系統快速配置

lrtech發表於2019-12-19


工作流引擎,是開發企業軟體開發中的重要一部分。

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

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

開發一個優秀的軟體系統,系統介面是最基礎的部分,資料庫之間的資訊交換是必備條件,而根據業務需求開發出符合實際的程式邏輯,並在一定程度上保證其穩定性、易維護性才是根本。

穩定性不必多說,易維護性則要保證模組化和結構化,這樣可以在業務流程發生變化,例如決策權的改變、組織結構的變動時產生的全新業務邏輯,而工作流引擎解決的就是這個問題。如果應用程式缺乏強大的邏輯層,就會變得容易出錯,比如資訊的路由錯誤、死迴圈等等。

服務架構

面向服務的體系結構,是一個元件模型,它將應用程式的不同功能單元透過這些服務之間定義良好的介面和契約聯絡起來。介面是採用中立的方式進行定義的,它應該獨立於實現服務的硬體平臺、作業系統和程式語言。

工作流引擎使得構建在各種這樣的系統中的服務,可以以一種統一和通用的方式進行互動。

Learun工作流引擎

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

首先定義每個操做,就是定義流程步,定義流程步主要包括:操作的介面地址、操作引數、操作型別(起始操作、中間操作等)。定義操作的目的是接著為每個操作設定關係和定義流程時選用這些定義好的操作步。

第二定義操作的引數,有了介面地址外,還需要定義操作引數。

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

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

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

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

http://img3.mukewang.com/5df9e96c0001681419200922.jpg

以上所說只是基礎邏輯,實際編寫過程中還要考慮各企業的實際情況。LeaRun框架內建的工作流引擎,集合了各行業客戶意見與建議,適用性,穩定性,便捷性都可以滿足企業日常開發需求,目前已升級.Net Core版本,其基本技術點如下:

autofac依賴注入

程式碼間解偶

非同步程式設計,提高系統處理資料的效能

中介軟體技術

跨平臺部署和開發

支援容器部署

Demo:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31505134/viewspace-2669436/,如需轉載,請註明出處,否則將追究法律責任。

相關文章