15319111069
一、SaaS介紹、長尾市場
SaaS (Software as a Service軟件即服務(wù))是通過互聯(lián)網(wǎng)、以服務(wù)的形式交付軟件、同時供多個租戶(每個租戶下面有一個或多個用戶)租賃使用的業(yè)務(wù)模式。
相比傳統(tǒng)應(yīng)用軟件,以下幾點因素或許正是SaaS目前備受關(guān)注的原因。
首先是獲取和部署方式發(fā)生了重大改變。SaaS模式下,企業(yè)可以通過互聯(lián)網(wǎng)輕松獲得軟件,不需要專業(yè)部署即可使用,而無須像傳統(tǒng)軟件一樣等待軟件廠商漫長的交付過程。
費用上,企業(yè)無需購買軟硬件以作為軟件系統(tǒng)的服務(wù)器。軟件的運行、維護、升級和數(shù)據(jù)的存儲都在SaaS服務(wù)提供商那里。同時企業(yè)可以根據(jù)自身情況,按需租賃軟件的部分或全部功能并按期支付租賃費用。SaaS軟件的目標市場是長尾市場(針對眾多中小企業(yè)),規(guī)模效應(yīng)也使得SaaS軟件的租賃費相對較低。
服務(wù)上,企業(yè)無需招聘相應(yīng)的IT維護人員,軟件的維護由SaaS服務(wù)提供商提供,軟件的升級就像初次獲取一樣容易,企業(yè)幾乎不用投入專門的人員和時間來應(yīng)對就可以使用新的軟件版本。
網(wǎng)絡(luò)帶寬的不斷提高,使得SaaS軟件與服務(wù)器的數(shù)據(jù)交互性增強,用戶在線使用的等待時間大大縮短。
技術(shù)實現(xiàn)上,Ajax技術(shù)更是加快了軟件響應(yīng),使得web頁面可以不用刷新就可以完成數(shù)據(jù)的存取,具有了C/S界面的部分特性;Web Service技術(shù)
然而,SaaS軟件也并不是沒有缺點,這也正是抑制SaaS迅速普及的原因。
Internet 的穩(wěn)定性和帶寬毫無質(zhì)疑是不及企業(yè)內(nèi)部的局域網(wǎng)的,對于運算量大、業(yè)務(wù)過程復(fù)雜的系統(tǒng)顯然不方便采用SaaS模式;SaaS軟件同時供數(shù)十甚至數(shù)百個租戶使用,與傳統(tǒng)定制軟件相比少了特性化的東西,企業(yè)如果選擇SaaS,也就意味著必須放棄一些自身特色;SaaS模式下數(shù)據(jù)是存儲在SaaS軟件廠商的服務(wù)器中的,將自己的業(yè)務(wù)數(shù)據(jù)放置于企業(yè)外部,恐怕心理上要有一個適應(yīng)過程。
二、外圍現(xiàn)狀介紹
美國的Salesforce.com是最成功的SaaS的服務(wù)提供商之一,其在美國成功上市也極大地刺激了SaaS市場。微軟、Oracle、SAP、IBM等國際大公司也都視SaaS為一次決不可措施的機會,紛紛采取措施切入SaaS市場,以圖能夠雄霸SaaS市場,引領(lǐng)未來。國內(nèi)金蝶等軟件廠商也紛紛介入,推出自己的SaaS產(chǎn)品,阿里巴巴更是押寶SaaS。知名廠商的介入,無疑給SaaS市場增加了信心。
三、服務(wù)交付方式
SaaS 模式軟件的交付相比傳統(tǒng)軟件的交付要容易得多。軟件的形式仍然可以采用C/S和B/S兩種結(jié)構(gòu)。應(yīng)用微軟提供的ClickOnce部署技術(shù),SaaS軟件供應(yīng)商將可以將自己C/S結(jié)構(gòu)的軟件發(fā)布到Internet上,租戶通過瀏覽器就可以很方便地完成程序安裝并開始使用(ClickOnce應(yīng)用在本刊第14期中有介紹,有興趣的可以去翻看);對于B/S結(jié)構(gòu)的軟件更容易交付給用戶使用了。
四、多租用數(shù)據(jù)體系結(jié)構(gòu)方案
企業(yè)作為租戶租用SaaS軟件,那么租戶的數(shù)據(jù)如何存儲?對租戶數(shù)據(jù)應(yīng)該采用何種隔離等級和方式?做SaaS模式的軟件在數(shù)據(jù)體系結(jié)構(gòu)上面臨一個選擇。在實際應(yīng)用中有三種方式可以選擇。
一是獨立數(shù)據(jù)庫的方式,就是說為每個租戶提供一個獨立的數(shù)據(jù)庫,這種方式的優(yōu)點是對單個租戶的數(shù)據(jù)備份和恢復(fù)容易,但會增加硬件成本。
二是共享數(shù)據(jù)庫,獨立架構(gòu)。Oracle數(shù)據(jù)庫中都有架構(gòu)(Schema)這個數(shù)據(jù)庫對象,Sql Server在2005的版本中才引入架構(gòu)作為數(shù)據(jù)庫對象(架構(gòu)對象的特性和使用不是本文的重點,我在此不作介紹)。每個租用都有一套完整的表集合,通過架構(gòu)的方式來管理。這種方式能夠充分利用服務(wù)器的性能。這種方式和前一種方式一樣,存在更新維護上的困難,如果租戶成百上千,可以想象數(shù)據(jù)庫維護起來相當困難。不過也不是沒有辦法,通過SMO定制化管理數(shù)據(jù)庫將極大地化解維護困難的問題,后面還有介紹,這里先一筆帶過。
三是共享數(shù)據(jù)庫,共享架構(gòu)。即所有租戶的數(shù)據(jù)存儲于一套表集合中,表設(shè)計中增加租戶的標識字段。這種方式在數(shù)據(jù)庫維護上要簡單許多,且可以最大化利用數(shù)據(jù)庫服務(wù)器的性能,不同租戶數(shù)據(jù)隔離的控制完全放在軟件中處理。當然不同租戶的數(shù)據(jù)不能單獨備份,而且隨著租戶數(shù)和租戶業(yè)務(wù)數(shù)據(jù)的增加,數(shù)據(jù)以乘積關(guān)系增加,單表記錄數(shù)很容易上升到百萬或千萬或更高,用戶速度上的體驗必然下降。
五、 多租用數(shù)據(jù)庫維護SMO
上面說了前兩種數(shù)據(jù)庫體系結(jié)構(gòu)均存在維護和部署上的困難,當數(shù)據(jù)庫定義修改后怎么方便地在其它數(shù)據(jù)庫或模式中執(zhí)行更新并始終保持統(tǒng)一?問題很明確,解決方法的選擇當然也就很有針對性,如果自己寫個維護程序,能夠自動將數(shù)據(jù)庫對象顯示在界面上,并提供批量的更新方法,問題也就解決了。隨后我們發(fā)現(xiàn)了SMO(SQL Server管理對象,是SQL Server 2005客戶端工具的一部分,也是SQL Server 2005功能包的一部分),她我們提供了非常有效的方法來通過編程的方式管理SQL Server。與ADO.NET相比,ADO.NET是一個通用的數(shù)據(jù)訪問方案,可以用來訪問眾多不同的數(shù)據(jù)庫,而SMO在 管理SQL Server的應(yīng)用中略勝一籌,而且只能用于SQL Server 。
————————————————
版權(quán)聲明:本文為CSDN博主「am2004」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/am2004/article/details/2064202
15319111069
E-MALL:yxzx@huachunnet.com
地址:西安市南二環(huán)西段21號華融國際商務(wù)大廈A座22樓D區(qū)