版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
傳統(tǒng)軟件向SaaS軟件轉(zhuǎn)型方案的研究針對中小企業(yè)資金缺乏、IT人才較少等問題,本文對傳統(tǒng)軟件向SaaS軟件轉(zhuǎn)型關(guān)鍵技術(shù)進(jìn)行研究,提出了SaaS軟件關(guān)鍵技術(shù)的解決方案以及七層架構(gòu)模型。隨著互聯(lián)網(wǎng)技術(shù)的高速發(fā)展和應(yīng)用軟件的日漸成熟,軟件即服務(wù)SaaS(Software-as-a-Service)模式已經(jīng)成為一種新型的軟件運(yùn)營模式。在國外,SaaS正在滲透到軟件應(yīng)用的各個(gè)方面,甚至開始成為主流。全球SaaS模式的創(chuàng)始者和領(lǐng)導(dǎo)者Salesforce就是以SaaS模式的CRM取得巨大成功的。而在國內(nèi)還是以傳統(tǒng)按需求定制軟件的方式為主,SaaS還處于起步階段。在傳統(tǒng)軟件的基礎(chǔ)上向SaaS軟件轉(zhuǎn)型已經(jīng)成為當(dāng)前勢不可擋的潮流。SaaS作為一種新的軟件服務(wù)模式,技術(shù)架構(gòu)與傳統(tǒng)軟件相比有很大差別,在技術(shù)上還有很多新的挑戰(zhàn)。因此本文對傳統(tǒng)軟件向SaaS軟件轉(zhuǎn)型的關(guān)鍵技術(shù)進(jìn)行研究并提出一些可行方案。1SaaS模式及相關(guān)概念1.1SaaS模式概述SaaS模式是一種通過互聯(lián)網(wǎng)提供軟件服務(wù)的模式,與傳統(tǒng)軟件相比,SaaS軟件不再是用戶向軟件開發(fā)商定制軟件或進(jìn)行二次開發(fā),而是軟件提供商將應(yīng)用軟件部署在自己的服務(wù)器上并通過互聯(lián)網(wǎng)提供在線軟件服務(wù)。軟件提供商負(fù)責(zé)搭建一切網(wǎng)絡(luò)設(shè)備、軟硬件運(yùn)作平臺(tái)等基礎(chǔ)設(shè)施,并進(jìn)行后期維護(hù)。企業(yè)用戶根據(jù)實(shí)際需要通過Internet向軟件提供商訂購所需要的應(yīng)用軟件服務(wù),按照訂購服務(wù)的多少和時(shí)間長短給提供商支付費(fèi)用。SaaS模式下通過租用服務(wù)的方式,用戶不需再定制軟件、購買硬件、建設(shè)機(jī)房、招聘IT維護(hù)人員就可以按需使用軟件,也不需要用戶關(guān)心軟件后期的維護(hù),只要連上網(wǎng)就可以享受軟件商提供的軟件服務(wù)。用戶不需要一次性支付很大一筆軟件定制費(fèi),只需支付很少一點(diǎn)租用費(fèi)用就可以使用軟件,風(fēng)險(xiǎn)非常低,發(fā)現(xiàn)軟件不滿足要求或不適合本公司管理模式可以停止續(xù)租。這種基于SaaS模式的軟件服務(wù)方式大大減輕了對于資金缺乏、IT人才匱乏的中小企業(yè)的壓力。同時(shí),對軟件商也不用在推廣和銷售軟件產(chǎn)品時(shí)投入巨大營銷成本和后期的維護(hù)成本,不需維護(hù)多個(gè)用戶的多套軟件產(chǎn)品出現(xiàn)的奇怪問題,減輕了軟件維護(hù)人員的負(fù)擔(dān)。SaaS模式的4個(gè)基本要素是:互聯(lián)網(wǎng)平臺(tái)、網(wǎng)絡(luò)存儲(chǔ)、按需付費(fèi)、多租戶。1.2多租戶概念多租戶是指多個(gè)企業(yè)用戶(在SaaS模式下習(xí)慣用租戶)共同使用部署在軟件供應(yīng)商服務(wù)器上的一個(gè)應(yīng)用實(shí)例,供應(yīng)商提供一套軟硬件資源,網(wǎng)絡(luò)設(shè)備進(jìn)行運(yùn)營管理和資源維護(hù),通過對租戶的規(guī)模效應(yīng)來大大降低了軟件運(yùn)營的成本。多租戶(Multi-tenant)是SaaS最重要的核心概念和關(guān)鍵技術(shù)之一。1.3成熟度模型根據(jù)SaaS應(yīng)用是否具有可配置性、高性能、可伸縮性等特點(diǎn),把SaaS成熟度模型分為四級。第一級:定制開發(fā),是最初級的SaaS應(yīng)用成熟度。每個(gè)租戶對應(yīng)一個(gè)單獨(dú)開發(fā)的軟件實(shí)例。與傳統(tǒng)模式幾乎沒有差別,最大不同就在于商業(yè)模式,即軟硬件以及相應(yīng)維護(hù)均由SaaS供應(yīng)商負(fù)責(zé)。第二級:可配置,是在第一級的基礎(chǔ)上改進(jìn)的。每個(gè)租戶仍然對應(yīng)一個(gè)單獨(dú)的軟件實(shí)例,但是供應(yīng)商只提供了一套代碼,通過不同的配置來靈活地滿足各個(gè)租戶。第三級:高性能的多租戶架構(gòu),提出了多租戶的概念,多個(gè)租戶共享同一個(gè)運(yùn)行實(shí)例。這種多租戶單實(shí)例的架構(gòu)更接近于真正意義上的SaaS應(yīng)用架構(gòu)。降低了硬件及維護(hù)成本,發(fā)揮了SaaS應(yīng)用的規(guī)模效應(yīng)。第四級:可伸縮性的多租戶架構(gòu),添加了中間調(diào)度層將多個(gè)租戶分配到多個(gè)運(yùn)行實(shí)例上,通過多個(gè)運(yùn)行實(shí)例來分擔(dān)大規(guī)模租戶訪問。這一級成熟度硬件和租戶數(shù)量可以無限制地增加,因此是最為理想的SaaS架構(gòu)。2SaaS軟件的關(guān)鍵技術(shù)2.1多租戶模式下的數(shù)據(jù)存儲(chǔ)SaaS軟件與傳統(tǒng)軟件相比,最大不同就是多租戶模式,多個(gè)租戶共享同一個(gè)軟件實(shí)例,租戶的數(shù)據(jù)既有隔離又有共享。根據(jù)多租戶模式的特點(diǎn),在數(shù)據(jù)存儲(chǔ)上有3種被選的解決方案。方案1:獨(dú)立數(shù)據(jù)庫。這種數(shù)據(jù)存儲(chǔ)方案將每個(gè)租戶的數(shù)據(jù)信息單獨(dú)存儲(chǔ)在獨(dú)立的數(shù)據(jù)庫中,是實(shí)現(xiàn)SaaS數(shù)據(jù)隔離最便捷的方式,而且對一個(gè)租戶數(shù)據(jù)模型的更改不會(huì)影響其他租戶的數(shù)據(jù),安全性好。但是這種方案大大增加了數(shù)據(jù)庫的安裝費(fèi)用,有多少個(gè)租戶就需要搭建多少個(gè)數(shù)據(jù)庫。這種數(shù)據(jù)存儲(chǔ)方案適用于像銀行、醫(yī)院等安全性要求較高的企業(yè),但明顯不適合資金缺乏的中小企業(yè)的使用。方案2:共享數(shù)據(jù)庫。獨(dú)立架構(gòu),每個(gè)租戶共享同一個(gè)數(shù)據(jù)庫,但是對于每個(gè)租戶都有一個(gè)獨(dú)立的數(shù)據(jù)庫架構(gòu)與之對應(yīng),這意味著各個(gè)租戶都有一套不同的數(shù)據(jù)表結(jié)構(gòu)。當(dāng)創(chuàng)建一個(gè)新租戶時(shí),系統(tǒng)會(huì)相應(yīng)地創(chuàng)建一套默認(rèn)的表結(jié)構(gòu),同時(shí)與一個(gè)獨(dú)立的數(shù)據(jù)庫架構(gòu)建立關(guān)聯(lián)關(guān)系??稍谝粋€(gè)數(shù)據(jù)庫中存儲(chǔ)多個(gè)租戶的數(shù)據(jù),與獨(dú)立數(shù)據(jù)庫相比,雖然數(shù)據(jù)庫的搭建費(fèi)用降低了,還有一定的數(shù)據(jù)隔離,但是存在故障時(shí)恢復(fù)數(shù)據(jù)困難和數(shù)據(jù)統(tǒng)計(jì)難度。方案3:共享數(shù)據(jù)庫。共享架構(gòu),即所有的租戶共享一個(gè)數(shù)據(jù)庫,共用同一套數(shù)據(jù)表結(jié)構(gòu)。一個(gè)數(shù)據(jù)表存儲(chǔ)了所有租戶的數(shù)據(jù)信息,通過一個(gè)TenantID字段來區(qū)分各個(gè)租戶的數(shù)據(jù)。這種方案是共享程度最高,隔離級別最低的數(shù)據(jù)存儲(chǔ)方式。這種方案又是硬件維護(hù)和購買成本最低的,每臺(tái)數(shù)據(jù)庫服務(wù)器支持的租戶最多。這種方式非常適用于大規(guī)模的中小企業(yè)的租戶。因此下面將詳細(xì)研究這種方案下的關(guān)鍵技術(shù)。2.2共享數(shù)據(jù)庫共享架構(gòu)的多租戶模式(1)多租戶技術(shù)多租戶技術(shù)是SaaS服務(wù)模式區(qū)別于傳統(tǒng)模式最本質(zhì)的區(qū)別,達(dá)到SaaS模式的成熟度模型的必要條件是解決數(shù)據(jù)的隔離性,實(shí)現(xiàn)多租戶模式。在SaaS模式下建立多租戶,必須在業(yè)務(wù)表增加一個(gè)TenantID字段用來區(qū)別每個(gè)不同的租戶,保證每個(gè)租戶數(shù)據(jù)的安全。如表1所示。點(diǎn)擊圖片查看大圖表1多租戶業(yè)務(wù)表結(jié)構(gòu)通過TenantID字段來獲得對應(yīng)租戶的業(yè)務(wù)數(shù)據(jù)。當(dāng)系統(tǒng)用到租戶的業(yè)務(wù)數(shù)據(jù)時(shí),需要在每條SQL語句中增加‘TenantID=?’條件進(jìn)行業(yè)務(wù)數(shù)據(jù)操作。(2)數(shù)據(jù)擴(kuò)展技術(shù)為了滿足不同租戶的不同需求,SaaS軟件必須能夠保證對數(shù)據(jù)可擴(kuò)展。多租戶模式滿足大規(guī)模租戶對數(shù)據(jù)的個(gè)性化需要,最常見的解決方案就是實(shí)現(xiàn)擴(kuò)展數(shù)據(jù)的可配置。實(shí)現(xiàn)數(shù)據(jù)的可配置有以下3種常見方案。方案1:定制字段,就是根據(jù)租戶的需要在各租戶共有的數(shù)據(jù)表上添加相應(yīng)的定制字段來保存擴(kuò)展數(shù)據(jù)。這種方案數(shù)據(jù)擴(kuò)展非常簡單但是其擴(kuò)展性非常有限,當(dāng)租戶量達(dá)到一定數(shù)量,表中添加的字段就會(huì)非常多,而且每個(gè)租戶添加的字段對另外租戶是沒有任何意義的,嚴(yán)重破壞了表的結(jié)構(gòu),有些擴(kuò)展字段可能為空,浪費(fèi)了表空間。方案2:預(yù)分配字段,該方法在表格中提供一定數(shù)量的預(yù)設(shè)字段,當(dāng)租戶要擴(kuò)展數(shù)據(jù)時(shí),從表中選取適當(dāng)?shù)念A(yù)設(shè)字段進(jìn)行擴(kuò)展,但是不同租戶選取同一個(gè)預(yù)設(shè)字段的含義可能也不一樣。如表2中TenantID字段區(qū)分每個(gè)租戶,除了一些固定的字段外,還提供了一些預(yù)分配字段,Ext1、Ext2、Ext3就是預(yù)分配的字段,預(yù)分配字段的使用由租戶自己預(yù)定,一般初始為字符串類型,其真實(shí)類型可以采用元數(shù)據(jù)表來進(jìn)行跟蹤。點(diǎn)擊圖片查看大圖表2預(yù)分配字段方案表結(jié)構(gòu)這種方案雖然能滿足可配置、可擴(kuò)展的需求,但是預(yù)留過多浪費(fèi)空間,預(yù)設(shè)過少,又不能滿足租戶的需求。方案3:名稱值對,本方案采用一個(gè)單獨(dú)的表來存儲(chǔ)擴(kuò)展數(shù)據(jù)。擴(kuò)展表將數(shù)據(jù)表的橫向擴(kuò)展列轉(zhuǎn)換成縱向的擴(kuò)展數(shù)據(jù)集,為每一條原數(shù)據(jù)記錄設(shè)一個(gè)擴(kuò)展字段,保存為擴(kuò)展表中的一條記錄。將數(shù)據(jù)表中的數(shù)據(jù)記錄與元數(shù)據(jù)表中的配置記錄相關(guān)聯(lián),構(gòu)成擴(kuò)展數(shù)據(jù)記錄。如圖1所示。點(diǎn)擊圖片查看大圖圖1名稱值對擴(kuò)展表結(jié)構(gòu)雖然這種方案很好地達(dá)到了多租戶數(shù)據(jù)擴(kuò)展的靈活性要求,但增加了查詢、更新記錄等數(shù)據(jù)庫操作的復(fù)雜度,每次操作都涉及到多個(gè)表間的關(guān)聯(lián),因此該方案也有待優(yōu)化。方案4:XML共享模型的數(shù)據(jù)擴(kuò)展,這種方案在數(shù)據(jù)表中采用一種XML數(shù)據(jù)類型字段來存儲(chǔ)租戶間的數(shù)據(jù)。當(dāng)今主流的關(guān)系數(shù)據(jù)系統(tǒng)都支持XML數(shù)據(jù)的存儲(chǔ)和管理,并提供了很多函數(shù)來直接對XML文檔節(jié)點(diǎn)進(jìn)行管理。下面以O(shè)racle數(shù)據(jù)庫系統(tǒng)為例。表結(jié)構(gòu):TableName(TenantID,Col1,Col2,,XMLDataField),其中.huishelirenTenantID、Col1、Col2字段是所有租戶共用的字段;XMLDataField字段存儲(chǔ)租戶特有的異構(gòu)數(shù)據(jù),其格式完全遵循XML的格式。設(shè)計(jì)XMLDataField字段的格式如下:value1value2value3……XML文檔中每個(gè)子節(jié)點(diǎn)代表租戶的一個(gè)擴(kuò)展列,包括列名、列的數(shù)據(jù)類型、列所對應(yīng)的值等信息。每增加一個(gè)擴(kuò)展列就在相應(yīng)的XML文檔中添加一個(gè)子節(jié)點(diǎn),滿足租戶對數(shù)據(jù)擴(kuò)展的個(gè)性化需要。使用XML字段作為數(shù)據(jù)擴(kuò)展方案,對擴(kuò)展數(shù)據(jù)的操作簡單,不需頻繁地多表連接,可以靈活地滿足多租戶模式下的異構(gòu)數(shù)據(jù)的定制,提高了性能。該方案的使用需要在系統(tǒng)的架構(gòu)模式中添加一層對XML數(shù)據(jù)進(jìn)行解析再呈現(xiàn)給客戶以及對客戶數(shù)據(jù)封裝成XML數(shù)據(jù)再保存到數(shù)據(jù)庫中。2.3多租戶模式下的功能可配置SaaS軟件所強(qiáng)調(diào)的是“按需使用,按需付費(fèi)”。在SaaS模式下,租戶根據(jù)自己不同的需求來使用同一軟件,則需達(dá)到可配置性要求。實(shí)現(xiàn)功能的可配置,可采用如圖2所示的四級表結(jié)構(gòu)。點(diǎn)擊圖片查看大圖圖2四級表結(jié)構(gòu)每個(gè)租戶對應(yīng)一個(gè)預(yù)設(shè)的功能模式,預(yù)設(shè)了租戶的基本功能。功能模式由多個(gè)原子功能構(gòu)成。租戶表存儲(chǔ)租戶的相關(guān)信息,TenantID:租戶的唯一標(biāo)識(shí);UserName:租戶的登錄賬號;Password:租戶的登錄密碼;PatternNo:租戶使用系統(tǒng)包括的功能模式。功能表存儲(chǔ)了系統(tǒng)所有的原子功能相關(guān)信息,MENU_No:原子功能唯一標(biāo)識(shí);MENU_NAME:原子功能的名稱。模式表存儲(chǔ)了功能模式信息。PatternNo:系統(tǒng)中包括的所有模式標(biāo)識(shí)。MENU_No:功能模式包括的原子功能。模式表可以作為租戶選擇功能的向?qū)?。租戶模式功能表存?chǔ)了租戶所擁有的功能的相關(guān)信息。租戶模式功能表定義了該租戶所有的功能信息,該表可以作為租戶所擁有的所有功能的查詢。3SaaS模式下的體系架構(gòu)設(shè)計(jì)軟件系統(tǒng)架構(gòu)決定了系統(tǒng)的靈魂,好的體系架構(gòu)可以保證系統(tǒng)的穩(wěn)定性、健壯性、可擴(kuò)展性、兼容性和可用性,而傳統(tǒng)軟件通常需要采用分層的設(shè)計(jì)思想,一般大致分為5層,包括客戶層、表現(xiàn)層、控制層、業(yè)務(wù)邏輯層、數(shù)據(jù)庫層。這種傳統(tǒng)軟件的體系架構(gòu)分層不能很好地滿足SaaS軟件的可擴(kuò)展性和可配置性,難以滿足SaaS模式下多租戶的個(gè)性化需要。因此在討論了SaaS軟件關(guān)鍵技術(shù)之后,本文提出SaaS模式下的體系架構(gòu)。在傳統(tǒng)軟件體系架構(gòu)的基礎(chǔ)上增加配置管理層和數(shù)據(jù)模式選擇層。根據(jù)多租戶的不同需要配置管理層可以對系統(tǒng)的功能進(jìn)行配置管理,選擇滿足自身業(yè)務(wù)需要的功能。數(shù)據(jù)模式選擇層是軟件供應(yīng)商為了考慮各種租戶對系統(tǒng)的不同需求而對數(shù)據(jù)存儲(chǔ)模式進(jìn)行選擇。如果數(shù)據(jù)擴(kuò)展方案采用的是XML數(shù)據(jù)字段,則需要在此基礎(chǔ)上添加一層XML數(shù)據(jù)處理層,完成對XML數(shù)據(jù)的解析、封裝處理。這樣的體系架構(gòu)可以極大地滿足大規(guī)模的各種行業(yè)的租戶,具有極大的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字后端工程師招聘面試題與參考回答(某大型國企)2025年
- 手機(jī)維修崗位招聘筆試題及解答(某世界500強(qiáng)集團(tuán))2025年
- 陡坡段穿越溶洞樁基豎向承載特性離心試驗(yàn)
- 邊坡植草綠化防護(hù)施工技術(shù)方案
- 設(shè)備安裝基礎(chǔ)知識(shí)
- 航空公司資金管理與安全制度
- 大型賽事應(yīng)急醫(yī)療藥品保障方案
- 家庭教育空間粉刷施工方案
- 美容機(jī)構(gòu)課程設(shè)計(jì)
- 2024鋼材采購合同(標(biāo)準(zhǔn)版)
- 戶外運(yùn)動(dòng)常識(shí)分享ppt課件
- TPX6111B數(shù)顯臥式銑鏜床使用介紹資料
- 二氧化硅的去除
- 福耀玻璃:汽車玻璃生產(chǎn)工藝(共13頁)
- 單元 5-入侵報(bào)警系統(tǒng)工程的施工安裝
- 初中美術(shù)八年級上冊《靜物畫有聲》
- 大學(xué)生健康人格與心理健康PPT課件
- 物業(yè)服務(wù)有限公司物業(yè)承接查驗(yàn)工作手冊
- 小型水電站改造設(shè)計(jì)方案
- 師生申訴調(diào)解機(jī)制
- 趣味數(shù)學(xué)—數(shù)陣圖與幻方
評論
0/150
提交評論