SaaS產(chǎn)品設(shè)計(jì):可配置系統(tǒng)運(yùn)行

1 評(píng)論 19239 瀏覽 108 收藏 7 分鐘

前面系列文章有針對(duì)SaaS數(shù)據(jù)、界面、功能、流程的可配置化作詳細(xì)的描述。其中涉及到一個(gè)問(wèn)題雖然在腦海中對(duì)可配置化已有基礎(chǔ)的概念和認(rèn)識(shí),但如何將這些可配置項(xiàng)與實(shí)際系統(tǒng)運(yùn)行相結(jié)合呢?

首先,不管針對(duì)任何元素進(jìn)行可配置最終效果還是體現(xiàn)在界面上,主要包括兩個(gè)方面:一方面是功能菜單,另外一方面是功能頁(yè)面。

功能菜單作為原子功能的承載體,其包含的上下級(jí)及依賴關(guān)系直接反應(yīng)了功能可配置,而功能頁(yè)面的可定制化可有效的體現(xiàn)租戶的特性數(shù)據(jù)。對(duì)于常用SaaS設(shè)計(jì),功能菜單定制化可通過(guò)系統(tǒng)菜單框架來(lái)實(shí)現(xiàn),功能頁(yè)面定制化可通過(guò)功能頁(yè)面容器來(lái)實(shí)現(xiàn)。

其次,針對(duì)流程、數(shù)據(jù)、功能的可配置需通過(guò)三類主流的工作引擎來(lái)實(shí)現(xiàn)。流程可配置對(duì)應(yīng)的是工作流引擎,拓展數(shù)據(jù)的查詢、使用、提交及相應(yīng)的檢查可通過(guò)拓展數(shù)據(jù)引擎。最后,設(shè)計(jì)單獨(dú)的功能引擎,負(fù)責(zé)系統(tǒng)內(nèi)功能的調(diào)度和租戶功能的使用。

所以,可配置系統(tǒng)的運(yùn)行,需要包括系統(tǒng)菜單框架、功能頁(yè)面容器、工作流引擎、拓展數(shù)據(jù)引擎、功能引擎的配合。

下面將對(duì)其進(jìn)行一一的講解,需要說(shuō)明的,下面只是簡(jiǎn)單的介紹基本概念,至于具體詳細(xì)設(shè)計(jì),筆者將會(huì)在后續(xù)的文章中做進(jìn)一步說(shuō)明。

系統(tǒng)菜單框架

系統(tǒng)菜單框架主要負(fù)責(zé)系統(tǒng)功能菜單的展示,其主要目的在于滿足租戶對(duì)功能菜單定制化的需求,依托功能菜單框架系統(tǒng)可根據(jù)租戶所配置的菜單進(jìn)行裝載。

需要注意是的,系統(tǒng)菜單框架需要依托功能引擎。因?yàn)樵趯?shí)際產(chǎn)品設(shè)計(jì)過(guò)程中,功能菜單背后所體現(xiàn)的是具體的原子功能。因此,需要結(jié)合功能引擎,在系統(tǒng)運(yùn)行過(guò)程中,功能引擎負(fù)責(zé)為對(duì)應(yīng)的功能菜單裝載功能。同時(shí),在菜單被點(diǎn)擊時(shí),由功能引擎負(fù)責(zé)對(duì)具體原子功能的調(diào)度和使用。

如上圖所示,功能菜單可直接展示給租戶查看并操作,但底層具體裝載和調(diào)度還是有功能引擎實(shí)現(xiàn),系統(tǒng)菜單框架只提供功能菜單的配置。

功能頁(yè)面容器

功能頁(yè)面容器主要解決的問(wèn)題包含:頁(yè)面要素展示、頁(yè)面功能可用性、可配置數(shù)據(jù)展示、可配置數(shù)據(jù)提交。

  1. 頁(yè)面要素展示:頁(yè)面要素展示就是根據(jù)頁(yè)面的設(shè)計(jì)或租戶的配置,展示頁(yè)面的各種要素,在實(shí)際生產(chǎn)過(guò)程中租戶來(lái)源于各行各業(yè),不同的行業(yè)或公司有不同的設(shè)計(jì)要求,都需要在頁(yè)面要素展示中通過(guò)配置實(shí)現(xiàn)。
  2. 頁(yè)面功能可用性:根據(jù)租戶的購(gòu)買行為,確定對(duì)應(yīng)的原子功能是否可用。針對(duì)不可使用功能,系統(tǒng)可設(shè)置為不可用或直接隱藏。
  3. 可配置數(shù)據(jù)展示:根據(jù)租戶針對(duì)頁(yè)面實(shí)現(xiàn)定義可配置數(shù)據(jù)列表,在頁(yè)面自動(dòng)展示。前面在《SaaS可配置化:數(shù)據(jù)可配置》中提及,用戶根據(jù)實(shí)際需要,會(huì)產(chǎn)生添加拓展數(shù)據(jù)的需求,在系統(tǒng)實(shí)際運(yùn)行過(guò)程中需要通過(guò)功能頁(yè)面容器對(duì)拓展數(shù)據(jù)實(shí)現(xiàn)特性化展示。
  4. 可配置數(shù)據(jù)提交:租戶針對(duì)頁(yè)面實(shí)體設(shè)計(jì)的可配置數(shù)據(jù)項(xiàng),當(dāng)頁(yè)面提交時(shí),從頁(yè)面實(shí)體中收集可配置的數(shù)據(jù)內(nèi)容,和頁(yè)面實(shí)體一并提交。針對(duì)需要進(jìn)行提交驗(yàn)證的數(shù)據(jù),采用正則表達(dá)式進(jìn)行驗(yàn)證。

拓展數(shù)據(jù)引擎

拓展數(shù)據(jù)引擎主要負(fù)責(zé)拓展數(shù)據(jù)的展示,拓展數(shù)據(jù)的提交,拓展數(shù)據(jù)的校驗(yàn)與保存。在實(shí)際生產(chǎn)過(guò)程中,拓展數(shù)據(jù)引擎需要依賴功能頁(yè)面容器來(lái)實(shí)現(xiàn),其主要工作方式為負(fù)責(zé)對(duì)應(yīng)拓展數(shù)據(jù)的轉(zhuǎn)換。例如:拓展數(shù)據(jù)展示時(shí),系統(tǒng)從后臺(tái)獲取對(duì)應(yīng)的數(shù)據(jù),交由拓展引擎負(fù)責(zé)對(duì)其進(jìn)行相應(yīng)的類型轉(zhuǎn)換,進(jìn)而完美的顯示到頁(yè)面。

功能引擎

功能引擎的實(shí)現(xiàn)最終還是需要依賴系統(tǒng)菜單框架及功能頁(yè)面容器兩方面的配合,功能引擎主要作用是依據(jù)租戶所購(gòu)買的功能包為其分配對(duì)應(yīng)原子功能,而原子功能依托系統(tǒng)功能框架體現(xiàn)到用戶端。

在實(shí)際使用過(guò)程中,功能引擎會(huì)確定對(duì)應(yīng)的租戶是否可執(zhí)行相應(yīng)的功能或操作。

上述對(duì)可配置系統(tǒng)運(yùn)行的核心模塊做了簡(jiǎn)單的介紹,后續(xù)將會(huì)根據(jù)實(shí)際工作需要,對(duì)其逐一進(jìn)行詳細(xì)說(shuō)明。

相關(guān)閱讀

SaaS可配置化:數(shù)據(jù)可配置化

SaaS可配置化:功能可配置

SaaS可配置化:界面可配置

SaaS可配置化:流程可配置

 

本文由 @老鬼 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來(lái)自作者

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 目前還沒(méi)評(píng)論,等你發(fā)揮!