SaaS可配置化:流程可配置
SaaS軟件在實際部署使用過程中勢必需要面對各類型租戶,租戶需求千差萬別,為了最大程度滿足使用,構(gòu)建的SaaS應(yīng)用需要實現(xiàn)最大程度的可配置。前面已針對數(shù)據(jù)可配置、界面可配置、功能可配置進(jìn)行詳細(xì)描述,現(xiàn)再詳細(xì)闡述流程可配置。
基礎(chǔ)理論
抽象業(yè)務(wù)流程,將業(yè)務(wù)流程的流轉(zhuǎn)看做是一個流水生產(chǎn)線。包含三種核心概念,分別是:原材料、通道、加工、原材料在事先配置好的通道中流轉(zhuǎn),經(jīng)過多處加工最后得出預(yù)期的產(chǎn)品。
原材料可看成是原始數(shù)據(jù),通道看成是數(shù)據(jù)關(guān)聯(lián),加工看成是一個一個的服務(wù)。原數(shù)據(jù)通過數(shù)據(jù)關(guān)聯(lián)連接對應(yīng)的服務(wù),其中服務(wù)包含三要素:輸入(I)、輸出(O)、操作(A),一旦原始數(shù)據(jù)符合數(shù)據(jù)關(guān)聯(lián)要求,就可順利通過I流入,對應(yīng)的A將會依據(jù)定義好的邏輯對原始數(shù)據(jù)進(jìn)行處理,最終數(shù)據(jù)從O流入。
整套流程可通過多套數(shù)據(jù)關(guān)聯(lián)鏈接起來,原始數(shù)據(jù)經(jīng)過一步一步處理,最終將會被加工成預(yù)計需要的結(jié)果。
設(shè)計原則
整個流程化設(shè)計原則是:組件組裝,將業(yè)務(wù)流轉(zhuǎn)過程中涉及的核心模塊拆分成組件,流程可配置化的過程就是對整個服務(wù)流程組件進(jìn)行生產(chǎn)和組裝的過程。
結(jié)合是實際業(yè)務(wù)場景,對應(yīng)的組件可劃分為5大類,分別是:服務(wù)、關(guān)聯(lián)、規(guī)則、節(jié)點、約束與依賴。
1. 服務(wù)
服務(wù)的定義包含三個模塊,分別是輸入、操作、輸入。其中操作屬于核心模塊,定義了該服務(wù)所要執(zhí)行的具體操作。整個服務(wù)體可概述為可重用的軟件模塊,可以被看出是不可分割的功能體,如果有看過《SaaS可配置化-功能可配置》就會知道,其實服務(wù)的對應(yīng)的就是系統(tǒng)的“原子功能”。
2. 關(guān)聯(lián)
關(guān)聯(lián)最重要的作用就是連接規(guī)則與服務(wù),通過關(guān)聯(lián)將不同功能的服務(wù)串聯(lián)起來,進(jìn)而實現(xiàn)業(yè)務(wù)數(shù)據(jù)流的流轉(zhuǎn)。
3. 規(guī)則
規(guī)則用于對數(shù)據(jù)進(jìn)行判斷,并依據(jù)判斷結(jié)果來選擇下一個關(guān)聯(lián)。由于示意圖可看出:整體由三部分組成,條件、出分別是輸入、口。根據(jù)條件選定對應(yīng)的出口,出口再與關(guān)聯(lián)鏈接,進(jìn)入完成業(yè)務(wù)邏輯的流轉(zhuǎn)
4. 節(jié)點
節(jié)點的引入是為了支持并行時序,多任務(wù)并行,通過對應(yīng)的關(guān)聯(lián)匯集到設(shè)定的節(jié)點中。任務(wù)間具有一定的時序關(guān)聯(lián),執(zhí)行完一個任務(wù)后,同時開啟若干個任務(wù),它們都完成后再觸發(fā)后續(xù)任務(wù)
5. 約束與依賴
約束針對SaaS模式多租戶情況提出,在實現(xiàn)流程可配置時,需要添加約束也就是隱性條件,確保各租戶間數(shù)據(jù)的隔離。依賴描述的是規(guī)則與規(guī)則之間,存在數(shù)值與邏輯互為條件或不可分離的情況。
6. 解決方案
上面有對流程可配置的基礎(chǔ)理論和原則進(jìn)行詳細(xì)的闡述,下面結(jié)合實際場景對流程可配置產(chǎn)品的使用過程做一定的描述。
7. 創(chuàng)建節(jié)點
在這里定義的節(jié)點需要區(qū)分設(shè)計原則中的節(jié)點概念,這里的節(jié)點更多是針對前端用戶定義的,其基礎(chǔ)含義就是數(shù)據(jù)在流轉(zhuǎn)過程中需要經(jīng)過的各個任務(wù)階段,在設(shè)計SaaS過程中需要注意節(jié)點有對應(yīng)負(fù)責(zé)人,操作及數(shù)據(jù)可見權(quán)限。
例如:針對一個審批節(jié)點,在配置流程過程中需要配置具體的審核人員,是否具有“通過”,“退回”操作,是否可查看,編輯審核列表中的某些數(shù)據(jù)項。
節(jié)點類型:
在SaaS產(chǎn)品設(shè)計中,成功創(chuàng)建節(jié)點后,還需要考慮提供租戶對節(jié)點權(quán)限進(jìn)行設(shè)置。常見的節(jié)點權(quán)限設(shè)置往往通過限制該節(jié)點負(fù)責(zé)人,對節(jié)點包含字段的操作權(quán)限來實現(xiàn)。
例如:對于一需要提交的表單,管理員可通過設(shè)置其中字段為“可見”、“可編輯”、“隱藏”進(jìn)而實現(xiàn)權(quán)限的控制。
8. 添加流程
開始介紹的創(chuàng)建節(jié)點,針對具體使用場景。節(jié)點創(chuàng)建完畢后自然而然是添加流程操作,進(jìn)而實現(xiàn)流程的可配置化。一直描述的流程其實數(shù)據(jù)流轉(zhuǎn)的方向或途徑,租戶在使用SaaS過程中會產(chǎn)生文檔/產(chǎn)品/財務(wù)數(shù)據(jù)/項目/任務(wù)等數(shù)據(jù),這些數(shù)據(jù)只有通過流程才能一一串聯(lián)起來,進(jìn)而實現(xiàn)應(yīng)有的價值。
在實際設(shè)計過程中,可通過設(shè)計三部分:流程節(jié)點、分支和權(quán)限進(jìn)而實現(xiàn)添加流程操作,其中流程節(jié)點和權(quán)限已介紹。
分支的主要作用是確定數(shù)據(jù)的流向,在實際業(yè)務(wù)場景中,需要依據(jù)不同的條件流向不同的節(jié)點,例如:在財務(wù)審核中,小于10000,財務(wù)經(jīng)理審核,大于10000財務(wù)總監(jiān)審核。這個時候,可以以1000作為分支流轉(zhuǎn)的判斷條件進(jìn)而實現(xiàn)數(shù)據(jù)流向的可配置性。
當(dāng)然,分支流程的核心設(shè)計點在于實現(xiàn)分支判斷條件的靈活性。因為針對不同的業(yè)務(wù)場景,需要不同的對比判斷條件,包括數(shù)值對比,邏輯判斷等。
上述不管是基礎(chǔ)理論,設(shè)計原則,還是解決方案都只是提供一種SaaS流程可配置化的思路,不同的應(yīng)用場景有不同的解決方案,歡迎交流。
相關(guān)閱讀
本文由 @老鬼 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自作者
有原型可以分享嗎
可以加微信交流的不?
可以微信交流不
拆分流程,把控節(jié)點,設(shè)置權(quán)限
?? 可以加微信交流的不?