Android作業系統結合雲端運算,一直是被看好的應用。不久前,Android 2.2釋出C2DM(Android Cloud to Device Messaging Framework)框架。正如C2DM框架的命名,它能讓第三方開發者透過「雲端」將訊息傳送給手持裝置,似乎代表「Android裝置與雲端應用」的開發者時代正式開始。
雲端運算(Cloud Computing)是一個概念,如同Web 2.0一般,雲端比較像是一個行銷名詞。從技術面來說,雲端運算的概念是將資料存放於伺服器,並透過伺服器的運算能力進行計算,再將結果或資訊透過網路傳送至使用者端。這就是C2DM的概念。例如,幾個目前使用率很高的服務:Gmail、CloudFront以及其它CDN等,都是雲端運算的應用。
C2DM能幫助開發者,將伺服器端的資料傳送至Android裝置端。C2DM提供一種簡單的機制,讓伺服器能「通知」手機應用程式來收取資料。從Android應用程式的開發者角度來說,使用C2DM便能讓自已開發的應用程式,從伺服器端「得到」資訊;由伺服器(雲端)發出通知,應用程式收到通知後,再進行連線並取得資訊。
C2DM也能支援第三方的應用伺服器(Application Server)。HTTP是雲端運算的基礎之一,C2DM支援Client端(手機裝置)與伺服器(包含第三方應用伺服器),兩端的連線與傳輸就是透過HTTP。目前C2DM的要求是伺服器端必須支援HTTPS。裝置送出的請求可使用HTTP,伺服器送出的訊息採用HTTPS以及POST。
POST是HTTP的標準之一,CGI技術大量應用POST來傳送資料,簡單來說,當我們填寫網頁上的表格(例如:會員資料表),按下「送出」後,瀏覽器便將表格資料傳送給Web伺服器,傳送的方式便是透過POST標準,POST是一種資料的傳送格式。伺服器端的某個應用程式,將負責收取並處理瀏覽器傳送過來的資料,收取資料的技術就是CGI(Common Gateway Interface),這是一種介面標準。
由此來看,嚴格來說,雲端運算是過去Web技術的延伸,也就是更大規模的Web應用,並不是一項全新技術。雲端運算更像是一種市場推廣名詞。C2DM的到來,可以更方便將「雲端」與Android應用軟體結合,更是開發者以及手機開發商的新題目。
C2DM目前仍在開發階段,可以在Google Code Labs取得。C2DM對於傳送訊息的限制是1024位元組(Bytes)。手機與社群網站結合,或是將手機資料儲存於Web端(例如:通訊錄),都是「雲端運算」,因為都是HTTP與Web伺服器技術的應用,只是將過去的Browser換成手機軟體。市場熱炒雲端運算之時,開發者不仿開始研究C2DM框架,並持續關心C2DM的發展,回歸雲端運算的技術面。