SaaS最常見的作法
前端利用網頁瀏覽器當平台,以JavaScript語言開發;後端利用Web伺服器當平台、使用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)將所有軟體都部署在企業伺服器,員工只要登入該企業的 domain,就會自動啟用OS層級的虛擬機器制,使用者只要選取執行虛擬桌面的軟體,該軟體就會立刻從伺服器派送過來,快取在本地端並啟動執行,讓案頭軟體立刻變成SaaS。
利用虛擬化技術讓軟體變成SaaS的觀念類似「隨選視訊」(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最大的好處就是簡化了軟體的部署與維護工作,降低MIS部門的人力需求,這正是SaaS最迷人的地方。
Google、IBM等許多廠商都在推行SaaS,而且網路基礎設施也已經建設完備,未來幾年,以SaaS形式存在的軟體會越來越多。