国产粉嫩无码不卡在线观看,酒店大战丝袜高跟鞋人妻,特级精品毛片免费观看,欧美亚洲日本国产综合在线

深入淺出,工作流引擎(工作上深入淺出是什么意思)

隨著 LCDP(低代碼開發(fā)平臺(tái)) 不斷被公眾認(rèn)知,規(guī)模也在日益擴(kuò)大,正在不斷地驚醒著每個(gè)開發(fā)者,變革才是出路。由此我們簡(jiǎn)單帶出我們今天要談的WorkFlow工作流引擎。

WorkFlow工作流引擎目前是以BPMN和Active工作流為兩大陣營(yíng)為主,源代碼以:Java、net為主,而PHP幾乎沒有工作流引擎(這就很尷尬了)。

說完大體情況,我們開始進(jìn)入正文:

什么是工作流引擎(Workflow Engine )

開發(fā)一個(gè)系統(tǒng),最關(guān)鍵的部分不是系統(tǒng)的界面,也不是和數(shù)據(jù)庫之間的信息交換,而是如何根據(jù)業(yè)務(wù)邏輯開發(fā)出符合實(shí)際需要的程序邏輯并確保其穩(wěn)定性、易維護(hù)性(模塊化和結(jié)構(gòu)化)和彈性(容易根據(jù)實(shí)際業(yè)務(wù)邏輯的變化作出程序上的變動(dòng),例如決策權(quán)的改變、組織結(jié)構(gòu)的變動(dòng)和由于業(yè)務(wù)方向的變化產(chǎn)生的全新業(yè)務(wù)邏輯等等)。 Workflow 引擎解決的就是這個(gè)問題:如果應(yīng)用程序缺乏強(qiáng)大的邏輯層,勢(shì)必變得容易出錯(cuò)。

就好比一輛汽車,外表做得再漂亮,如果發(fā)動(dòng)機(jī)有問題就只是一個(gè)擺設(shè)。應(yīng)用系統(tǒng)的彈性就好比引擎轉(zhuǎn)速方面的性能,加速到100 公里需要1 個(gè)小時(shí)(業(yè)務(wù)流程發(fā)生變動(dòng)需要進(jìn)行半年的程序修改)還能叫好車嗎?引擎動(dòng)不動(dòng)就熄火(程序因?yàn)檫壿嫷膯栴}陷入死循環(huán))的車還敢開嗎?(來源于百度百科)

為什么要用工作流引擎?

為了解釋這個(gè)問題,我們來舉個(gè)例子:
應(yīng)用場(chǎng)景: 張三工程師正在研發(fā)一套OA、ERP等企業(yè)信息管理平臺(tái)
客戶需求: 有個(gè)物資系統(tǒng),客戶希望這么做,A填寫申請(qǐng)表——B部門經(jīng)理審核——C物資管理部確認(rèn)——D張三領(lǐng)用物資
張三工程師: 立刻開始了業(yè)務(wù)需求調(diào)研,分析,總結(jié)。然后開始寫代碼了。業(yè)務(wù)表單很簡(jiǎn)單(這里我們就忽略了)
審批設(shè)計(jì):-1 退回修改 0 保存編輯 1部門經(jīng)理審核 2 物資部門確認(rèn) is_use 是否領(lǐng)用
根據(jù)設(shè)計(jì):寫了如下代碼:

public function check(){ $code = input('code'); $userId = session('uid'); switch ($code){ case 1: //B核準(zhǔn) //一大堆邏輯代碼 break; case 2: //c物資部核準(zhǔn)` //一大堆邏輯代碼 break; default: //張三發(fā)起申請(qǐng) //一大堆邏輯代碼 } }}

深入淺出,工作流引擎(工作上深入淺出是什么意思)

這時(shí)候,張三工程師,很快寫完了代碼。邏輯也正確,權(quán)限判斷完全沒問題,很高興的跟客戶開始了一系列的騷操作,并審核通過。
時(shí)間過了半個(gè)月,軟件還在運(yùn)維應(yīng)用期間??蛻艚o張三工程師打電話,我們領(lǐng)導(dǎo)說,要增加一個(gè)審核功能,

改為:A填寫申請(qǐng)表——B部門經(jīng)理審核——E主任核實(shí)——C物資管理部確認(rèn)——D張三領(lǐng)用物資

問題來了: 而這個(gè)客戶系統(tǒng),有數(shù)十條,類似的審核業(yè)務(wù)?如果都這樣變動(dòng)?

這時(shí)候,求張三工程師的心里陰影面積?

總結(jié)下: 從上面的例子來說,不能說張三工程師的代碼邏輯有問題,業(yè)務(wù)邏輯有問題。但是問題在哪里?

我個(gè)人認(rèn)為,在于沒有很好處理業(yè)務(wù)與邏輯之間的關(guān)鍵因素。我們常說,信息管理系統(tǒng)業(yè)務(wù)是一半,工作流程是一半。如何整合好這兩個(gè)關(guān)系。需要應(yīng)用到工作流引擎。

廢話太多,來點(diǎn)實(shí)際~

用工作流解決上面張三工程師的問題

李四接手了,張三的業(yè)務(wù),全面分析了,下系統(tǒng)。決定開發(fā)個(gè)專門管理該公司的業(yè)務(wù)流程問題。 把業(yè)務(wù)與流程剝離。

通過可視化快速構(gòu)建。在2分鐘就完成了上面的邏輯架構(gòu),同樣的,改造了數(shù)十條業(yè)務(wù)邏輯。而這些,他只用了不到1個(gè)小時(shí)。


張三工程師,不可思議的說,原來還有工作流這東西~~~

總結(jié)來了

通過上面的小Demo應(yīng)該很容易看出工作流強(qiáng)大的優(yōu)勢(shì)在于哪里。

不管你業(yè)務(wù)怎么變化,流程怎么變化,都能通過可視化的拖拽設(shè)計(jì),

把專業(yè)的流程驅(qū)動(dòng)交給專業(yè)的流程引擎,歸集與統(tǒng)一。

你省去的不僅僅是流程的調(diào)研,客戶需求分析時(shí)間,

更是你寫if else 一大堆重復(fù)代碼的時(shí)間。

最后回到原題:

深入淺出,工作流引擎。LCDP(低代碼開發(fā)平臺(tái))的出現(xiàn)并非偶然,而是在發(fā)展過程中的必然,專業(yè)化的表單設(shè)計(jì),流程驅(qū)動(dòng),會(huì)打破傳統(tǒng)開發(fā)的弊端,為企業(yè)在快速構(gòu)建,數(shù)據(jù)驅(qū)動(dòng)上提供先進(jìn)的技術(shù)生產(chǎn)力!

最后推薦幾個(gè)國(guó)產(chǎn)流程引擎:

PHP流程引擎TPflow https://gitee.com/ntdgg/tpflow PHP優(yōu)秀的工作流新秀

JAVA流程引擎Jflow:https://gitee.com/opencc/JFlow 堅(jiān)持流程開發(fā)12年

深入淺出,工作流引擎(工作上深入淺出是什么意思)

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。