版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、詳細(xì)設(shè)計說明書saas統(tǒng)一信息化平臺文檔一旦發(fā)布,請務(wù)必按文檔執(zhí)行并堅持遵守。如果您有改進(jìn)的建議,請將您的建議發(fā)郵件或當(dāng)面告知所列作者。修訂歷史記錄版本日期作者修正原因1.02013-05-23蔡源初始化文檔1.12013-08-30蔡源增加【定制化、個性化】章節(jié)1.22013-09-29蔡源增加自動登錄的設(shè)計1.32013-10-15蔡源增加參數(shù)字典設(shè)計增加客戶管理設(shè)計1.42013-10-18蔡源增加應(yīng)用場景及解決方案章節(jié),用于描述特定業(yè)務(wù)流程或者功能流程的實現(xiàn)1.52013-12-04蔡源增加【團隊協(xié)作】相關(guān)設(shè)計,主要包括項目管理和任務(wù)管理1.62013-01-15蔡源增加用戶與租戶空間
2、一對多的設(shè)計,用戶可以在不同空間中切換1.72014-05-05蔡源參數(shù)字典增加filter和params屬性,用來根據(jù)業(yè)務(wù)過濾和獲得額外參數(shù)1.82014-05-16蔡源細(xì)化具體的子系統(tǒng)和具體的功能模塊1.92014-05-22蔡源細(xì)化quickview,增加動態(tài)查詢條件定義和動態(tài)表格定義1.102014-06-19蔡源增加dynamicsearch,支持動態(tài)組合查詢條件1.112014-06-26蔡源增加系統(tǒng)公告模塊1.122014-06-27蔡源更新參數(shù)字典編號規(guī)則為:模塊名+屬性名,全局唯一1.132014-08-20蔡源增加【文檔管理】模塊定義增加【項目文檔】模塊定義1.142014
3、-11-10蔡源增加【個人文檔】模塊定義1.152014-11-13蔡源快速視圖和動態(tài)查詢條件增加descr屬性,作為tip浮動顯示,因為只顯示名稱太短了,無法詳盡描述這個視圖的功能1.162014-12-03蔡源細(xì)化oa協(xié)同辦公的基礎(chǔ)功能模塊1.172015-01-06蔡源增加【業(yè)務(wù)角色】設(shè)計,用于配置數(shù)據(jù)訪問權(quán)限和字段訪問權(quán)限1.182015-02-01蔡源將概要性內(nèi)容轉(zhuǎn)移至概要設(shè)計,僅保留具體設(shè)計部分1.192015-02-05蔡源增加租戶配置信息設(shè)計啟用appstore設(shè)計,每個業(yè)務(wù)子系統(tǒng)通過appstore來進(jìn)行管理增加“系統(tǒng)版本定義與升級”1.202015-02-27蔡源客戶信息增
4、加收貨地址屬性1.212015-03-27蔡源細(xì)化mvp所需的功能模塊說明1.222015-05-11蔡源細(xì)化消息中心的事件推送和任務(wù)提醒;刪除【文檔管理】,統(tǒng)一使用網(wǎng)盤;增加通用數(shù)據(jù)權(quán)限設(shè)計1.232015-06-03蔡源增加圖片服務(wù)的說明1.242015-06-24蔡源配置管理重構(gòu),基于obj+json-text方式存儲,而不按單個屬性存儲1.252015-06-30蔡源調(diào)整tag表設(shè)計1.262015-07-02蔡源todo增加公開和場景功能,提升協(xié)作效果1.272015-10-10蔡源聯(lián)系人增加isfav屬性1.282015-10-10蔡源基礎(chǔ)平臺功能修訂,調(diào)整表結(jié)構(gòu)1.292015-
5、10-19蔡源增加“系統(tǒng)自動升級”1.302015-10-20蔡源增加對業(yè)務(wù)日志的實現(xiàn)方案設(shè)計oplog增加opcomment屬性1.312015-10-21蔡源增加portal組件的詳細(xì)設(shè)計1.322015-10-25蔡源拆分“平臺運營系統(tǒng)”為“平臺管理系統(tǒng)”和“平臺運營系統(tǒng)”,將運營類分開1.332015-11-12蔡源增加【業(yè)務(wù)關(guān)注與消息通知】的設(shè)計1.342015-12-04蔡源附件表新增recorduid1.352015-12-18蔡源增加公告的縮略圖、統(tǒng)計等1.362015-12-29蔡源增加運營中心基礎(chǔ)表設(shè)計1.372016-01-18蔡源增加通用的數(shù)據(jù)權(quán)限表1.382016-0
6、3-10蔡源增加【通用自動編號組件】的設(shè)計1.392016-03-18蔡源增加【數(shù)據(jù)關(guān)聯(lián)表】設(shè)計1.402016-04-11蔡源增加【用戶抄送】設(shè)計1.412016-04-27蔡源增加實名認(rèn)證相關(guān)字段1.422016-05-23蔡源增加workstatus字段1.432016-05-25蔡源增加用戶余額的設(shè)計,支持充值提現(xiàn)1.442016-06-15蔡源tenantmember增加微信關(guān)注相關(guān)字段目錄修訂歷史記錄2目錄41. 引言121.1 編寫目的121.2 背景121.3 參考資料121.4 術(shù)語定義122. saas設(shè)計122.1 多租戶模式122.1.1數(shù)據(jù)隔離122.1.2實現(xiàn)多租戶
7、的三種模式122.1.3數(shù)據(jù)過濾132.1.4總結(jié)132.2 定制化、個性化132.3 門戶、流程、智庫、社區(qū)132.4 metadatadb142.5 系統(tǒng)用戶角色142.5.1租戶擁有者142.5.2租戶管理員142.5.3租戶成員142.6 客戶用戶角色152.6.1系統(tǒng)管理員(內(nèi)部)152.6.2高管(內(nèi)部)152.6.3客戶經(jīng)理(內(nèi)部)152.6.4銷售主管(內(nèi)部)152.6.5銷售人員(內(nèi)部)152.6.6合作伙伴(外部)152.6.7供應(yīng)商(外部)152.6.8客戶(外部)162.7 身份驗證與授權(quán)162.7.1授權(quán)模式162.8 可擴展性162.8.1基礎(chǔ)設(shè)施可擴展性162.8
8、.2應(yīng)用架構(gòu)可擴展性162.9 數(shù)據(jù)權(quán)限172.10 參數(shù)字典172.11 日志記錄172.11.1業(yè)務(wù)日志182.12 個性化192.12.1界面?zhèn)€性化192.12.2數(shù)據(jù)個性化192.12.3功能個性化193. 數(shù)據(jù)模型203.1 用戶信息(userinfo)203.2 用戶擴展信息(userext)213.3 用戶狀態(tài)信息(userstate)213.4 用戶自動登錄信息(userautologin)223.5 用戶操作日志(useroplog)223.6 組織架構(gòu)(usergroup)233.7 用戶組成員(usergroupmember)233.8 租戶訂單信息(tenantorde
9、r)243.9 租戶信息(tenant)253.10 租戶配置信息(tenantconfig)253.11 租戶成員信息(tenantmember)263.12 租戶狀態(tài)信息(tenantstate)263.13 應(yīng)用商店(appstore)273.14 應(yīng)用訂單信息(apporder)273.15 參數(shù)字典類型(dictparamtype)283.16 參數(shù)字典(dictparam)283.17 租戶參數(shù)字典(tenantdictparam)293.18 菜單(menu)293.19 角色(role)303.20 用戶角色(userrole)313.21 用戶組角色(usergrouprol
10、e)313.22 角色功能權(quán)限(rolefuncpermission)313.23 激活碼(activationcode)313.24 業(yè)務(wù)角色(bizrole)323.25 業(yè)務(wù)角色成員(bizrolemember)323.26 業(yè)務(wù)角色數(shù)據(jù)權(quán)限(bizroledatapermission)333.27 業(yè)務(wù)角色字段權(quán)限(bizrolefieldpermission)334. 系統(tǒng)輔助數(shù)據(jù)模型334.1 快速查詢視圖(quickview)334.1.1簡單查詢條件(quickviewfilter)344.1.2高級動態(tài)查詢條件(quickviewadvfilter)344.1.3表格呈現(xiàn)(q
11、uickviewgrid)354.1.4最終效果354.2 附件(attachment)364.3 標(biāo)簽(tag)364.4 標(biāo)簽關(guān)聯(lián)數(shù)據(jù)表(tagassoc)374.5 用戶評論(usercomment)374.6 用戶收藏 (userfavourite)374.7 用戶portal小組件表(userportlet)385. 消息中心數(shù)據(jù)模型385.1 用戶消息訂閱(usermessagesub)385.2 用戶一般消息(usermessage)385.3 用戶推送消息(userpushmessage)395.4 短信發(fā)送日志(smsout)395.5 短信接收日志(smsin)405.6
12、通知公告(affiche)405.7 通知公告統(tǒng)計(affichestat)405.8 用戶反饋(feedback)415.9 用戶事件(userevent)416. 個人事務(wù)數(shù)據(jù)模型426.1 記事本(note)426.2 代辦事項(todo)426.3 個人網(wǎng)盤(sharefile)426.4 聯(lián)系人(contacts)436.5 聯(lián)系人分組(contactsgroup)436.6 聯(lián)系人分組成員(contactsgroupmember)437. 運營中心數(shù)據(jù)模型437.1 報表分類(reportcatalog)447.2 報表模版447.3 報表實例(report)447.4 報表訂閱(
13、reportsubscribe)448. framework設(shè)計448.1 分布式448.1.1分布式系統(tǒng)容錯458.2 分布式session(sna)458.2.1sticky session、non-sticky session和replicated sessions458.2.2基于 zookeeper 集群的分布式 session 方案468.2.3基于cookie的分布式sessionid468.2.4問題478.3 用戶、部門、組織、角色與權(quán)限478.4 動態(tài)屬性與用戶自定義屬性478.5 電子表單488.5.1技術(shù)方案488.6 dynamicqueryobject498.7 f
14、uncinceptor498.8 內(nèi)容過濾498.9 soa498.10 電子郵件服務(wù)508.11 緩存服務(wù)508.11.1緩存分類508.12 消息服務(wù)518.12.1短信服務(wù)518.13 任務(wù)服務(wù)518.14 模板服務(wù)518.15 附件服務(wù)518.16 文檔服務(wù)518.16.1功能點518.17 圖像服務(wù)528.18 quickview(組件)528.18.1首字母或拼音過濾528.19 自定義列呈現(xiàn)(組件)528.20 tags(組件)538.21 portal(組件)538.21.1portletmeta538.21.2portlet函數(shù)列表548.21.3portlet事件列表548
15、.21.4內(nèi)置portlet548.22 數(shù)據(jù)清理服務(wù)558.23 系統(tǒng)幫助558.23.1功能點558.24 系統(tǒng)自動升級559. 運維&實施569.1 系統(tǒng)版本定義與升級569.1.1代碼中版本號變更流程5610. 應(yīng)用場景及解決方案5610.1 用戶會話超時5610.2 用戶賬號激活5710.3 租戶開通5710.4 租戶到期5710.5 租戶續(xù)費5810.6 租戶升級5810.7 租戶注銷5810.8 用戶登錄5810.8.1非租戶5810.9 租戶成員注銷5810.10 用戶信息獲取5910.10.1租戶管理員5910.10.2租戶成員6010.11 邀請用戶6010.11.1加入邀
16、請(郵件)6010.11.2加入邀請(站內(nèi)通知)6110.12 切換工作空間6110.13 數(shù)據(jù)授權(quán)6110.14 業(yè)務(wù)關(guān)注與消息通知6110.14.1數(shù)據(jù)授權(quán)與分頁查詢6211. 平臺管理系統(tǒng)6311.1 參數(shù)字典(暫不實現(xiàn))6311.2 系統(tǒng)配置6311.3 在線用戶管理(暫不實現(xiàn))6311.3.1強制用戶下線6411.4 appstore管理(暫不實現(xiàn))6411.5 租戶管理6411.6 訂單管理6511.7 用戶管理6511.8 數(shù)據(jù)備份/恢復(fù)6511.9 數(shù)據(jù)遷移6611.10 數(shù)據(jù)清理6612. 平臺運營系統(tǒng)6612.1 客服6612.2 大數(shù)據(jù)6612.2.1租戶行為分析6612
17、.2.2用戶行為分析6713. 基礎(chǔ)支撐系統(tǒng)6713.1 用戶系統(tǒng)6713.1.1用戶注冊6713.1.2用戶登錄6813.1.3用戶檔案6813.1.4忘記密碼6813.1.5用戶登出6913.1.6自動登錄6913.1.7賬號遷移6913.1.8邀請用戶6913.1.9受邀加入7013.1.10共享app(暫未實現(xiàn))7013.1.11第三方接入7013.2 dashboard7013.3 消息中心系統(tǒng)7013.3.1消息通知7113.3.2通告中心7113.3.3新聞中心7213.3.4短信中心(暫不實現(xiàn))7213.4 租戶系統(tǒng)7213.4.1空間管理7213.4.2組織架構(gòu)7513.4.
18、3成員管理7613.4.4角色權(quán)限7813.4.5參數(shù)字典管理7813.4.6數(shù)據(jù)備份/恢復(fù)7913.4.7操作日志7913.4.8模板管理7913.4.9個性化管理7913.5 appstore系統(tǒng)7913.5.1租用app7913.5.2已購app7914. 個人事務(wù)子系統(tǒng)7914.1 我的消息7914.2 我的待辦8014.3 站內(nèi)信8014.3.1功能點8014.4 記錄本8014.4.1功能點8014.5 todo list8114.6 工作計劃8114.7 日報周報8114.7.1功能點8114.8 我的網(wǎng)盤8114.9 我的通訊錄8214.9.1功能點8215. 團隊協(xié)作子系統(tǒng)8
19、315.1 項目管理8315.2 任務(wù)管理8315.3 主題討論8315.4 文檔管理8315.5 知識庫8316. crm子系統(tǒng)8317. 企業(yè)門戶網(wǎng)站子系統(tǒng)(cms)8318. oa辦公自動化8318.1 審批管理(工作流)8319. 財務(wù)管理子系統(tǒng)8419.1 應(yīng)收款管理8419.2 應(yīng)付款管理8419.3 費用預(yù)算8419.4 報銷管理8419.5 用款管理8420. 運營中心子系統(tǒng)8420.1 綜合報表子系統(tǒng)8521. 客戶自助服務(wù)平臺(selfservice)8521.1 咨詢投訴8521.2 詢價8522. 附注8622.1 參數(shù)字典表清單8622.1.1通用8622.1.2用戶
20、表8622.1.3角色表8722.1.4租戶表8722.1.5站內(nèi)信8722.1.6todo8722.1.7日程計劃8822.1.8客戶信息8822.1.9項目8822.1.10任務(wù)8822.1.11公告891. 引言1.1 編寫目的詳細(xì)設(shè)計的主要任務(wù)是對概要設(shè)計方案做完善和細(xì)化。說明書編制的目的是說明一個軟件系統(tǒng)各個層次中的每個程序(每個模塊或子程序)和數(shù)據(jù)庫系統(tǒng)的設(shè)計考慮,為程序員編碼提供依據(jù)。本文檔在概要設(shè)計的基礎(chǔ)上,進(jìn)一步完整詳盡的描述了系統(tǒng)實現(xiàn)的技術(shù)細(xì)節(jié),及根據(jù)業(yè)務(wù)需求制定的系統(tǒng)所需要實現(xiàn)的業(yè)務(wù)功能,功能模塊的詳細(xì)定義。1.2 背景1.3 參考資料1.4 術(shù)語定義縮寫英中2. saa
21、s設(shè)計2.1 多租戶模式2.1.1 數(shù)據(jù)隔離l 將每個承租者的數(shù)據(jù)隔離到不同的數(shù)據(jù)庫。l 共享數(shù)據(jù)庫,multi-schema,將每個承租者的數(shù)據(jù)隔離到獨立的表和模式。l 共享數(shù)據(jù)庫,share-schema,在所有承租者之間共享一組相同的表和模式。2.1.2 實現(xiàn)多租戶的三種模式 無共享,完全獨立:每個租戶獨立使用一套應(yīng)用程序和一個數(shù)據(jù)庫,應(yīng)用與數(shù)據(jù)庫均不包含租戶信息,通過訪問入口路由到指定租戶的路徑上。n 優(yōu)點:u 無需修改原有應(yīng)用程序跟數(shù)據(jù)庫。u 租戶間不會相互影響,可對個別租戶做自定義。n 缺點:u 部署跟運維相對繁瑣。u 物理設(shè)施資源開銷最大。u 無法對多租戶數(shù)據(jù)進(jìn)行查詢歸并,存在數(shù)
22、據(jù)孤島 共享應(yīng)用,多數(shù)據(jù)源:使用同一套應(yīng)用程序,數(shù)據(jù)庫訪問時根據(jù)租戶信息路由到指定數(shù)據(jù)庫或schema上。n 優(yōu)點:兼顧了開發(fā)和性能。n 缺點:u 無法對多租戶數(shù)據(jù)進(jìn)行查詢歸并,存在數(shù)據(jù)孤島 共享應(yīng)用,單一數(shù)據(jù)源:使用同一套應(yīng)用程序,使用同一個數(shù)據(jù)庫,數(shù)據(jù)模型中定義了租戶信息,通過過濾條件過濾租戶數(shù)據(jù)。n 優(yōu)點:性能最優(yōu),部署簡便n 缺點:u 對系統(tǒng)架構(gòu)和開發(fā)工程師要求較高,否則可能存在數(shù)據(jù)安全性問題u 運維復(fù)雜,當(dāng)數(shù)據(jù)發(fā)生異常需要恢復(fù)時,無法簡單依賴數(shù)據(jù)庫的恢復(fù)機制,并將影響到多個租戶的數(shù)據(jù)2.1.3 數(shù)據(jù)過濾在共享同一數(shù)據(jù)源的模式下,需要對每個數(shù)據(jù)查詢增加租戶信息的過濾條件;在單app環(huán)境
23、下,一個用戶只對應(yīng)一個租戶,通過登錄用戶信息即可獲得租戶信息,比較簡單。但是在平臺模式下,一個用戶可以租用多個app,用戶與租戶是一對多的情況。解決方案:用戶在登錄一個app時,app通過appkey去平臺獲取該用戶的信息,并在本地session中保存用戶登錄信息,平臺可以根據(jù)appkey與用戶id獲得唯一的tenant,即app本地session中只需保存用戶對象與tenant對象一對一的關(guān)系。只有用戶在登錄平臺系統(tǒng)時才有一對多tenant的情況。2.1.4 總結(jié)實際使用中可能綜合運用3種模式,即如果客戶較為重要,愿意為安全性、性能等額外付費,可部署為獨立模式。常規(guī)情況下則使用共享數(shù)據(jù)庫模式
24、,但根據(jù)性能或部署需要,可能根據(jù)用戶數(shù)切分為多個domain,每個domain中的用戶共享一個數(shù)據(jù)庫,這樣如果某個domain失效,不會影響其他用戶的使用。但基本原則是所有數(shù)據(jù)表均按saas模式設(shè)計,以便實現(xiàn)不同模式下的切換。2.2 定制化、個性化定制化指的是同一saas服務(wù)可以為不同用戶在相同基礎(chǔ)功能的基礎(chǔ)上提供一定程度的功能定制或強化,在不改動或盡量小改動服務(wù)的基礎(chǔ)上實現(xiàn)不同用戶的差異化功能性需求。如:數(shù)據(jù)模型的定制化,業(yè)務(wù)流程的定制化。個性化指的是為客戶提供的,滿足用戶企業(yè)或個人個性需要的非功能性需求,如國際化、主題、收藏夾、菜單結(jié)構(gòu)調(diào)整、logo或程序名調(diào)整、dashboard等。2.
25、3 門戶、流程、智庫、社區(qū)注:所有方面,不僅是為了解決企業(yè)內(nèi)部問題,更可以推向上下游,如企業(yè)門戶網(wǎng)站就是對外的,通過bpm可集成上下游的業(yè)務(wù)系統(tǒng),實現(xiàn)供應(yīng)鏈的業(yè)務(wù)流轉(zhuǎn)并最終實現(xiàn)e2e。智庫可以形成企業(yè)最佳實踐和解決方案,可以在行業(yè)中共享和推廣。社區(qū)更可以通過人與人之間的關(guān)系,加強企業(yè)間溝通。注2:4個類別,都是強調(diào)信息的匯聚、共享、傳播,通過saas模式可以實現(xiàn)這些方面的最大化,這是傳統(tǒng)單一企業(yè)內(nèi)部信息化無法實現(xiàn)的。通過門戶來集成分散的功能,信息,提高用戶對關(guān)鍵信息的關(guān)注度,提高用戶對信息的獲取和處理效率。通過流程來組裝分散的業(yè)務(wù),實現(xiàn)上下游業(yè)務(wù)的e2e一體化,提高業(yè)務(wù)協(xié)作能力,提高業(yè)務(wù)間信息
26、共享,并最終提高企業(yè)整體業(yè)務(wù)的處理效率。(注:流程可能在某些環(huán)節(jié)的處理效率會比以前降低,但其目的是優(yōu)化整體效率)通過智庫來積累知識,沉淀企業(yè)智慧。知識的有效積累可推動企業(yè)業(yè)務(wù)流程重組和優(yōu)化,加強企業(yè)文化建設(shè),提高員工凝聚力。社區(qū)是強調(diào)企業(yè)人與人之間的溝通,有別于上面三項都是以企業(yè)運營為目的的。- 這個待定2.4 metadatadb元數(shù)據(jù)數(shù)據(jù)庫,定義了多租戶相關(guān)信息,用于租戶信息管理,作為基礎(chǔ)的公共服務(wù)獨立于業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫。2.5 系統(tǒng)用戶角色2.5.1 租戶擁有者租用app的用戶,作為app的擁有者,其擁有app的所有功能模塊使用權(quán)限;同時作為擁有者,可以對app進(jìn)行續(xù)費、升級、停用等操作。
27、此外作為app的第一個默認(rèn)用戶,也是默認(rèn)的租戶管理員(租戶開通時默認(rèn)創(chuàng)建),具有租戶“系統(tǒng)管理”模塊的功能權(quán)限,可以在租用范圍內(nèi)創(chuàng)建角色,邀請其他用戶加入,分配權(quán)限。2.5.2 租戶管理員租戶擁有者出于管理角度考慮(如租戶擁有者是老板,但是管理員是it管理員),可以將租戶中的任意用戶提升為系統(tǒng)管理員,由其作為租戶管理員協(xié)助或負(fù)責(zé)租戶內(nèi)相應(yīng)的管理工作,如用戶管理,角色管理,功能權(quán)限分配,邀請用戶加入等。租戶管理員在權(quán)限上與租戶擁有者一致,但租戶擁有者作為最高級別,可隨時將租戶管理員降級成普通用戶;而反之則不行。2.5.3 租戶成員租戶開通后,默認(rèn)只有擁有者一個成員,此時擁有者可通過邀請方式請求其
28、他用戶加入到該租戶中共同使用租用的app。如:老板租用了crm系統(tǒng),邀請公司內(nèi)部員工加入到該系統(tǒng)中,員工即可使用crm系統(tǒng)的功能,并在租戶范圍內(nèi)共享數(shù)據(jù)。用戶在加入一個租戶后,需要租戶管理員為其開通相應(yīng)功能模塊的使用權(quán)限(通過設(shè)置角色),否則只能共享【個人事務(wù)】中公開部分的數(shù)據(jù)。2.6 客戶用戶角色2.6.1 系統(tǒng)管理員(內(nèi)部)管理系統(tǒng)用戶、角色與權(quán)限,保證系統(tǒng)正常運行。2.6.2 高管(內(nèi)部)審查客戶貢獻(xiàn)數(shù)據(jù)、客戶構(gòu)成數(shù)據(jù)、客戶服務(wù)構(gòu)成數(shù)據(jù)和客戶流失數(shù)據(jù)。2.6.3 客戶經(jīng)理(內(nèi)部)維護(hù)負(fù)責(zé)的客戶信息。接受客戶服務(wù)請求,在系統(tǒng)中創(chuàng)建客戶服務(wù)。處理分派給自己的客戶服務(wù)。對處理的服務(wù)進(jìn)行反饋。創(chuàng)
29、建銷售機會。對特定銷售機會制定客戶開發(fā)計劃。執(zhí)行客戶開發(fā)計劃。對負(fù)責(zé)的流失客戶采取“暫緩流失”或“確定流失”的措施2.6.4 銷售主管(內(nèi)部)對客戶服務(wù)進(jìn)行分配。創(chuàng)建銷售機會。對銷售機會進(jìn)行指派。對特定銷售機會制定客戶開發(fā)計劃。分析客戶貢獻(xiàn)、客戶構(gòu)成、客戶服務(wù)構(gòu)成和客戶流失數(shù)據(jù),定期提交客戶管理報告。2.6.5 銷售人員(內(nèi)部)接受銷售任務(wù),負(fù)責(zé)與客戶接觸,實施銷售任務(wù),跟蹤客戶消費。2.6.6 合作伙伴(外部)部分?jǐn)?shù)據(jù)交互,并提供合作伙伴關(guān)心的數(shù)據(jù),可由合作伙伴自行訪問(selfservice)。2.6.7 供應(yīng)商(外部)部分?jǐn)?shù)據(jù)交互,并提供供應(yīng)商關(guān)心的數(shù)據(jù),可由供應(yīng)商自行訪問(selfse
30、rvice)。2.6.8 客戶(外部)提供客戶關(guān)心的數(shù)據(jù),可由客戶自行訪問查詢(selfservice)2.7 身份驗證與授權(quán)身份驗證和授權(quán)是現(xiàn)實應(yīng)用程序的安全性概念中主要的兩個:l 身份驗證允許一個應(yīng)用程序在連接時驗證一個人(或一個應(yīng)用程序、智能卡等)是否與它聲明的一樣。l 授權(quán)定義一個用戶在一個系統(tǒng)上的權(quán)利與權(quán)限。用戶身份驗證通過之后,授權(quán)會決定該用戶在系統(tǒng)上有權(quán)做什么。因此,授權(quán)應(yīng)該發(fā)生在身份驗證之后。身份驗證和授權(quán)在 saas 應(yīng)用程序中很復(fù)雜。在一個安全性 saas 解決方案中,底層的身份驗證和授權(quán)基礎(chǔ)設(shè)施有兩種設(shè)計方法:集中式或聯(lián)邦式。2.7.1 授權(quán)模式黑盒模式:即簡化的權(quán)限模型
31、,不開放授權(quán)功能給用戶,角色和權(quán)限由系統(tǒng)內(nèi)置,用戶在加入app時自動綁定角色,對于一個app來說通常有:創(chuàng)建人,管理員和普通成員3個角色。白盒模式:即允許用戶授權(quán),app創(chuàng)建人可在自行創(chuàng)建用戶組和角色,并對每個功能模塊進(jìn)行細(xì)分授權(quán)。該模式可實現(xiàn)更精細(xì)的權(quán)限控制,類似傳統(tǒng)的企業(yè)應(yīng)用。2.8 可擴展性2.8.1 基礎(chǔ)設(shè)施可擴展性l 計算資源快速供給l 應(yīng)用快速部署l 資源按需分配l 自動化管理2.8.2 應(yīng)用架構(gòu)可擴展性l 應(yīng)用服務(wù)器水平擴展l 數(shù)據(jù)庫水平擴展n mysql sharding()l 異步消息隊列l(wèi) 緩存機制l 負(fù)載均衡l 流程可定制l 功能可配置2.9 數(shù)據(jù)權(quán)限對于前臺數(shù)據(jù)查詢,通
32、過定義數(shù)據(jù)級權(quán)限實現(xiàn)動態(tài)表格內(nèi)容輸出,不同角色的用戶將看到不同列的表格及經(jīng)過過濾的數(shù)據(jù)內(nèi)容。 按角色定義哪些數(shù)據(jù)項可以呈現(xiàn),并能調(diào)整列呈現(xiàn)的順序; 按角色定義過濾條件,實現(xiàn)基礎(chǔ)數(shù)據(jù)的過濾;2.10 參數(shù)字典參數(shù)字典分“參數(shù)類型表”和“參數(shù)字典表”。參數(shù)類型表定義不同類型的業(yè)務(wù)參數(shù),如用戶類型、公告類型等。每個類型又可分為:1 不可修改,2 可增加,3 可修改,4 可刪除4種。如公告類型,可被定義為“可增加”類型的,即公告類型可以增加,但不能被修改或刪除。參數(shù)類型表另外用狀態(tài)字段定義:1 正常,2 屏蔽,9 系統(tǒng)。對于某些業(yè)務(wù)需要,不需要用到的參數(shù),可設(shè)置成屏蔽,即在業(yè)務(wù)系統(tǒng)中將無法使用該參數(shù);
33、對于狀態(tài)為系統(tǒng)的,則不能進(jìn)行此項操作。參數(shù)字典表為明細(xì)表,對參數(shù)類型定義業(yè)務(wù)參數(shù),如公告類型可分為:1 公告,2 新聞,3 通知,4 緊急通知等,由于公告類型為可增加類型,故可在此基礎(chǔ)上進(jìn)行增加,但一旦使用過的公告,則不能進(jìn)行修改或刪除了。對某個業(yè)務(wù)參數(shù)細(xì)項,又有3種狀態(tài):1 正常,2 屏蔽,9 系統(tǒng)。由于業(yè)務(wù)需要可暫時屏蔽某些業(yè)務(wù)參數(shù);但對于狀態(tài)為系統(tǒng)的則不能進(jìn)行此項操作2.11 日志記錄日志按照類型分:操作日志、業(yè)務(wù)日志、系統(tǒng)日志。不同類型的日志有其相應(yīng)的處理邏輯及具體實現(xiàn),以下分別說明。操作日志:記錄操作員登錄后執(zhí)行的相關(guān)操作。(目前只對更新數(shù)據(jù)庫的操作記日志,查詢不記錄)業(yè)務(wù)日志:記錄
34、業(yè)務(wù)處理信息,如轉(zhuǎn)賬時金額的變動數(shù)額等。系統(tǒng)日志:記錄系統(tǒng)日常運行時的行為日志,目前采用通用的日志框架,以手工編碼的形式記錄操作日志同具體的業(yè)務(wù)應(yīng)該是相互分離的,不在同一個事務(wù)中,及無論業(yè)務(wù)操作是否成功,都將記錄用戶操作。而業(yè)務(wù)日志記錄業(yè)務(wù)的詳細(xì)信息,應(yīng)作為業(yè)務(wù)的一部分,與業(yè)務(wù)存在同一個事務(wù)中。因此操作日志一般在控制層編寫,而業(yè)務(wù)日志一般在業(yè)務(wù)層編寫。注:可通過注解+攔截器模式提供非入侵的操作日志記錄;而業(yè)務(wù)日志一般只能編碼實現(xiàn)。操作日志模型屬性名稱類型備注busitype業(yè)務(wù)類型int0 - 未指定1 - 保存2 - 更新3 - 刪除4 - 查看5 - 查詢6 - 審核.modulecode
35、模塊編號string對所有功能模塊,都有唯一對應(yīng)的編號,如“系統(tǒng)配置”對應(yīng)“sys-001”opid操作員idlongopname操作員名稱string冗余數(shù)據(jù),這樣就不需要關(guān)聯(lián)操作員表了opip執(zhí)行操作的ipstringopdatetime操作時間date數(shù)據(jù)庫默認(rèn)content操作內(nèi)容string具體操作內(nèi)容描述status操作狀態(tài)int0 - 失敗1 - 成功2.11.1 業(yè)務(wù)日志業(yè)務(wù)日志需要記錄詳細(xì)的業(yè)務(wù)數(shù)據(jù)變化,無法使用annotation在方法級進(jìn)行攔截,需要硬編碼實現(xiàn)??紤]到一定的通用性,我們采用基于事件(event)的日志模式,即在日志模塊中通過訂閱操作事件(opevent)獲
36、得業(yè)務(wù)模塊發(fā)布的業(yè)務(wù)事件,再通過模板消息將業(yè)務(wù)參數(shù)格式化成操作詳情。需要記錄業(yè)務(wù)操作日志的,在業(yè)務(wù)執(zhí)行完后通過eventbus發(fā)布繼承于baseopevent的事件對象,操作日志模塊統(tǒng)一訂閱該事件并統(tǒng)一轉(zhuǎn)換存儲。發(fā)布事件代碼示例:說明:業(yè)務(wù)操作的名稱將通過國際化轉(zhuǎn)換成對應(yīng)用戶語言,國際化key命名規(guī)則:模塊編號.func.功能編號;日志詳情基于動態(tài)參數(shù)格式化,因此需要將必要的屬性作為事件的動態(tài)參數(shù)傳入,國際化key命名規(guī)則:模塊編號.func.功能編號.log。由于某些日志詳情需要生成html的超鏈,依賴contextpath,因此約定contextpath將作為默認(rèn)0位傳參傳入,業(yè)務(wù)參數(shù)在參
37、數(shù)數(shù)組中的位置從1開始,如下面事件中commentid的位置為1。2.12 個性化2.12.1 界面?zhèn)€性化用戶可在一定程度上對界面做定制化,如使用個性化主題,個性化布局,可自行調(diào)整菜單結(jié)構(gòu)等。2.12.1.1 系統(tǒng)菜單可配置性菜單對不同的租戶來說,可能有不完全一樣的名字。例如客戶管理,在醫(yī)院使用時,就得改成病人管理,客戶服務(wù)人員就得改成醫(yī)生,客戶服務(wù)記錄就是就診記錄等。另外菜單的層次結(jié)構(gòu)和分布,不同的租戶可能也會有不同的要求。在設(shè)計上需要考慮以下幾個問題: 一個租戶一套菜單; 一個菜單可以關(guān)聯(lián)一個子功能; 組織成樹型結(jié)構(gòu),構(gòu)成上下級菜單結(jié)構(gòu); 同級菜單之間還存在顯示順序的問題2.12.1.2
38、頁面元素可配置性各功能界面上的內(nèi)容也是供用戶和系統(tǒng)交互的界面元素。不同的租戶可能有各種不同的需求。由于租戶可以自定義擴展數(shù)據(jù),這些數(shù)據(jù)是需要在頁面上展示的,因此無論對頁面元素的個數(shù)、位置、順序,還是元素的含義,租戶都會有一些個性化的需求。同時對于在設(shè)計時設(shè)定的界面元素,一般情況下是不允許刪除的,但有時候還是允許租戶將一些無關(guān)緊要的字段隱藏。2.12.2 數(shù)據(jù)個性化在實際應(yīng)用中,不同租戶之間需求的差異導(dǎo)致系統(tǒng)需要針對不同租戶保存許多擴展性數(shù)據(jù)。在傳統(tǒng)應(yīng)用中,可以通過定制實例,增加客戶的擴展數(shù)據(jù),來滿足其個性化要求。在多租戶saas應(yīng)用中,所有租戶都使用同一個數(shù)據(jù)架構(gòu),常見的解決辦法就是實現(xiàn)擴展數(shù)
39、據(jù)的可配置。名稱值對的方式將擴展數(shù)據(jù)的保存和原數(shù)據(jù)表分離,另外用一個統(tǒng)一的擴展數(shù)據(jù)表來保存。擴展數(shù)據(jù)表將數(shù)據(jù)表的橫向擴展列轉(zhuǎn)換為縱向的數(shù)據(jù)集,將每一條原始數(shù)據(jù)記錄的一個擴展字段,都保存成一條擴展數(shù)據(jù)行。將數(shù)據(jù)表中的數(shù)據(jù)記錄與配置元數(shù)據(jù)表中的配置記錄關(guān)聯(lián),構(gòu)成擴展數(shù)據(jù)記錄。可以提供無限數(shù)量的自定義擴展字段。但是其增加數(shù)據(jù)操作的復(fù)雜性,查詢時也要多次訪問數(shù)據(jù)庫才能得到完整的業(yè)務(wù)數(shù)據(jù)。這些都會影響數(shù)據(jù)訪問性能。此外可結(jié)合使用nosql,通過schemafree模式提供高擴展性和個性化。2.12.2.1 參數(shù)字典不同的用戶在對參數(shù)字典的使用上也會存在差異,如客戶等級,有的喜歡用1、2、3表示,有的喜歡
40、用a、b、c表示,這就需要參數(shù)字典也需要能夠支持多租戶,并可定制。2.12.3 功能個性化對于saas應(yīng)用,面對為數(shù)眾多的租戶,大部分租戶可能只會使用到應(yīng)用中的部分功能。因此系統(tǒng)需要支持租戶有選擇的使用自己需要的功能,滿足功能可配置要求。2.12.3.1 原子功能劃分要實現(xiàn)功能可配置,首先需要將整個系統(tǒng)的功能進(jìn)行分解。整個應(yīng)用需要分解成最基本、相對獨立、互不重疊的原子功能。所有原子功能疊加起來,就是整個應(yīng)用所提供的全部功能。進(jìn)行原子功能劃分,首先就是功能分解,即將整個系統(tǒng)的功能分解成最基本的相對獨立的原子功能,應(yīng)遵循以下幾個原則: 每個功能都是有價值的;n 每個功能都是不可再細(xì)分;n 功能間互
41、不重疊;n 功能之間不循環(huán)依賴;n 整個系統(tǒng)功能是完整的。將功能分解完畢后,由于不是所有的原子功能都是可以單獨使用的。有些功能是需要依賴其他功能才能使用,功能之間是存在一定的依賴關(guān)系。因此功能分解完畢后,還需要對功能進(jìn)行定義,描述相關(guān)依賴關(guān)系。2.12.3.2 功能包設(shè)計當(dāng)系統(tǒng)功能被劃分為許多原子功能后,直接配置原子功能給每個租戶是比較復(fù)雜的。需要根據(jù)用戶類型和使用的場景,對原子功能進(jìn)行打包,然后為每個用戶配置其合適的功能包。功能包的設(shè)計要遵循高內(nèi)聚、低耦合的原則,盡量將相關(guān)的和相互依賴的原子功能設(shè)計在一個功能包中。同時應(yīng)該減少功能包和功能包之間的依賴,使得各個功能包盡可能獨立的進(jìn)行操作使用。
42、通過功能包的設(shè)計,雖然可以將系統(tǒng)功能組合成幾個相對比較獨立的部分,但是這些功能包仍然不可以完全獨立使用,也就不能夠單獨銷售。為了讓用戶購買了系統(tǒng)以后可以充分使用其同能,需要按照不同的商業(yè)意圖構(gòu)造合適用戶的銷售包。例如,按照客戶使用功能的多少,可以把系統(tǒng)劃分為最小版、標(biāo)準(zhǔn)版、完整版。2.12.3.3 功能使用校驗在經(jīng)過對系統(tǒng)進(jìn)行原子功能劃分和功能包的設(shè)計后,系統(tǒng)的不同租戶可以按照不同版本使用了,系統(tǒng)需對原子功能進(jìn)行校驗,確定租戶在系統(tǒng)中可以使用和操作哪些原子功能。3. 數(shù)據(jù)模型3.1 用戶信息(userinfo)用戶信息表中只保存比較固定的數(shù)據(jù),便于快速查詢和緩存,其他經(jīng)常要變的數(shù)據(jù)放到附屬表中
43、屬性名含義數(shù)據(jù)類型備注id序號,主鍵integer由數(shù)據(jù)庫自動生成loginid登錄idstring登錄名password密碼string密碼usertype用戶類型(1001)int1:內(nèi)部用戶2:外部用戶(客戶、供應(yīng)商、合作伙伴等)username用戶名稱string用戶姓名nickname昵稱stringgender性別(0002)int0:未知1:男2:女email電子郵件stringmobile手機號stringmobilevalid手機號是否已驗證booleanrealnamevalid是否實名認(rèn)證boolean即usernamejob職位varchar(50)status狀態(tài)(1
44、002)int0:未激活1:正常2:注銷(可恢復(fù))3:刪除(僅超級管理員恢復(fù))4:鎖定workstatus工作狀態(tài)int由用戶手工切換0:離線1:在線2:休息balance帳戶余額bigdecimal(10,2)totalbalance累計充值金額bigdecimal(10,2)locale語言varchar(50)支持用戶自定義timezone時區(qū)int支持用戶自定義theme主題varchar(50)支持用戶自定義headimgurl頭像varchar(200)頭像圖片路徑createdatetime創(chuàng)建時間datetimeupdatedatetime更新時間datetime3.2 用戶擴
45、展信息(userext)與用戶表一對一,相同的生命周期屬性名含義數(shù)據(jù)類型備注id序號,主鍵integer等于用戶idlevel級別intsource來源stringbirthday生日datezipcode郵編stringaddress地址stringdistrict區(qū)stringcity城市stringstate省份stringcountry國籍stringlng經(jīng)度decimal(10,6)lat緯度decimal(10,6)securityquestion安全問題stringanswer安全答案stringidtype證件類型int1:身份證2:護(hù)照idno證件號varchar(50)i
46、dphoto電子證件(正面)varchar(100)idphotoback電子證件(反面)varchar(100)3.3 用戶狀態(tài)信息(userstate)與用戶表一對一,相同的生命周期屬性名含義數(shù)據(jù)類型備注id序號,主鍵integer即用戶idcurrenttenantid當(dāng)前租戶idint當(dāng)一個用戶綁定了多個租戶時,用戶需要選擇當(dāng)前使用哪個租戶totallogintimes總登錄次數(shù)intloginretrytimes登錄重試次數(shù)int默認(rèn)值0連續(xù)登錄失敗超過指定次數(shù),則帳號禁用指定時間lastlogindatetime上次登錄時間datelastloginip上次登錄ipstring3.
47、4 用戶自動登錄信息(userautologin)記錄用戶自動登錄的信息屬性名含義數(shù)據(jù)類型備注iduuidintegeruuidautologinip自動登錄ipstring可檢測是否為授權(quán)iploginid登錄idstringencryptedpassword加密的密碼string可檢測密碼是否一致createdatetime創(chuàng)建時間timestamp時間戳expiredtime過期時間long為0或負(fù)數(shù)代表永不過期。使用cookie時用cookie的過期機制即可3.5 用戶操作日志(useroplog)記錄用戶操作業(yè)務(wù)模塊的操作日志,包括創(chuàng)建、修改、刪除等。通過模塊編號可以進(jìn)行過濾。后臺可
48、以根據(jù)需要拆分多張表(如通過modulecode拆表),而代碼中保持一致。屬性名含義數(shù)據(jù)類型備注id序號,主鍵integer由數(shù)據(jù)庫自動生成tenantid租戶idint個人文檔填0modulecode模塊編號varchar(50)funccode操作項varchar(10)createupdatelockunlockdeletedownloadsendrecordid數(shù)據(jù)idint關(guān)聯(lián)業(yè)務(wù)數(shù)據(jù)的idparams業(yè)務(wù)數(shù)據(jù)參數(shù)varchar(2000)必要時進(jìn)行數(shù)據(jù)處理,采用json格式進(jìn)行保存opby操作人intopusername操作用戶的名稱varchar(50)冗余opdatetime操
49、作時間datetimeopcontent操作詳情varchar(2000)opcomment操作注釋varchar(2000)用戶填寫的對于該次操作的注釋,作為操作內(nèi)容的補充。3.6 用戶余額信息(userbalance)屬性名含義數(shù)據(jù)類型備注id序號,主鍵longuuid,直接作為訂單號funccode操作編號varchar(20)charge:充值settle:提現(xiàn)income:收入amount金額decimal(12,2)status狀態(tài)int0:尚未成功1:操作成功createby操作人intcreatedatetime操作時間datetimepaychannel付款通道varchar
50、(50)offline:線下balance:余額wechatpay:微信alipay:支付寶paydatetime付款時間datetimetradeno交易號varchar(50)第三方支付返回activatedatetime激活時間datetimeremark備注varchar(2000)說明:對于收入來說,目前使用工單邏輯,有個30天的質(zhì)保期,即新增時狀態(tài)是0,由后臺定時任務(wù)判斷createdatetime是否超過30天,超過的則認(rèn)為收入成功。3.7 組織架構(gòu)(usergroup)通過組的方式將相關(guān)用戶關(guān)聯(lián)起來,一個組的用戶相互知曉。組可以是系統(tǒng)創(chuàng)建的,也可以由用戶自行創(chuàng)建。屬性名含義數(shù)據(jù)類型備注id序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 老年智能手機課程設(shè)計
- 美食調(diào)料培訓(xùn)課程設(shè)計
- 高中微課課程設(shè)計
- 秋天 課程設(shè)計說明
- 鐵路運輸?shù)乩碚n程設(shè)計
- 陶藝非遺文化課程設(shè)計
- 自動控制原理pid課程設(shè)計
- 遺傳基本定律的課程設(shè)計
- 線上教學(xué)寵物課程設(shè)計
- 酶工程課程設(shè)計
- 《國有控股上市公司高管薪酬的管控研究》
- 餐飲業(yè)環(huán)境保護(hù)管理方案
- 人教版【初中數(shù)學(xué)】知識點總結(jié)-全面+九年級上冊數(shù)學(xué)全冊教案
- 食品安全分享
- 礦山機械設(shè)備安全管理制度
- 計算機等級考試二級WPS Office高級應(yīng)用與設(shè)計試題及答案指導(dǎo)(2025年)
- 造價框架協(xié)議合同范例
- 糖尿病肢端壞疽
- 心衰患者的個案護(hù)理
- 醫(yī)護(hù)人員禮儀培訓(xùn)
- 無人機飛行安全協(xié)議書
評論
0/150
提交評論