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