论文部分内容阅读
【摘 要】本文从OpenStack Swift服务搭建过程、命令运用、应用模块开发三方面对Android云存储客户端应用开发能力培养进行教学设计,以促使学生在了解和掌握云存储服务OpenStack Swift的搭建和使用的前提下,能够按移动客户的需求,开发移动客户端应用项目。
【关键词】云存储 客户端开发 能力培养 教学设计
【中图分类号】G 【文献标识码】A
【文章编号】0450-9889(2017)04C-0189-03
早在2006年3月,亚马逊首先提出了弹性计算云服务,2006年8月9日,谷歌首席执行官埃里克·施密特在搜索引擎大会首次提出“云计算”的概念。OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。OpenStack 包含Nova和Swift两个主要模块,前者是NASA开发的虚拟服务器部署和业务计算模块;后者是 Rackspace开发的分布式云存储模块,两者可以一起用,也可以分开单独用。在OpenStack 中,Swift主要用于存储虚拟机镜像,用于Glance的后端存储。在实际运用中,Swift 的典型运用是网盘系统,代表是“Dropbox”,存储类型大多为图片、邮件、视频、存储备份等静态资源。OpenStack除有 Rackspace 和 NASA 的大力支持外,还有包括 Dell、Citrix、Cisco、Canonical等重量级公司的贡献和支持,发展速度非常快,有取代另一个业界领先开源云平台 Eucalyptus 的态势。基于OpenStack Swift服务,Android 云存储客户端应用开发要具备的能力是:在了解和掌握云存储服务 OpenStack Swift 的搭建和使用的前提下,按移动客户的需求,开发移动客户端应用项目。
一、开展OpenStack Swift服务搭建过程教学,提高学生操作配置能力
以搭建单节点的Swift服务主要供网盘开发使用为可视化的演示对象,安装操作系统最小化Centos6.5_x64桌面操作系统,配置主机名等,将提供的压缩包导入到操作系统内。
(一)演示单节点的Swift服务搭建过程
教师一边演示,学生一边搭建操作,这是最好的效果。教学完成以后,学生再独立复习巩固地操作一遍。
(二)提高搭建过程中的配置能力
教师在演示单节点的Swift服务搭建过程中,对一些配置会进行说明,但还不够。如果能通过抓屏软件把服务搭建过程中的配置说明制作成“可操控的视屏方式”的演示文件,在运行中运用“暂停”“继续”按键,制作讨论式的学习配置说明,这样学生可以更好地复习巩固Swift服务搭建过程中的配置说明,提高学生服务搭建过程中的配置能力。该视频文件若能有手机版,效果会更好,学生不仅能在教室的电脑上跟随学习,还能通过手机版随时随地地复习。
二、开展OpenStack Swift服务命令使用教学,提高学生命令运用能力
我们知道,API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。Swift通过Proxy Server向外提供基于HTTP的REST服务接口,对账户、容器和对象进行CRUD等操作。如何掌握OpenStack Swift服务命令的运用?通过命令的格式、功能、说明、示例的反复运用,能螺旋式的提高学生运用命令的能力。例如Swift upload命令。(1)格式:swift upload [command-options] container file_or_directory [file_or_directory][...];(2)功能:根据参数将制定的文件或者目录上传到容器内;(3)参数说明;[command-options] 选项,Container 容器名称,或者是容器内的目录,file_or_directory 本地文件系统内的目录或者文件,[file_or_directory] 本地文件系统内的目录或者文件,可同时上传多个目录或文件;(4)示例(略)。通过多示例的参数描述的运用,例学生撑据命令格式的灵活运用。
三、开展Openstack Swift SDK应用模块教学,提高学生“项目”开发能力
Android云存储客户端应用开发采用项目模块化进行教学,模块是“项目式”教学的最小单元,Android云存储客户端应用项目中常用的模块有登录注册模块、文件浏览模块、文件操作模块等,下面以登录注册模块中的登录为例进行说明。
(一)功能需求
已知已注册可登录的账号用户名为gw001,密码是00000。根据原型图设计实现登录窗口View,如图1所示。
登录窗口的控制层,如图2所示。
控制流程的说明:在SDK中,我们知道Keystone服务负责用户的认证和授权,这里调用Keystone的认证,传递的参数为用户名和密码。(1)没有联网,服务不能访问,提示用户联网;(2)账户和密码都正确,验证通过,自动登录,展示网盘主窗口;(3)账户不正确,验证不通过,提示用户重新输入账户和密码;(4)密码不正确,验证不通过,提示用户重新输入账户和密码;(5)连续输入3次不正确,提示用户找回密码。通过邮件的方式找回。
(二)界面代码实现
1.导入项目。运行 Android Studio,选择 File\Open..,点击弹出选择 project64 目录下面的项目—swiftstorage‖,如图3 所示。
2.界面代码实现。登录布局包含5个组件,从上到下依次为:图标(ImageView)、用户输入框(EditText)、密码输入框(EditText)、登录按钮(Button),注册按钮(TextView),及最下面一个进度条(ProgressBar)。几个组件的说明如表1所示,原始代码略。此布局的路径 app\src\main\res\layout\login.xml。
(三)功能執行测试
测试的场景(TestCase)包括如下,可以编写单元测试,或者自己手工测试,场景如表2所示。
经过测试,合法用户能够正常登录,非法用户和输入被阻止。至此,完成了登录功能的开发。
四、结语
本文为促进学生Android云存储客户端应用开发能力培养,从Openstack Swift服务搭建的配置能力、服务命令的运用能力、应用模块的开发能力进行了教学设计,系统地阐明了Android云存储客户端应用开发能力培养“教与学”的方法,并在软件技术、信息安全技术等相关专业的教学实施中,取得了良好的效果。
【参考文献】
[1]孙海军.基于云计算的大数据处理技术[J].信息安全与技术,2014(11)
[2]王德政,申山宏,周宁宁.云计算环境下的数据存储[J].计算机技术与发展,2011(4)
【基金项目】2016年Google高职高专教育合作项目“基于Android云计算课程教学的研究与实践”研究成果
(责编 刘健华)
【关键词】云存储 客户端开发 能力培养 教学设计
【中图分类号】G 【文献标识码】A
【文章编号】0450-9889(2017)04C-0189-03
早在2006年3月,亚马逊首先提出了弹性计算云服务,2006年8月9日,谷歌首席执行官埃里克·施密特在搜索引擎大会首次提出“云计算”的概念。OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。OpenStack 包含Nova和Swift两个主要模块,前者是NASA开发的虚拟服务器部署和业务计算模块;后者是 Rackspace开发的分布式云存储模块,两者可以一起用,也可以分开单独用。在OpenStack 中,Swift主要用于存储虚拟机镜像,用于Glance的后端存储。在实际运用中,Swift 的典型运用是网盘系统,代表是“Dropbox”,存储类型大多为图片、邮件、视频、存储备份等静态资源。OpenStack除有 Rackspace 和 NASA 的大力支持外,还有包括 Dell、Citrix、Cisco、Canonical等重量级公司的贡献和支持,发展速度非常快,有取代另一个业界领先开源云平台 Eucalyptus 的态势。基于OpenStack Swift服务,Android 云存储客户端应用开发要具备的能力是:在了解和掌握云存储服务 OpenStack Swift 的搭建和使用的前提下,按移动客户的需求,开发移动客户端应用项目。
一、开展OpenStack Swift服务搭建过程教学,提高学生操作配置能力
以搭建单节点的Swift服务主要供网盘开发使用为可视化的演示对象,安装操作系统最小化Centos6.5_x64桌面操作系统,配置主机名等,将提供的压缩包导入到操作系统内。
(一)演示单节点的Swift服务搭建过程
教师一边演示,学生一边搭建操作,这是最好的效果。教学完成以后,学生再独立复习巩固地操作一遍。
(二)提高搭建过程中的配置能力
教师在演示单节点的Swift服务搭建过程中,对一些配置会进行说明,但还不够。如果能通过抓屏软件把服务搭建过程中的配置说明制作成“可操控的视屏方式”的演示文件,在运行中运用“暂停”“继续”按键,制作讨论式的学习配置说明,这样学生可以更好地复习巩固Swift服务搭建过程中的配置说明,提高学生服务搭建过程中的配置能力。该视频文件若能有手机版,效果会更好,学生不仅能在教室的电脑上跟随学习,还能通过手机版随时随地地复习。
二、开展OpenStack Swift服务命令使用教学,提高学生命令运用能力
我们知道,API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。Swift通过Proxy Server向外提供基于HTTP的REST服务接口,对账户、容器和对象进行CRUD等操作。如何掌握OpenStack Swift服务命令的运用?通过命令的格式、功能、说明、示例的反复运用,能螺旋式的提高学生运用命令的能力。例如Swift upload命令。(1)格式:swift upload [command-options] container file_or_directory [file_or_directory][...];(2)功能:根据参数将制定的文件或者目录上传到容器内;(3)参数说明;[command-options] 选项,Container 容器名称,或者是容器内的目录,file_or_directory 本地文件系统内的目录或者文件,[file_or_directory] 本地文件系统内的目录或者文件,可同时上传多个目录或文件;(4)示例(略)。通过多示例的参数描述的运用,例学生撑据命令格式的灵活运用。
三、开展Openstack Swift SDK应用模块教学,提高学生“项目”开发能力
Android云存储客户端应用开发采用项目模块化进行教学,模块是“项目式”教学的最小单元,Android云存储客户端应用项目中常用的模块有登录注册模块、文件浏览模块、文件操作模块等,下面以登录注册模块中的登录为例进行说明。
(一)功能需求
已知已注册可登录的账号用户名为gw001,密码是00000。根据原型图设计实现登录窗口View,如图1所示。
登录窗口的控制层,如图2所示。
控制流程的说明:在SDK中,我们知道Keystone服务负责用户的认证和授权,这里调用Keystone的认证,传递的参数为用户名和密码。(1)没有联网,服务不能访问,提示用户联网;(2)账户和密码都正确,验证通过,自动登录,展示网盘主窗口;(3)账户不正确,验证不通过,提示用户重新输入账户和密码;(4)密码不正确,验证不通过,提示用户重新输入账户和密码;(5)连续输入3次不正确,提示用户找回密码。通过邮件的方式找回。
(二)界面代码实现
1.导入项目。运行 Android Studio,选择 File\Open..,点击弹出选择 project64 目录下面的项目—swiftstorage‖,如图3 所示。
2.界面代码实现。登录布局包含5个组件,从上到下依次为:图标(ImageView)、用户输入框(EditText)、密码输入框(EditText)、登录按钮(Button),注册按钮(TextView),及最下面一个进度条(ProgressBar)。几个组件的说明如表1所示,原始代码略。此布局的路径 app\src\main\res\layout\login.xml。
(三)功能執行测试
测试的场景(TestCase)包括如下,可以编写单元测试,或者自己手工测试,场景如表2所示。
经过测试,合法用户能够正常登录,非法用户和输入被阻止。至此,完成了登录功能的开发。
四、结语
本文为促进学生Android云存储客户端应用开发能力培养,从Openstack Swift服务搭建的配置能力、服务命令的运用能力、应用模块的开发能力进行了教学设计,系统地阐明了Android云存储客户端应用开发能力培养“教与学”的方法,并在软件技术、信息安全技术等相关专业的教学实施中,取得了良好的效果。
【参考文献】
[1]孙海军.基于云计算的大数据处理技术[J].信息安全与技术,2014(11)
[2]王德政,申山宏,周宁宁.云计算环境下的数据存储[J].计算机技术与发展,2011(4)
【基金项目】2016年Google高职高专教育合作项目“基于Android云计算课程教学的研究与实践”研究成果
(责编 刘健华)