今日大老闆突然問起SaaS,一時不知如何說起。看來得好好補一下了。對於老闆來講,他顯然不是關心SaaS的概念。以我看來,更重要的是如何將SaaS應用到企業的實際應用中。所以,如果你想瞭解SaaS的概念,可以在網路上搜尋,本文重點不在這個方面。
SaaS從實現上講,和以前的ASP(Application Service Provider,應用程式供應商)的概念在本質上是一樣的。這裡面不得不提到的架構就是B/S結構。即以瀏覽器為用戶端,商務邏輯全部放在伺服器上的瘦用戶端三層模式模式。
經典的三層模式不需要我來描述,相信大家都很清楚了。不過這個模式在推廣後遇到了非常大的問題。主要是客戶不能滿意在瀏覽器上的客戶體驗。比起胖用戶端來講,瀏覽器上的體驗確實讓很多客戶失望。
不過最近隨著Ajax的興起,很多人看到了可能,在瀏覽器上實現有著豐富客戶體驗的用戶端已經有相對比較完整的架構。在SaaS的概念再次提出的時候,很多人也將希望壓在這上面。
從ASP到SaaS,大家不知道有沒有注意到一些變化。當Ajax提出的時候,其實很多商務邏輯已經前移到了用戶端。這和實現一個胖用戶端的唯一差別就是:瀏覽器基本每台機器都有。
MS顯然也是看到了這點。這幾年微軟在推行智能用戶端的概念的同時,也悄悄地在它最最賺錢的軟體上動起了手腳。那就是它的Office。現在的Office幾乎可以做到每台機器都安裝著。而且Office都是可以執行VBA的。其擴充性比起瀏覽器毫不遜色,而且還能有更好的客戶體驗。事實上,Office之所以讓廣大客戶接受,也正是基於它的易用性和豐富的客戶體驗。
O/S架構,是的,這個概念幾乎已經形成!微軟藉著Office的普及性,完成了類似B/S的架構。這個和智能用戶端剛好是同一個理念。
我並不是想將所謂的O/S架構詳細介紹給大家,而是想從這個概念的引入,提醒大家SaaS的概念並不是和B/S是等價的。也就是說,SaaS的實現架構並不是只是B/S那麼一種方式。
在選擇架構模型的時候,我們要關注SaaS的重點。那就是最後一個S:Service。你的軟體必須讓用使用者依賴於你網路上提供的服務。對於軟體供應商來講,其運營模式也就是如何持續穩定地提供這個Service了。如果只是從實現的角度來看,服務就是服務,它是用來被調用的程式模組。讓你的用戶端依賴於你的服務,你的SaaS模式已經差不多了。
SaaS的實現架構中,必須保障提供幾個服務:
- 服務查詢服務。尋找Service的服務。
- 模組更新服務。保障用戶端模組的更新。微軟提供的OneClick在這方面是一個好的實現模式。
- 商務服務容器。用來提供真正的Services。
- 離線更新服務。保障分布式系統的資料安全。
如果我們能想使用者提供一個統一的運行平台,類似IE、類似Office,其實完全可以在此基礎上開發SaaS模式的應用。其實很多線上遊戲都已經採用了這種模式,特別是網遊。你難道不認為他們也是SaaS嗎?
雖然從老闆的問話開始的,但只有對實現理解深入了,才能更好地將概念應用到實踐中。