(4)更好的性能和缓存支持。REST类Web服务可以利用高速缓存控制头,从而减少带宽的需求。使用REST可以改善响应时间和改进用户体验。(5)可扩展性和无状态性。每个请求都是独立的,一旦被调用,服务器不保留任何会话,这样就可以更具响应性。通过减少事件后通讯状态的维护
工作,提高了服务器的可扩展性。(6)易于被索引和发现。REST网址能够被如Google,Yahoo或MSN的
搜索引擎索引,这使得它们更容易地被发现。不通过单独的资源发现机制就可以发现网址,例如通用描述,发现和集成机制(UDDI)。
1REST风格Web服务概述
RESTRepresentationalStateTransfer)(是一种轻量级的WebService架构风格,其实现和操作明显比SOAP和XML-RPC更为简洁,可以完全通过HTTP协议实现,还可以利用缓存Cache来提高响应速度,性能、效率和易用性上都优于SOAP协议。REST架构遵循了CRUD原则,CRUD原则对于资源只需要4种行为:Create(创建)Read、(读取)、Update(更新)和Delete(删除)就可以完成对其操作和处理。这4个操作是一种原子操作,即一种无法再分的操作,通过它们可以构造复杂的操作过程,正如数学上四则运算是数字的最基本的运算一样。REST架构让人们真正理解
网络协议HTTP本来面貌,对资源的操作包括创建、读取、更新和删除,正好对应HTTP协议提供的POST、GET、PUT和DELETE方法。因此,REST把HTTP对一个URL资源的操作限制在GET、POST、PUT和DELETE这4个之内。这种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。与传统Web服务相比,REST技术还具有很多优点:(1)无需引入SOAP消息传输层,轻量级和高效率的HTTP可直接被应用。(2)灵活性和易用性,无需建立庞大的XML消息。只需建立一个网址字符串来访问REST服务。可以轻易地在任何编程语言中实现,尤其是在
JavaScript中。使用SOAP与JavaScript的Web服务非常繁琐,但使用REST与JavaScript的Web服务就非常简单。
2Android平台简介
Android是基于Linux内核的软件平台和操作系统,是Google在2007年11月5日公布的手机系统平台,早期由Google开发,后由开放手机联盟(OpenHandsetAlliance)开发。它采用软件堆层(softwarestack,又名以软件叠层)的架构,主要分为3部分。低层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写
程序的一部分。以Java为编程语言,使Android从接口到功能。都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个Activity类(class)负责建立视窗(Window)一个活动中的Activity就是,在foreground(前景)模式,背景运行的程序叫做Service。两者之间通过由ServiceConnection和AIDL链接,达到复数程序同时运行的效果。如果运行中的Activity全部画面被其他Activity取代,该Activity便被停止(stopped)甚至被系统清,除(kill)。View等同于J2ME的Displayable,程序人员可以通过View类与“XMLlayout”档将UI放置在视窗上,Android1.5的版本可以利用View打造出所谓的Widgets,其实,Widget只是View的一种,所以,可以使用XML来设计layout,HTC
RCA2010.11总第164期
25
推广与应用
铁路计算机应用
第19卷第11期
的AndroidHero手机即含有大量的Widget。至于ViewGroup是各种layout的基础抽象类(abstract
nel彻底分开。目前,Android的Linuxkernel控制包括安全
class),ViewGroup之内还可以有ViewGroup。(Security),存储器管理(MemoryManagemeat),View的构造函数不需要在Activity中调用,但是程序管理(ProcessManagement)网络堆栈,(Net-Displayable的是必须的,在Activity中,要通过findViewById()来从XML中取得View,Android的View类的显示很大程度上是从XML中读取的。View与事件(event)息息相关,两者之间通过Listener结合在一起,每一个View都可以
注册一个eventlistener,:例如当View要处理用户触碰(touc