2011年1月23日 星期日

[Web] SaaS

.Software as a Service    

.在SaaS的作法下,軟體不再是以往的軟體,而是以服務的方式存在。

.SaaS讓軟體(主要是商用軟體)不需要安裝在客戶端的電腦,只要連上網路就能使用。 由於不需要安裝在客戶端的電腦,所以部署、維護、更新都相當容易。因此,許多企業對於SaaS相當感興趣。

.Salesforce的CRM系統是SaaS最 成功的典範之一。

.最常見的作法
-- 前端利用網頁瀏覽器當平台,後端利用Web伺服器當平台;
-- 前端使用JavaScript語言,後端使用PHP、Java、 C#...等語言。
-- 如此的SaaS系統只需要部署到伺服器上,用戶透過瀏覽器就可以操作此系統。運算盡量在伺服器上進行,需要處理使用者互動,或者客戶端 主動聯繫伺服器的部分,則由被載入瀏覽器的JavaScript程式負責。

.如何將既有的程式SaaS化?
-- 如果既有的系統已經是Client/Server架構(Fat Client),可以選擇將Client的部分用JavaScript改寫,再寫一個程式當作JavaScript和Server之間的溝通橋樑,儘管這 麼做的工程不小,但這還是比全面改寫更快許多。許多比較舊的軟體,為了因應Web時代的需求,會考慮這麼做,以快速地為顧客提供Web方案。
-- 只 有Client/Server的軟體都可以用上述的方式局部改寫來符合SaaS,桌面程式(例如Word、Excel、PowerPoint、 Photoshop)想要SaaS化,難度相當高。必須整個用JavaScript重寫。而且JavaScript寫出來的程式,使用上的感覺還是比不上 桌面程式來得流暢與美觀。因此,進入SaaS還是有相當高的門檻。  -- 為了讓此門檻降低,甚至完全消失,有廠商利用虛擬化技術(virtualization),作出的新的SaaS平台,可以達到讓桌面軟體立刻變成 SaaS,他們的作法是,將所有的軟體都部署在企業的伺服器上,員工只要登入該企業的domain,就會自動啟用OS層級的虛擬機制,使用者選取在虛擬桌 面看到的任何軟體,該軟體就會立刻從伺服器派送過來,快取在本地端,並啟動執行。

.這樣的觀念類似「隨選視訊」(VoD,Video on Demand),可以它稱為「隨選軟體」(SoD,Software on Demand)或「隨選應用」(AoD,Application on Demand)。目前已有大型企業在內部採用此技術,實現隨處辦公(無固定座位的辦公);也有ISP業者正以此平台為基礎,準備對其顧客提供軟體租用服務 (軟體視為服務,計次計時收費)。
-- SoD的SaaS作法,技術與觀念上類似於無碟工作站(Diskless Node),和Thin Client的差異相當大。
-- 但SoD還是與無碟工作站不太一樣。無碟工作站的一切(包括OS)都是伺服器發派過來的,軟體會在客戶端執行;SoD的作法則 是只有發派應用軟體到客戶端。 

.以SoD的方式進行SaaS,最明顯的好處有:     
-- 可以使用熟悉的軟體,員工不需重新適應軟體。現有的軟體可以立刻變成服務。
-- 充分運用客戶端的運算資源,降低伺服器的負荷,符合分散式運算的精神。傳統的SaaS比較耗費伺服器的運算能力。
-- 傳統的SaaS利用JavaScript寫出來的應用程式,操作上不如原生(native)程式那麼順暢。
-- 大多數的桌面應用,往往自給自足,不需要和伺服器互動,用SoD比用傳統的SaaS更適合。
-- 應用被快取(cache)在本地端,除了可以提高啟動速度,當網路不通時,也可以照樣執行。
-- 資料可以儲存在本地端或伺服器端。 

.但是SoD依然有缺點,包括了:     
-- 客戶端必須登入特定的domain,否則就必須事先下載安裝一個特殊的「啟用程式」。
-- 目前的SoD有作業系統的限制(只限特定作業系統),但是傳統SaaS採用JavaScript,只要有瀏覽器即可執行,不會有作業系統的限制。
-- 有的軟體授權方式可能不允許將軟體安裝在伺服器上,然後發派到許多客戶端電腦上執行。

.不管使用哪一種作法的SaaS,SaaS最大的好處就是可以簡化軟體的部署與維護,可以簡化MIS部門的人力需求,這正是SaaS最吸引人的地方。加上許 多廠商(例如Google、IBM)都在推行SaaS,而且網路基礎設施也已經建設完備。未來幾年,以SaaS形式存在的軟體會越來越多。

.Reference: 1 和整理至網路上

沒有留言:

張貼留言