羅耀軍+胡玲+任碩果
【摘 要】本文從OpenStack Swift服務搭建過程、命令運用、應用模塊開發(fā)三方面對Android云存儲客戶端應用開發(fā)能力培養(yǎng)進行教學設計,以促使學生在了解和掌握云存儲服務OpenStack Swift的搭建和使用的前提下,能夠按移動客戶的需求,開發(fā)移動客戶端應用項目。
【關鍵詞】云存儲 客戶端開發(fā) 能力培養(yǎng) 教學設計
【中圖分類號】G 【文獻標識碼】A
【文章編號】0450-9889(2017)04C-0189-03
早在2006年3月,亞馬遜首先提出了彈性計算云服務,2006年8月9日,谷歌首席執(zhí)行官埃里克·施密特在搜索引擎大會首次提出“云計算”的概念。OpenStack是一個由NASA(美國國家航空航天局)和Rackspace合作研發(fā)并發(fā)起的,以Apache許可證授權的自由軟件和開放源代碼項目。OpenStack支持幾乎所有類型的云環(huán)境,項目目標是提供實施簡單、可大規(guī)模擴展、豐富、標準統(tǒng)一的云計算管理平臺。OpenStack通過各種互補的服務提供了基礎設施即服務(IaaS)的解決方案,每個服務提供API以進行集成。OpenStack 包含Nova和Swift兩個主要模塊,前者是NASA開發(fā)的虛擬服務器部署和業(yè)務計算模塊;后者是 Rackspace開發(fā)的分布式云存儲模塊,兩者可以一起用,也可以分開單獨用。在OpenStack 中,Swift主要用于存儲虛擬機鏡像,用于Glance的后端存儲。在實際運用中,Swift 的典型運用是網(wǎng)盤系統(tǒng),代表是“Dropbox”,存儲類型大多為圖片、郵件、視頻、存儲備份等靜態(tài)資源。OpenStack除有 Rackspace 和 NASA 的大力支持外,還有包括 Dell、Citrix、Cisco、Canonical等重量級公司的貢獻和支持,發(fā)展速度非??欤腥〈硪粋€業(yè)界領先開源云平臺 Eucalyptus 的態(tài)勢。基于OpenStack Swift服務,Android 云存儲客戶端應用開發(fā)要具備的能力是:在了解和掌握云存儲服務 OpenStack Swift 的搭建和使用的前提下,按移動客戶的需求,開發(fā)移動客戶端應用項目。
一、開展OpenStack Swift服務搭建過程教學,提高學生操作配置能力
以搭建單節(jié)點的Swift服務主要供網(wǎng)盤開發(fā)使用為可視化的演示對象,安裝操作系統(tǒng)最小化Centos6.5_x64桌面操作系統(tǒng),配置主機名等,將提供的壓縮包導入到操作系統(tǒng)內(nèi)。
(一)演示單節(jié)點的Swift服務搭建過程
教師一邊演示,學生一邊搭建操作,這是最好的效果。教學完成以后,學生再獨立復習鞏固地操作一遍。
(二)提高搭建過程中的配置能力
教師在演示單節(jié)點的Swift服務搭建過程中,對一些配置會進行說明,但還不夠。如果能通過抓屏軟件把服務搭建過程中的配置說明制作成“可操控的視屏方式”的演示文件,在運行中運用“暫?!薄袄^續(xù)”按鍵,制作討論式的學習配置說明,這樣學生可以更好地復習鞏固Swift服務搭建過程中的配置說明,提高學生服務搭建過程中的配置能力。該視頻文件若能有手機版,效果會更好,學生不僅能在教室的電腦上跟隨學習,還能通過手機版隨時隨地地復習。
二、開展OpenStack Swift服務命令使用教學,提高學生命令運用能力
我們知道,API(Application Programming Interface,應用程序編程接口)是一些預先定義的函數(shù),目的是提供應用程序與開發(fā)人員基于某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼,或理解內(nèi)部工作機制的細節(jié)。Swift通過Proxy Server向外提供基于HTTP的REST服務接口,對賬戶、容器和對象進行CRUD等操作。如何掌握OpenStack Swift服務命令的運用?通過命令的格式、功能、說明、示例的反復運用,能螺旋式的提高學生運用命令的能力。例如Swift upload命令。(1)格式:swift upload [command-options] container file_or_directory [file_or_directory][...];(2)功能:根據(jù)參數(shù)將制定的文件或者目錄上傳到容器內(nèi);(3)參數(shù)說明;[command-options] 選項,Container 容器名稱,或者是容器內(nèi)的目錄,file_or_directory 本地文件系統(tǒng)內(nèi)的目錄或者文件,[file_or_directory] 本地文件系統(tǒng)內(nèi)的目錄或者文件,可同時上傳多個目錄或文件;(4)示例(略)。通過多示例的參數(shù)描述的運用,例學生撐據(jù)命令格式的靈活運用。
三、開展Openstack Swift SDK應用模塊教學,提高學生“項目”開發(fā)能力
Android云存儲客戶端應用開發(fā)采用項目模塊化進行教學,模塊是“項目式”教學的最小單元,Android云存儲客戶端應用項目中常用的模塊有登錄注冊模塊、文件瀏覽模塊、文件操作模塊等,下面以登錄注冊模塊中的登錄為例進行說明。
(一)功能需求
已知已注冊可登錄的賬號用戶名為gw001,密碼是00000。根據(jù)原型圖設計實現(xiàn)登錄窗口View,如圖1所示。
登錄窗口的控制層,如圖2所示。
控制流程的說明:在SDK中,我們知道Keystone服務負責用戶的認證和授權,這里調(diào)用Keystone的認證,傳遞的參數(shù)為用戶名和密碼。(1)沒有聯(lián)網(wǎng),服務不能訪問,提示用戶聯(lián)網(wǎng);(2)賬戶和密碼都正確,驗證通過,自動登錄,展示網(wǎng)盤主窗口;(3)賬戶不正確,驗證不通過,提示用戶重新輸入賬戶和密碼;(4)密碼不正確,驗證不通過,提示用戶重新輸入賬戶和密碼;(5)連續(xù)輸入3次不正確,提示用戶找回密碼。通過郵件的方式找回。
(二)界面代碼實現(xiàn)
1.導入項目。運行 Android Studio,選擇 File\Open..,點擊彈出選擇 project64 目錄下面的項目—swiftstorage‖,如圖3 所示。
2.界面代碼實現(xiàn)。登錄布局包含5個組件,從上到下依次為:圖標(ImageView)、用戶輸入框(EditText)、密碼輸入框(EditText)、登錄按鈕(Button),注冊按鈕(TextView),及最下面一個進度條(ProgressBar)。幾個組件的說明如表1所示,原始代碼略。此布局的路徑 app\src\main\res\layout\login.xml。
(三)功能執(zhí)行測試
測試的場景(TestCase)包括如下,可以編寫單元測試,或者自己手工測試,場景如表2所示。
經(jīng)過測試,合法用戶能夠正常登錄,非法用戶和輸入被阻止。至此,完成了登錄功能的開發(fā)。
四、結語
本文為促進學生Android云存儲客戶端應用開發(fā)能力培養(yǎng),從Openstack Swift服務搭建的配置能力、服務命令的運用能力、應用模塊的開發(fā)能力進行了教學設計,系統(tǒng)地闡明了Android云存儲客戶端應用開發(fā)能力培養(yǎng)“教與學”的方法,并在軟件技術、信息安全技術等相關專業(yè)的教學實施中,取得了良好的效果。
【參考文獻】
[1]孫海軍.基于云計算的大數(shù)據(jù)處理技術[J].信息安全與技術,2014(11)
[2]王德政,申山宏,周寧寧.云計算環(huán)境下的數(shù)據(jù)存儲[J].計算機技術與發(fā)展,2011(4)
【基金項目】2016年Google高職高專教育合作項目“基于Android云計算課程教學的研究與實踐”研究成果
(責編 劉健華)