Android 助力云計算--云計算和 Android 軟件堆棧 |
發(fā)布時間: 2012/8/3 17:00:57 |
開源的 Android 操作系統(tǒng)已經(jīng)席卷全球,它允許您在任何位置運行復(fù)雜的云計算應(yīng)用程序。它設(shè)計用于在電池供電設(shè)備(如 T-Mobile G1 智能電話)上高效工作,Android 本質(zhì)上就是 Linux®,Android 編程模型有多個層,允許創(chuàng)建為云計算量身定做的安全應(yīng)用程序。使用 Android 達(dá)到新的高度并體驗前所未有的移動計算吧。 在一個充斥著蹩腳比喻的行業(yè),突然有人跳出來并抓住富有創(chuàng)造力的業(yè)務(wù)和 IT 人員的想象力,這一點也不奇怪。云計算就是這樣一種比喻,而且它已經(jīng)(請允許我這樣說)席卷了全球。但云計算到底是指什么呢? 當(dāng)然,云是由許多水分子組成的,幾乎有幾億個。云沒有中央控制,基本上可以隨風(fēng)吹向各處。從這個角度來說,Internet 中無數(shù)個具有各種用途的客戶機和服務(wù)器以及驅(qū)動其發(fā)展的控制實體就像是云。將這一概念與手機公司帶給我們的無線數(shù)據(jù)革命結(jié)合后,我們似乎就處在一種無形的 “云” 計算力量中了。 自電子計算機誕生以來,就一直有人對計算機的 4 個主要功能部分進(jìn)行明確的劃分:
前三個部分將 “計算” 功能植于計算機中。第 4 部分通常存儲有價值的數(shù)據(jù)資產(chǎn),這一部分將隨著云計算的到來而發(fā)生翻天覆地的變化。有價值的數(shù)據(jù)駐留在非易失性存儲器中,以免因為斷電而丟失 — 不管這種斷電是有意還是無意。非易失性存儲設(shè)備一般為硬盤,但也可以是安全數(shù)字(SD)卡之類的固態(tài)設(shè)備,甚至可以是磁帶設(shè)備(不過現(xiàn)在已經(jīng)過時了)。但是這些設(shè)備都有它們的局限性。 隨著時間的流逝,技術(shù)也在不斷進(jìn)步,出現(xiàn)了計算機網(wǎng)絡(luò),在計算機網(wǎng)絡(luò)上,企業(yè)中有價值的數(shù)據(jù)資產(chǎn)都集中在一臺由多個終端共享的計算機中,而且定期對這些數(shù)據(jù)進(jìn)行備份是一項基本的 IT 職能。這種模型(稱為大型機模型)提供了許多優(yōu)點 — 其中之一就是它減輕了每個終端位置的工作負(fù)載。僅具有一個微型終端(鍵盤、鼠標(biāo)、顯示器和 PC)的小型辦公室可以訪問 GB 級的企業(yè)數(shù)據(jù),而無需提供大型機的處理能力 — 只要它們通過電纜連接在一起。 下一個巨大的范式轉(zhuǎn)變來自于我們所熟知的 Internet,在其中,龐大的計算機系統(tǒng)(本地網(wǎng)絡(luò))可以為位于全世界任何可以使用衛(wèi)星天線的位置的大量微型終端提供服務(wù)。這種配置的無線遠(yuǎn)程特點即被稱為云。 隨后出現(xiàn)了個人數(shù)字助理(PDA)、移動電話和智能手機,計算機的微型化已經(jīng)發(fā)展到我們熟知的并非常喜愛的手持形式。一夜之間,智能終端已經(jīng)成為無數(shù)高生產(chǎn)力人員的工具,它們以驚人的速度生成和消費著信息。 在 20 世紀(jì) 90 年代中期和末期,電子郵件和萬維網(wǎng)(World Wide Web)是主導(dǎo)云的最流行應(yīng)用程序。大多數(shù)人都使用 Web 瀏覽器與云進(jìn)行交互并認(rèn)識到 Internet 是一種比較簡單的應(yīng)用。隨著 Yahoo! 和 Google 在商業(yè)方面的成功,TB 級服務(wù)器和網(wǎng)絡(luò)連接取代本地硬盤成為首選的非易失性存儲設(shè)備。就像許多具有超前思維的預(yù)見者所預(yù)言的那樣,云已經(jīng)成為了一種像水、電話和電那樣不可缺少的現(xiàn)代實用工具。通過將移動電話數(shù)字網(wǎng)絡(luò)作為主要的 Internet 服務(wù)提供商(Internet Service Provider,ISP),云已經(jīng)發(fā)展為使用幾百萬個微型手持設(shè)備作為顯示服務(wù)器數(shù)據(jù)的主要工具。 就像云到處移動和隨風(fēng)變化那樣,這些微型手持設(shè)備的操作模式也是如此 — 終端變得越來越小,功能越來越強,可移植性增強了許多,服務(wù)器的功能也越加強大,通過軟件虛擬化并根據(jù)使用收費,能更好地滿足用戶的數(shù)據(jù)需求。 公司不再需要維護(hù)大型而昂貴的服務(wù)器 “集群”,現(xiàn)在有另一種成本更低的方法:通過 Google、Amazon 和 IBM® 之類的供應(yīng)商實現(xiàn)服務(wù)外包。通過虛擬化,以前在定制環(huán)境中運行的應(yīng)用程序現(xiàn)在可以被復(fù)制或 “映像化”,從而在供應(yīng)商服務(wù)器的云中運行。通過恰當(dāng)?shù)貙@些服務(wù)計費,公司就不需要在服務(wù)空閑期間支付高額費用。 在硬件技術(shù)不斷進(jìn)步的同時,軟件技術(shù)也在不斷發(fā)展,并且我們看到出現(xiàn)了很多新的應(yīng)用程序。例如,基于位置的服務(wù)可確定接近手機訊號接收塔的企業(yè)、內(nèi)置全球定位系統(tǒng)(GPS)可以確定您的位置。出現(xiàn)了下載和測試有用程序和數(shù)據(jù)文件的新市場,比如用于購買和下載音樂的 Android Market 和 Amazon MP3 Market。毫無疑問,這些獨特的新的云計算應(yīng)用程序?qū)⑦M(jìn)一步發(fā)展 — 例如,公司可以分類和選擇區(qū)域聯(lián)系人信息,然后在區(qū)域銷售人員休息時自動將當(dāng)天的促銷電話列表發(fā)送到他們的基于 Android 的手機中。 云計算將可移植設(shè)備與強大的服務(wù)器互為補充,它需要一個能夠讓服務(wù)器架構(gòu)師和程序員最大程度利用小型客戶機機器的操作系統(tǒng)。Android 就是這樣一種操作系統(tǒng)。 首先,Android 是一個用于移動設(shè)備的軟件堆棧。這意味著優(yōu)先級最高的事是保持電池電量和有效地管理有限的內(nèi)存資源。Android 系統(tǒng)堆棧有 5 個不同的層:
每個 Android 應(yīng)用程序可以被進(jìn)一步劃分為不同的功能單元:
活動是 Android 應(yīng)用程序的一個組件,它擴展 Android 維護(hù)每個從主頁中運行的應(yīng)用程序的歷史堆棧,您可以單擊 Back 按鈕回滾這些活動的歷史。 目的與活動一樣,是應(yīng)用程序代碼中的一個特殊類,定義應(yīng)用程序要做的事情。目的添加了一個間接層來支持復(fù)雜組件的重用和替換。例如,某個應(yīng)用程序可能提供了一個標(biāo)簽為 Clients 的按鈕,單擊該按鈕時,會顯示一個聯(lián)系人列表,上面都是您的客戶。然后就要使用間接層了:您不需要對這些聯(lián)系人使用默認(rèn)查看器;相反,可以使用一種不同的查看器。 對某些應(yīng)用程序而言,這可能是一個非常強大的應(yīng)用程序集成功能。對于特殊的顯示,使用地形圖或許要比使用默認(rèn)地圖的效果更好。 諸如 服務(wù)是在較低級別運行的一個應(yīng)用程序,沒有顯示,也沒有 UI。它通常是一個會在幕后運行很長時間的應(yīng)用程序。一個很好的例子就是播放歌曲列表的媒體播放器程序。盡管媒體播放應(yīng)用程序會顯示一個 UI 來允許用戶定義他們的播放列表,但是程序?qū)嶋H上是讓服務(wù)來控制給定播放列表中的歌曲播放。 Android 的安全模型只允許程序有自己的數(shù)據(jù)。如果程序員想在幾個不同程序之間共享數(shù)據(jù),他們可以為此定義內(nèi)容提供者。
永遠(yuǎn)不要低估開放源代碼的強大威力,就像不能低估自由的、有創(chuàng)造性的人們的能力一樣。Android 平臺不受專用 API 和經(jīng)常影響軟件工程進(jìn)度的公司利益的束縛,它擁有一個非;钴S的大型開發(fā)人員社區(qū),將許多人的才能結(jié)合起來確實實現(xiàn)了一加一大于二的效果。想拓展您的編程職業(yè)生涯嗎?那就學(xué)習(xí) Android 平臺編程吧,而且某一天,您將擁有包含幾百萬名移動電話用戶的潛在市場 — 其中一些人可能需要使用您的程序。 Android 的核心是 ARM Linux。單憑這一點就可以對此平臺的迅速發(fā)展抱有極大信心。Linux 是一?快速且安全的操作系統(tǒng),有成千上萬名的程序員對它都很熟悉。許多基于 Linux 的系統(tǒng)被連接到云中并服務(wù)請求,它們可以正常運行好多年 — 這充分證明了 linux 的可靠性。 開發(fā)環(huán)境:Eclipse、Windows、Linux 考慮 Android 開發(fā)環(huán)境時,程序員們有多種選擇。他們可以使用 Microsoft® Windows® XP 或 Windows Vista®、Macintosh OS X(V10.4.8 或更高版本,僅 x86)、Desktop Linux(首選 Ubuntu)。這些常用的操作系統(tǒng)都有可下載的軟件開發(fā)工具包(SDK)。 您可以使用 Eclipse 或 Sun Microsystems 的 NetBeans 之類的 GUI IDE,也可以使用命令行方法和標(biāo)準(zhǔn)編輯器,您可以任意選擇。 ndroid 社區(qū)鼓勵相互交流,創(chuàng)建 Android 的公司也是如此,這些公司有 Google、HTC、T-Mobile 和開放手機聯(lián)盟項目(Open Handset Alliance Project)的其他成員。開放 的真正含義就是開放人們(程序員、用戶、銷售人員等)之間的交流、開放協(xié)議和開放編程 API。 借助各種軟件許可,組織也可以在 Android 上放置專用程序和數(shù)據(jù)。這不僅可以讓組織不會脫離平臺,而且也不會限制消費者的選擇。這是一種雙贏的組合。 任何對開發(fā) Android 感興趣的人所要做的第一件事就是下載并安裝 Android SDK。然后開始準(zhǔn)備編程。每個人的編程方式都不盡相同。一些人(包括我在內(nèi))喜歡在學(xué)習(xí)完所有內(nèi)容后再開始編碼。其他一些人則喜歡立即開始并練習(xí)完整 Android 文檔給出的教程示例。但不管您喜歡什么樣的方式,最終必須編寫一些代碼。在開始之前,請看一下 Android 針對經(jīng)典的 Hello World 程序給出的編碼。 云中有大量的資源可用于 Android 開發(fā),包括幾個 wiki 和 Android 社區(qū)論壇,以及多個 Android 編程 blog。推出 Android 的主要公司 Google 實際上是一個通信公司,因此提供了幾個有用的論壇(稱為 Google Groups),供擁有不同技能集和才能的開發(fā)人員進(jìn)行交流。 IBM 正致力于在 Research Triangle Park, N.C. 和東京創(chuàng)建兩個大型云計算中心。要了解為您的定制云計算應(yīng)用程序提供動力的服務(wù),只需要訪問中央 Web 站點并探究 IBM 所做的相應(yīng)工作。 您可以編寫應(yīng)用程序來利用云,云中的備份和恢復(fù)設(shè)施都是自動化的,經(jīng)驗豐富的工程師可以使您的構(gòu)想變?yōu)楝F(xiàn)實。將 Android 手機想像成 IBM 集體式計算功能的一項擴展。當(dāng)坐在咖啡店里細(xì)細(xì)酌飲時,您希望在手機上看到什么呢?現(xiàn)金流量圖?還是呈上漲趨勢的證券數(shù)據(jù)和圖形?可能是來自 NASA 的最新圖片,您昨天晚上曾在一個速度非?斓牟⑿刑幚矸⻊(wù)器上使用定制過濾程序進(jìn)行過處理?可能是直接來自國家地震信息中心(National Earthquake Information Center)的最新地震數(shù)據(jù),或者僅僅是昨晚誰贏了 NBA 冠軍杯。數(shù)據(jù) “是現(xiàn)成的”,處理能力也是:您只需要實現(xiàn)它。 時間會告訴我們未來將會創(chuàng)造出怎樣的創(chuàng)新性云計算應(yīng)用程序,那時每個人都將站在巨人們的肩膀上。 本文出自:億恩科技【1tcdy.com】 服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |