《资源受限Web服务》 李刚 孙红梅 李智 余海燕 《计算机学报》2010年第2期,2010,33(2)
这篇论文读下来,感觉也没有非常深入的探讨什么东西,而是从整体上讲述了目前资源受限Web服务的现状与发展前景以及遇到的问题与研究方向。下面是我摘录的个人感觉可能会有用的片段:
随着 PC 的日趋衰落,IT 领域出现了一些新动态:
1. 计算机技术渗透到人们生活、工作的各个领域。人们同时使用多台计算机及多种电子设备(如数码相机、PDA、智能手机等)的情形已很普遍。通过无线网络将计算机与智能手机、家电等消费类电子产品互联,向用户提供个性化信息服务正在成为一种新的 IT 消费趋势。
2. 计算技术一方面向大规模、高性能、分布式的云计算发展。通过云平台向用户提供“按需租用”的 IT 服务。另一方面向泛在计算发展,各种小型、嵌入式智能设备通过无线网络为云计算提供了“无时无处不在”的服务终端。最近,随着EaaS(Everyting as a Service)的兴起,服务作为手持、嵌入式设备访问云平台的一种重要手段[1],越来越受到业界的重视。例如:2008 年,微软在 Professional Developer Conference 上发布了手持设备云计算软件BlueHoo,以增强微软的 Windows Azure平台。
3. 随着“物联网”、“智慧地球”等新计算模式的出现,传感器、RFID等小型设备的无线互联和资源共享变得越来越迫切。在上述新趋势中,如何在无线移动环境中实现异构设备的互联与协同是一个需要解决的关键问题。
Web 服务为异构资源协同提供了有效手段。然而,在无线移动环境中,网络带宽、内存容量、处理器计算能力、电源等资源都十分有限[2]。传统Web 服务无法很好满足这种资源受限环境中异构设备互联与协同的需求。于是,人们开始研究嵌入式Web 服务、移动/无线 Web 服务以及面向服务的移动设备。在此,我们将这类 Web 服务统称为资源受限 Web 服务(Resource-constrained Web Services RCWS)。
资源受限 Web 服务是服务计算与无线网络、移动计算和嵌入式系统相结合的产物,在移动电子商务、现代制造业、服务业、农业、医疗、消费类电子产品等领域有广阔应用前景。
根据通讯协议的不同, Web 服务构件分为RPC、REST 及 REST-RPC 式三大类[34]。其中,RPC 服务又包括 XML-RPC 和 SOAP 服务两种。
这些工作的主要特点与创新点如下:
(1)通讯开销小
总的来看,这些服务构件的通讯开销都比较小。例如:REST 服务直接采用 HTTP 协议,通过URI 定位 Web 服务,通过 GET、POST、PUT、DELETE 方法完成客户端与服务的交互。数据交互直接构建在 HTTP 协议上,无需额外消息传递和会话跟踪。此外,REST 服务省去了 XML SOAP 消息附加元素和消息头,对带宽要求小,更具在资源受限设备上使用的潜力。
(2)结构简洁
为了满足资源受限环境的需求,这些服务构件大都采用了简化的构件结构。例如:kSOAP 客户端直接通过核心类 SoapObject 调用服务,无需构造、使用代理。gSOAP 提供透明的 SOAP API,在降低服务调用复杂性的同时,大大减小了服务客户端支撑库的规模。
(3)存储资源消耗小
轻量级 SOAP 服务的低存储消耗特点尤为突出。例如:运行 gSOAP 客户端只需要 150k 内存,运行 kSOAP 客户端只需要120k内存。但轻量级SOAP 服务的低资源消耗大多以牺牲部分 SOAP 功能为代价。例如:gSOAP 不支持 SOAP root;kSOAP不支持多维数组,而且减少了对静态数据类型的支持。
由分析不难看出,在服务构件方面还有以下技术难点和理论问题需要进一步探讨。
(1)现有 REST 服务构件技术,如 CXF、Jersey、REST Easy,并没有妥善解决好资源受限问题。如:它们在内存消耗方面的开销并不理想。如何降低资源消耗,是一个需要进一步研究的技术难题。
(2)REST 服务基于无状态服务器模型,不保存服务状态,而且操作也是无状态的。无状态性以及消息优化机制的欠缺,增加了 REST 服务的资源消耗。如何解决这一问题需要在技术、理论上进一步研究。
(3)尽管有 WADL,但 REST 服务并没有完整的服务模型及服务描述机制,在数据交换语法及语义等方面也存在欠缺。
(4)轻量级 SOAP 对 SOAP 的支持并不完善,如何在不减少对 SOAP 核心功能支持的情况下,降低资源消耗是一个很具挑战性的问题。
综合、分析现有工作,不难发现以下问题还需进一步研究。
(1)轻量级服务模型
现有轻量级 SOAP 采用了部分实现 SOAP 协议的研究思路,虽然降低了存储空间等资源消耗,但以损失 Web 服务技术特征为代价。此外,以 XML为基础的数据传递存在大量冗余数据,增加了带宽、电源等资源消耗。如何在充分支持 Web 服务的同时减少资源消耗有待进一步研究。资源消耗不仅与单个 Web 服务的运行有关,而且与宿主、客户端、应用模式及系统结构密切相关。问题的解决不仅需要轻量级 SOAP 引擎,而且需要轻量级服务模型及动态体系结构的支持。
(2)低消耗、高互操作的应用架构
现有支持资源受限 Web 服务的基础框架侧重服务调用和物理设备服务化;安装、配置不便,互操作性差。目前,已有一些研究人员开始关注这方面的问题,但问题远没有得到解决[26]。
(3)便捷、高效的开发环境
现有 RCWS 工具对服务客户端的支持较强,对无线环境中常用的异步编程模式支持很弱。此外,资源受限 Web 服务在内存、多线程、仿真环境等方面有诸多限制,这使得这类服务、应用的开发与传统软件开发有较大差异。针对 RCWS 的特点,研究适于这类服务开发、测试、维护的便捷集成开发环境是一个值得进一步研究的问题。
(4)语义化数据聚合
异构数据在资源受限环境中的传输、处理会大量消耗带宽、存储、CPU、电源等资源[30]。对数据进行必要的聚合是解决这一问题的一个有效方法。尽管像 pCASE 这样的中间件平台提供了数据预处理功能,但现有研究成果对异构数据语义化聚合、检索及协同使用的支持还很弱,这方面的工作还有待进一步加强[31]。
(5)面向资源受限 Web 服务的轻量级系统结构
RCWS 应用的资源消耗受无线动态链接、即时数据传递、异构系统集成等多重因素影响。降低资源消耗,提高资源利用率需要在体系结构层面综合考虑。研究面向 RCWS 的体系结构和服务模型将有助于问题的解决。目前,已有研究人员开始了这方面的探索,例如 Guilherme Bertoni 等人借鉴 SaaS思想,以 gSOAP 为基础研究设计了服务化的嵌入式设备集成结构[32]。但问题并没有得到很好解决。以 REST 为基础研究面向 RCWS 的轻量级系统结构是解决这一难题的一条新途径。