



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2 0 1 0 1 1 总第 1 6 4 期RCA24 文章编号 1 0 0 5 8 4 5 1 2 0 1 0 1 1 0 0 2 4 0 4 收稿日期 2 0 1 0 0 3 1 8 作者简介 黄锦川 在读硕士研究生 金炜东 教授 基于 A n d r o i d 平台 W e b 服务的应用研究 黄锦川1 金炜东2 1 西南交通大学信息科学与技术学院 成都6 1 0 0 3 1 2 西南交通大学电气工程学院 成都6 1 0 0 3 1 摘要 W e b 服务已经在各大领域得到了广泛的使用 为新一代电子商务和系统集成发展作出了贡献 但是 对于移动设备而言 采用传统的 W e b服务不利于部署和实施 本文使用 R E S T风格的 W e b服务 结 合 G o o g l e 推出的 A n d r o i d 嵌入式开发平台进行系统开发 为构建企业移动信息化平台提供一种思路 关键词 W e b 服务 R E S T 移动应用 A n d r o i d 中图分类号 T P 3 9文献标识码 A Research on application of REST Web service based on Android HUANG Jin chuan1 JIN Wei dong2 1 School of Information Science and Technology Southwest Jiaotong University Chengdu610031 China 2 School of Electrical Engineering Southwest Jiaotong University Chengdu610031 China Abstract Traditional Web service had been applied in many areas also made a positive contribution to e commerce and system integration But to mobile devices it wasn t convenient to arrange and implement This paper described the method to use REST Web service and embed platform Android to build an embed Web service application Key words Web Service REST mobile application Android 随着移动技术的不断发展 传统信息系统逐 渐向移动应用方面发展 由于移动产品的软硬件 环境复杂 使得特定移动平台开发的解决方案在 部署时存在问题 不能大范围应用 而使用 W e b 服务则可以有效地回避平台的相关性 有助于降 低企业移动信息服务系统开发成本 新建线网客运站实际情况 为旅客提供个性 全 面 实时的信息服务 实现客运站旅客综合服务信 息的动态查询 及旅客与运输管理部门的信息交 图 3系统总体流程 公 告 栏 列 车 查 询 客 票 查 询 旅 行 规 划 旅 客 之 家 旅 客 意 见 反 馈 公 告 栏 列 车 查 询 客 票 查 询 旅 行 规 划 旅 客 之 家 旅 客 意 见 反 馈 修 改 密 码 开始 主页面 用户权限 是否为管理员 登陆 后台数据处理 铁路旅客 浏览 退出系统结束 是否 互 同时依托北京南站实际情况为背景 设计完成 了一套高效 便捷的信息查询服务系统 并在应用 实践中得到了良好的效果 参考文献 1 铁路客户服务中心总体技术方案 Z 铁道部运输局 2 0 0 9 2 2 智鹏 蒋秋华 张彦 新型旅客服务信息集成管理平 台关键技术研究 J 铁 路计算机应用 2 0 0 9 2 3 王喆 彭其渊 旅客服务管理理论与应用研究综述 J 铁 道运输与经济 2 0 0 8 1 4 阳建鸣 戴贤春 铁路旅客服务综合信息系统总体方案的 研究 J 中国铁路 2 0 0 6 1 5 韦成燕 德国铁路客运站管理简介 J 铁道运营技术 2 0 0 0 6 6 郭荷清 现代软件工程 原理 方法与管理 M 华南理工 大学出版社 2 0 0 4 第1 9卷第1 1期 V o l 1 9 N o 1 1 推广与应用 P O P U L A R I Z A T I O N A N D A P P L I C A T I O N 计 算 机 应 用 R A I L W A YC O M P U T E RA P P L I C A T I O N 铁路 2 0 1 0 1 1总第 1 6 4 期RCA25 R E S T R e p r e s e n t a t i o n a l S t a t e T r a n s f e r 风 格的 W e b 服务作为传统 W e b服务 以 S O A P为 基础 的一种替代方式 以其轻量化 易于构建 无状态以及使用 H T T P协议等优势受到了很多开 发语言以及框架的重视 本文以A n d r o i d 平台为例 通过采用r e s t l e t 框 架设计构建学生信息管理交互系统 为将 W e b S e r v i c e 技术应用于手机终端提供了一种新思路 1 R E S T 风格W e b 服务概述 R E S T R e p r e s e n t a t i o n a l S t a t e T r a n s f e r 是 一种轻量级的 W e b S e r v i c e 架构风格 其实现和 操作明显比 S O A P 和 X M L R P C 更为简洁 可以完 全通过H T T P 协议实现 还可以利用缓存C a c h e 来 提高响应速度 性能 效率和易用性上都优于 S O A P协议 R E S T架构遵循了 C R U D原则 C R U D原则对 于资源只需要4 种行为 C r e a t e 创建 R e a d 读 取 U p d a t e 更新 和D e l e t e 删除 就可以完 成对其操作和处理 这4 个操作是一种原子操作 即一种无法再分的操作 通过它们可以构造复杂 的操作过程 正如数学上四则运算是数字的最基 本的运算一样 R E S T 架构让人们真正理解网络协议 H T T P 本 来面貌 对资源的操作包括创建 读取 更新和删 除 正好对应 H T T P 协议提供的 P O S T G E T P U T 和 D E L E T E方法 因此 R E S T把 H T T P对一个 U R L资源的操作限制在 G E T P O S T P U T和 D E L E T E 这 4 个之内 这种针对网络应用的设计和 开发方式 可以降低开发的复杂性 提高系统的可 伸缩性 与传统 W e b 服务相比 R E S T 技术还具有很多 优点 1 无需引入S O A P 消息传输层 轻量级和高 效率的 H T T P可直接被应用 2 灵活性和易用性 无需建立庞大的 X M L 消息 只需建立一个网址字符串来访问 R E S T服 务 可以轻易地在任何编程语言中实现 尤其是 在J a v a S c r i p t 中 使用S O A P 与J a v a S c r i p t 的W e b 服务非常繁琐 但使用R E S T 与J a v a S c r i p t 的W e b 服务就非常简单 3 可以不使用任何编程语言就能访问服务 而只要使用W e b 浏览器或类似如A r c G I S E x p l o r e r 的地理浏览器 4 更好的性能和缓存支持 R E S T类 W e b 服务可以利用高速缓存控制头 从而减少带宽的 需求 使用 R E S T可以改善响应时间和改进用户 体验 5 可扩展性和无状态性 每个请求都是独 立的 一旦被调用 服务器不保留任何会话 这样 就可以更具响应性 通过减少事件后通讯状态的 维护工作 提高了服务器的可扩展性 6 易于被索引和发现 R E S T 网址能够被如 G o o g l e Y a h o o 或 M S N 的搜索引擎索引 这使得 它们更容易地被发现 不通过单独的资源发现机 制就可以发现网址 例如通用描述 发现和集成机 制 U D D I 2 A n d r o i d 平台简介 A n d r o i d 是基于L i n u x 内核的软件平台和操作 系统 是 G o o g l e 在 2 0 0 7 年 1 1 月 5 日公布的手机 系统平台 早期由G o o g l e 开发 后由开放手机联 盟 O p e n H a n d s e t A l l i a n c e 开发 它采用软件 堆层 s o f t w a r e s t a c k 又名以软件叠层 的架构 主要分为 3 部分 低层以L i n u x 内核工作为基础 只提供基本功能 其他的应用软件则由各公司自 行开发 以J a v a 作为编写程序的一部分 以J a v a 为编程语言 使A n d r o i d 从接口到功 能 都有层出不穷的变化 其中A c t i v i t y 等同于 J 2 M E 的M I D l e t 一个 A c t i v i t y 类 c l a s s 负责 建立视窗 W i n d o w 一个活动中的A c t i v i t y 就是 在 f o r e g r o u n d 前景 模式 背景运行的程序叫 做S e r v i c e 两者之间通过由S e r v i c e C o n n e c t i o n 和 A I D L 链接 达到复数程序同时运行的效果 如果 运行中的 A c t i v i t y 全部画面被其他A c t i v i t y 取代 该 A c t i v i t y 便被停止 s t o p p e d 甚至被系统清 除 k i l l V i e w 等同于J 2 M E 的D i s p l a y a b l e 程序人员 可以通过 V i e w 类与 X M L l a y o u t 档将U I 放置 在视窗上 A n d r o i d 1 5 的版本可以利用 V i e w 打 造出所谓的 W i d g e t s 其实 W i d g e t 只是V i e w 的 一种 所以 可以使用 X M L 来设计 l a y o u t H T C 基于 A n d r o i d平台 W e b服务的应用研究推广与应用第 1 9 卷第1 1 期 2 0 1 0 1 1 总第 1 6 4 期RCA26 的A n d r o i d H e r o 手机即含有大量的W i d g e t 至于 V i e w G r o u p 是各种l a y o u t 的基础抽象类 a b s t r a c t c l a s s V i e w G r o u p 之内还可以有 V i e w G r o u p V i e w 的构造函数不需要在A c t i v i t y 中调用 但是 D i s p l a y a b l e 的是必须的 在A c t i v i t y 中 要通过 f i n d V i e w B y I d 来从X M L 中取得V i e w A n d r o i d 的 V i e w 类的显示很大程度上是从 X M L 中读取的 V i e w 与事件 e v e n t 息息相关 两者之间通过 L i s t e n e r 结合在一起 每一个V i e w 都可以注册一 个e v e n t l i s t e n e r 例如 当V i e w 要处理用户触碰 t o u c h 的事件时 就要向A n d r o i d 框架注册V i e w O n C l i c k L i s t e n e r 另外还有I m a g e 等同于J 2 M E 的 B i t M a p 操作系统作为与应用程序的沟通桥梁 分为 两层 函数层 L i b r a r y 和虚拟机 V i r t u a l M a c h i n e A n d r o i d 的中间层多以J a v a 实现 并且采用 特殊的D a l v i k 虚拟机 D a l v i k V i r t u a l M a c h i n e D a l v i k 虚拟机是一种 寄存器型态 R e g i s t e r B a s e d 的J a v a 虚拟机 变量皆存放于寄存器中 虚拟机的指令相对减少 D a l v i k 虚拟机可以有多个i n s t a n c e 每个A n d r o i d 应用程序都用一个自属的D a l v i k 虚拟机来运 行 让系统在运行程序时可达到优化 D a l v i k 虚 拟机并非运行J a v a B y t e c o d e 而是运行一种称为 d e x 格式的文件 A n d r o i d H A L 是为了将 A n d r o i d f r a m e w o r k 与 L i n u x k e r n e l 隔开 降低对 L i n u x k e r n e l 的依 赖 以达成k e r n e l i n d e p e n d e n t A n d r o i d H A L 目 前以 H A L s t u b 的形式存在 本身是 s o 档 是一 种 p r o x y 的概念 A n d r o i d r u n t i m e 向 H A L 取得 s t u b 的 o p e r a t i o n s 再以 c a l l b a c k 的方式操作 函数 A n d r o i d 运行于 L i n u x k e r n e l 之上 但并不是 G N U L i n u x 因为在一般 G N U L i n u x 里的功能 A n d r o i d 大都没有支持 包括C a i r o X 1 1 A l s a F F m p e g G T K P a n g o G l i b c 等都移除掉了 A n d r o i d 又以b i o n i c 取代G l i b c 以S k i a 取代C a i r o 再以o p e n c o r e 取代F F m p e g 等 A n d r o i d 为了达到商业应用 必须移除关于 G N U C o p y l e f t 的限制 例如A n d r o i d 将驱动程序 移到 u s e r s p a c e 使得L i n u x d r i v e r 与 L i n u x k e r n e l 彻底分开 目前 A n d r o i d 的 L i n u x k e r n e l 控制包括安全 S e c u r i t y 存储器管理 M e m o r y M a n a g e m e a t 程序管理 P r o c e s s M a n a g e m e n t 网络堆栈 N e t w o r k S t a c k 驱动程序模型 D r i v e r M o d e l 等 3 学生信息管理交互系统的设计 3 1 系统功能 学生信息管理交互系统面向学校老师 学生 和家长 通过向家长发布学生的上学 放学时间以 及学生成绩来掌握学生在校学习和成长动态 并 提供一个老师与家长进行沟通和反馈的平台 本系统由以下几个主要功能模块组成 1 提示模块 通过发送数据查询信息 接受 来自服务端反馈的信息 来查询学生的到校以及 离校时间 并显示在手机上 2 互动模块 接受来自老师的当天作业及 相关信息提醒 并可向老师反映学生在家的学习 生活情况 3 网校模块 整合教育专家课程 教案以及 优秀试题 题库 向学生家长提供教育信息 3 2 系统设计 R E S T架构是针对 W e b应用而设计的 其目 的是为了降低开发的复杂性 提高系统的可伸缩 性 R E S T提出了如下设计准则 1 网 络 上 的 所 有 事 物 都 被 抽 象 为 资 源 r e s o u r c e 2 每个资源对应一个唯一的资源标识符 r e s o u r c e i d e n t i f i e r 3 通过通用的连接器接口 g e n e r i c c o n n e c t o r i n t e r f a c e 对资源进行操作 4 对资源各种操作不会改变资源标识符 5 所有的操作都是无状态的 s t a t e l e s s 由需求分析可将系统划分成以下几种资源 1 将移动服务分为学生到校时间 这个资 源定义为 U R L h t t p w w w s c h o o l c o m s t u d e n t N a m e d a t e a r r i v e T i m e 2 将移动服务分为学生离校时间 这个资 源定义为 U R L h t t p w w w s c h o o l c o m s t u d e n t N a m e 第1 9卷第1 1期推广与应用 铁 路 计 算 机 应 用 2 0 1 0 1 1总第 1 6 4 期RCA27 d a t e l e a v e T i m e 3 将老师向学生家长交流作业信息的资源 定义为 U R L h t t p w w w s c h o o l c o m t e a c h e r N a m e t i m e h o m e W o r k 4 将学生最新成绩发布作为资源 定义为 U R L h t t p w w w s c h o o l c o m s t u d e n t N a m e n e w S c o r e 5 将家长向学校进行意见交流的资源定义 为 U R L h t t p w w w s c h o o l c o m t e a c h e r N a m e n e w M a i l 通过向这些 U R L 所定义的资源发出相应的请 求来进行处理 达到实现系统功能的目的 又由于 基本 R E S T风格的系统实现在服务器是不保存客 户端的状态信息 所有每次进行资源请求时都应 当对客户端进行验证 具体验证流程如图 1 t r y 取得H t t p C l i e n t 对象 H t t p C l i e n t h t t p C l i e n t n e w D e f a u l t H t t p C l i e n t 请求H t t p C l i e n t 取得H t t p R e s p o n s e H t t p R e s p o n s e h t t p R e s p o n s e h t t p C l i e n t e x e c u t e h t t p R e q u e s t 请求成功 i f h t t p R e s p o n s e g e t S t a t u s L i n e g e t S t a t u s C o d e H t t p S t a t u s S C O K S t r i n g s t r R e s u l t E n t i t y U t i l s t o S t r i n g h t t p R e s p o n s e g e t E n t i t y c a t c h E x c e p t i o n e x e x p r i n t S t a c k T r a c e 4 结束语 本文研究了 R E S T风格的 W e b服务 比较了 其与传统 W e b 服务的优缺点 针对学生信息管理 交互系统提出了相应的设计方案 并以A n d r o i d 平 台进行了调用实现 该方案有效回避了平台相关 性问题 降低了移动开发成本 具有良好的可扩展 性和广阔的应用前景 参考文献 1 徐涵 李红军 胡伟 R E S T f u l W e b S e r v i c e M 北京 电子工业出版社 2 0 0 8 2 盖索林 王世江 G o o g l e A n d r o i d 开发入门指南 M 北京 人民邮电出版社 2 0 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 狂犬暴露处置管理制度
- 环保企业岗位管理制度
- 环卫保洁量化管理制度
- 环卫公司车队管理制度
- 现场质量安全管理制度
- 玻璃滑道安全管理制度
- 班前安全确认管理制度
- 理赔外部调查管理制度
- 甜品公司销售管理制度
- 公园游玩公司活动方案
- 活羊买卖合同协议
- 安徽省2024年中考数学试卷【附真题答案】
- 2024年建筑业10项新技术
- 农村信访业务培训课件
- 2023年南京市中考历史试题及答案
- 2024届安徽省淮南市西部地区七年级数学第二学期期末达标测试试题含解析
- 新入职护士妇产科出科小结
- 第4课《直面挫折+积极应对》第1框《认识挫折+直面困难》【中职专用】《心理健康与职业生涯》(高教版2023基础模块)
- 农产品安全生产技术
- 公交车事故分析与预防措施
- 我的家乡江西九江宣传介绍
评论
0/150
提交评论