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