SaaS系統(tǒng)框架搭建詳解(saas 框架)
SaaS系統(tǒng)能提供一個(gè)或者多個(gè)行業(yè)常見場景的功能支持,只要在有網(wǎng)絡(luò)的情況下,便“隨處可用、拿來即用、不用下載”,所以現(xiàn)在也是一個(gè)流行的趨勢。本文介紹了SaaS系統(tǒng)的框架搭建,一起來學(xué)習(xí)一下吧。
根據(jù)百度百科的解釋:“SaaS,是Software-as-a-Service的縮寫名稱,意思為軟件即服務(wù),SaaS平臺(tái)供應(yīng)商將應(yīng)用軟件統(tǒng)一部署在自己的服務(wù)器上,客戶可以根據(jù)工作實(shí)際需求,向廠商訂購所需的應(yīng)用軟件服務(wù),按定購的服務(wù)多少和時(shí)間長短向廠商支付費(fèi)用,并通過互聯(lián)網(wǎng)獲得SaaS平臺(tái)供應(yīng)商提供的服務(wù)”。
SaaS系統(tǒng)能提供一個(gè)或者多個(gè)行業(yè)常見場景的功能支持,并且只要在有網(wǎng)絡(luò)的前提下具有“隨處可用、拿來即用、不用下載”的特點(diǎn)。
對于SaaS服務(wù)商來說,邊際成本隨著客戶的增多大幅度降低;對于客戶來說,能在業(yè)務(wù)開展前期先小成本試用,降低軟件綜合成本,可以更聚焦于業(yè)務(wù)本身的開展;對于用戶來說,可以拿來即用,并且SaaS系統(tǒng)的常規(guī)設(shè)計(jì)符合相對應(yīng)領(lǐng)域用戶的心智模型,使用起來非常方便。
所以現(xiàn)在SaaS系統(tǒng)的流行已然是一種趨勢。接下來為大家詳細(xì)介紹一下SaaS系統(tǒng)的框架搭建,也就是SaaS異于其他常規(guī)B端平臺(tái)的地方—權(quán)限的配置以及數(shù)據(jù)的隔離要更為復(fù)雜一些。
一、菜單管理
菜單管理主要是為了管理后臺(tái)系統(tǒng)菜單的展示、排序、以及跳轉(zhuǎn),開發(fā)人員每次做好新的的功能時(shí),可以直接從這里配置到后臺(tái),不需要通過在數(shù)據(jù)庫插數(shù)據(jù),或者走開發(fā)、發(fā)布、上線的流程。
參照原型如下:
- 標(biāo)識(shí)碼:唯一標(biāo)識(shí),去重
- 菜單名稱:名字直接體現(xiàn)了導(dǎo)航的內(nèi)容
- 菜單圖標(biāo):和菜單名稱相對應(yīng),只有目錄類型和菜單類型的才會(huì)有
- 權(quán)限代碼:代碼里面不會(huì)進(jìn)行漢字邏輯判斷,需要設(shè)計(jì)對應(yīng)標(biāo)識(shí)碼,為后續(xù)權(quán)限設(shè)置提供選項(xiàng)
- 父級菜單:菜單的層級關(guān)系
- 排序號:控制同一層級的前后順序
- url:菜單類型才會(huì)有該字段
- 跳轉(zhuǎn)類型:內(nèi)部跳轉(zhuǎn)(相對路徑)、外部跳轉(zhuǎn)(絕對路徑)
- 跳轉(zhuǎn)方式:原頁面打開、新頁面打開
- 類型:目錄(可以包含目錄和菜單)、菜單(設(shè)置跳轉(zhuǎn)url)、按鈕(設(shè)置權(quán)限的最小單位)
- 狀態(tài):開啟(正常在導(dǎo)航中顯示的菜單)、關(guān)閉(停用不在導(dǎo)航中顯示的菜單)
二、站點(diǎn)管理
站點(diǎn)管理主要是為了不同機(jī)構(gòu)的名牌化宣傳,專門為機(jī)構(gòu)配置專屬域名&名字&logo等。多個(gè)機(jī)構(gòu)也可以用同一個(gè)域名。不管是否使用不同的域名,不同機(jī)構(gòu)的用戶數(shù)據(jù)都會(huì)做數(shù)據(jù)隔離。
大概涉及到的字段如下:
- 組織名稱:從已有的組織下拉菜單中進(jìn)行選擇
- 域名:用戶訪問的前端網(wǎng)址,后臺(tái)網(wǎng)址一般在前臺(tái)網(wǎng)址的后面加上/login
- 門戶網(wǎng)站設(shè)置:名稱、logo
- 后臺(tái)設(shè)置:名稱、logo
- 支付相關(guān)配置、頁尾菜單配置、數(shù)據(jù)統(tǒng)計(jì)配置等其他配置
不同機(jī)構(gòu)需要做的個(gè)性化配置維度以及配置涉及到的參數(shù)都比較多。例如上面提到的“支付相關(guān)配置”,不同租戶的收款商戶肯定不同的,所以要對微信開放平臺(tái)、微信公眾平臺(tái)、微信商戶號、支付寶商戶號等進(jìn)行配置。不同配置維度的具體配置我們后續(xù)專門寫文章進(jìn)行詳解。
三、組織管理
SaaS系統(tǒng)通過組織來實(shí)現(xiàn)多租戶管理,為租戶配置管理員以及系統(tǒng)的功能權(quán)限等,除此之外還可以根據(jù)實(shí)際需求為租戶設(shè)置可以管理的其他組織以及組織下內(nèi)容,對于會(huì)提供內(nèi)容服務(wù)的SaaS服務(wù)商,需要對應(yīng)設(shè)計(jì)跨組織共享內(nèi)容的功能。接下來要給大家分享的SaaS框架支持跨組織管理數(shù)據(jù)以及跨組織共享內(nèi)容。
參照原型如下:
- 組織名稱
- 管理員信息配置:賬號、手機(jī)號、密碼
- 系統(tǒng)有效期
- 后臺(tái)(or前臺(tái))賬號數(shù)量限制:根據(jù)業(yè)務(wù)需求進(jìn)行必選項(xiàng)的配置
- 組織結(jié)構(gòu):支持多級組織結(jié)構(gòu)(事業(yè)部&部門&小組等)
- 前臺(tái)模塊權(quán)限
- 后臺(tái)功能權(quán)限
- 組織權(quán)限
- **內(nèi)容權(quán)限(課程包&資訊等)
1. 組織和管理員的關(guān)系
①管理員默認(rèn)有該組織的最高功能權(quán)限;
②管理員默認(rèn)有管理組織的全部數(shù)據(jù)權(quán)限;
③SaaS服務(wù)商(原型中的A機(jī)構(gòu))默認(rèn)有一個(gè)總的管理員賬號,擁有整個(gè)系統(tǒng)最高的數(shù)據(jù)以及功能權(quán)限;
④操作者可以對自己管理的其他組織進(jìn)行所有的信息變更,但是對于自己所在的組織只有【重置密碼】的操作;
⑤組織中的管理員賬號只在組織模塊中出現(xiàn),不會(huì)在賬號管理模塊中出現(xiàn);
2. 系統(tǒng)有效期
①系統(tǒng)到了有效期之后,如果機(jī)構(gòu)不續(xù)約一般數(shù)據(jù)還會(huì)保留1~3年;
②超過有效期之后前端用戶一般無法登錄;
③超過有效期之后后臺(tái)用戶設(shè)置為只能查看部分?jǐn)?shù)據(jù),無法操作。如果數(shù)據(jù)被清空之后也無法登錄了;
3. 前臺(tái)模塊權(quán)限
①門戶網(wǎng)站的功能模塊配置;
②不配置的模塊在前端看不到或者點(diǎn)擊提示無權(quán)限;
③選項(xiàng)為操作者所在組織有權(quán)限的前臺(tái)模塊;
4. 后臺(tái)功能權(quán)限
①配置該組織擁有的后臺(tái)功能權(quán)限;
②默認(rèn)授權(quán)給組織管理員功能權(quán)限;
③選項(xiàng)為操作者擁有的功能權(quán)限,操作者按需選擇;
5. 組織權(quán)限
①分配該組織可以管理的組織以及每個(gè)組織對應(yīng)的模塊內(nèi)容(課程包&資訊&角色&賬號等);
②默認(rèn)分配給管理員;
③可查看選項(xiàng):操作者有權(quán)限的組織以及組織下所有的內(nèi)容模塊;
④可操作選項(xiàng):操作者有權(quán)限的組織以及組織下有權(quán)限的內(nèi)容模塊;
原型如下:
6. **內(nèi)容權(quán)限配置(課程包&資訊等)
①共享給被操作組織具體的內(nèi)容,同步共享給管理員一份;
②無法共享給自己所在的組織,同組織共享通過賬號進(jìn)行共享,后續(xù)在賬號管理中會(huì)講到;
③跨組織共享是一種復(fù)制性的共享,同一個(gè)ID的內(nèi)容可以多次共享,每次共享生成一個(gè)新的內(nèi)容(產(chǎn)生新的ID);
④選項(xiàng)為操作者有權(quán)限的內(nèi)容,如果操作者其中一個(gè)內(nèi)容來源為被操作的組織,那么該內(nèi)容仍舊可以被分享,因?yàn)樵搩?nèi)容和原內(nèi)容目前已經(jīng)是兩個(gè)產(chǎn)品,如果業(yè)務(wù)實(shí)際場景需要做限制也ok;
原型如下:
⑤可以查看的內(nèi)容是【被操作組織所有被共享的內(nèi)容】和 【操作者有權(quán)限內(nèi)容】(來源ID)的 交集。同一個(gè)內(nèi)容不管詳情是否發(fā)生了更改,重復(fù)分享會(huì)生成新的ID,并對應(yīng)一條新的共享記錄。
原型如下:
四、角色管理
角色是權(quán)限的集合,作為橋梁的作用把權(quán)限賦予給后臺(tái)賬號。操作者可以看到的角色分為兩種:一種是操作者所擁有的開通了角色模塊權(quán)限的管理組織下的角色,另外一種是操作者所在組織下的權(quán)限小于等于操作者權(quán)限的角色。操作者可以通過【組織下拉列表】進(jìn)行不同組織角色的查看。
具體涉及到的字段如下:
- 角色名稱
- 組織名稱
- 狀態(tài):啟用、禁用(禁用后擁有該角色的后臺(tái)賬號所對應(yīng)的權(quán)限隨時(shí)消失)
- 功能權(quán)限配置:選項(xiàng)為角色所屬組織的最高權(quán)限和操作者所擁有的權(quán)限的交集
五、后臺(tái)賬號管理
根據(jù)實(shí)際場景的需要給后臺(tái)賬號配置數(shù)據(jù)和功能權(quán)限,操作者可以看到的賬號分為兩種:
一種是操作者所擁有的開通了賬號模塊權(quán)限的管理組織下(不包含自己所在的組織)的后臺(tái)賬號;
另外一種是操作者所擁有的自己所在組織下自己所在層級結(jié)構(gòu)下的后臺(tái)賬號(同一層級的無法看到,例如部門A的經(jīng)理無法看到自己以及部門B經(jīng)理的賬號)。
參考原型如下:
- id
- 用戶名
- 姓名
- 手機(jī)號
- 密碼
- 組織:下拉單選,選項(xiàng)為操作者有權(quán)限的組織;組織選擇之后一般不可以修改
- 所屬的組織結(jié)構(gòu):選擇之后可以重新編輯
- 創(chuàng)建時(shí)間
- 狀態(tài):(啟用、禁用、禁用狀態(tài)的賬號無法登錄系統(tǒng))
- 功能權(quán)限
- 組織權(quán)限
- ***內(nèi)容權(quán)限
1. 功能權(quán)限
①如果操作者和被操作者是不同的組織,那么選項(xiàng)為被操作者所屬組織下的所有角色;
②如果操作者和被操作者是同一個(gè)組織,那么選項(xiàng)為權(quán)限小于等于操作者權(quán)限的角色;
③支持多選;
2. 組織權(quán)限
①展示的選項(xiàng)為被操作者所在組織有權(quán)限的組織以及每個(gè)組織有權(quán)限的模塊內(nèi)容(課程包&資訊&賬號&角色等);
②可操作的選項(xiàng)為操作者有權(quán)限的組織和【被操作者所在組織有權(quán)限的組織】的交集,模塊內(nèi)容同理。
3. **內(nèi)容權(quán)限(課程包&資訊等)
①一種為跨組織后臺(tái)賬號的內(nèi)容分享:可以查看的內(nèi)容是【被操作者所屬組織所有被共享的內(nèi)容】和 【操作者有權(quán)限內(nèi)容】的 交集,其中被操作者已經(jīng)有權(quán)限的內(nèi)容(分享ID)無法被分享。
原型如下:
注:被分享的內(nèi)容如果之前已經(jīng)分享給了被操作者同組織的其他賬號aa,那么被操作者得到的內(nèi)容應(yīng)該和aa賬號下的內(nèi)容是一樣的。
所以比較規(guī)范的操作流程是:內(nèi)容在進(jìn)行跨組織分享時(shí)同步分享給被操作組織的管理員后,后續(xù)再用管理員賬號或者其他賬號在組織內(nèi)部進(jìn)行分享。
②另外一種是同組織后臺(tái)賬號的內(nèi)容分享,可以查看的內(nèi)容是 操作者有權(quán)限的內(nèi)容,其中被操作者已經(jīng)有權(quán)限的內(nèi)容無法被分享。
原型如下:
注:跨組織分享后一個(gè)產(chǎn)品相當(dāng)于被復(fù)制成內(nèi)容一樣的另外一個(gè)產(chǎn)品,后續(xù)的任何更改都不會(huì)被同步。而同組織共享之后仍舊是同一個(gè)內(nèi)容,后續(xù)任何更改都會(huì)同步。
六、前臺(tái)賬號管理
前臺(tái)用戶可以在門戶網(wǎng)站上看到自己所在組織的有權(quán)限的前臺(tái)模塊,如果有場景需求可以精細(xì)化同一個(gè)組織下的不同前端用戶分別設(shè)置權(quán)限。前端的數(shù)據(jù)隔離分為兩種:
①不同的組織發(fā)布的內(nèi)容只能本組織的前臺(tái)用戶可以看到。
②對于SaaS服務(wù)商為多個(gè)租戶提供內(nèi)容服務(wù)的業(yè)務(wù),可以對其進(jìn)行特殊化處理,使其發(fā)布的內(nèi)容讓所有的組織的前端用戶都可以看到,但是不同組織產(chǎn)生的用戶內(nèi)容只能本組織的用戶看到。
前臺(tái)用戶涉及到字段如下:
- 用戶名
- 姓名
- 手機(jī)號
- 所在組織
- 注冊時(shí)間
- 注冊方式:前臺(tái)注冊、后臺(tái)導(dǎo)入
- 最近登錄時(shí)間
- 狀態(tài):啟用、禁用(禁用狀態(tài)的賬號無法登錄系統(tǒng))
小結(jié)
常規(guī)SaaS系統(tǒng)的設(shè)計(jì)用到的概念或者思路大概是類似的,但是是否需要進(jìn)行跨組織管理,跨組織管理需要精細(xì)到什么程度。
不同組織的用戶數(shù)據(jù)、相同組織的用戶數(shù)據(jù)如何隔離,處理方式是否相同等都是要根據(jù)實(shí)際業(yè)務(wù)場景來設(shè)計(jì)的。
沒有完全標(biāo)準(zhǔn)通用的SaaS系統(tǒng),我們需要設(shè)計(jì)的并不是一個(gè)完美的SaaS,而是一個(gè)最大限度符合業(yè)務(wù)需求,又能在通用的同時(shí)兼顧后續(xù)長遠(yuǎn)規(guī)劃,盡最大可能降本增效、提升用戶體驗(yàn)的系統(tǒng)。
此部分此結(jié)束,希望本篇文章能幫助到需要的小伙伴們~
本文由 @Grace 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于 CC0 協(xié)議。
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。