




已阅读5页,还剩76页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大学硕士学位论文面向移动应用的服务集成中间件设计与实现 作者姓名: 刘君学科专业: 计算机软件与理论导师姓名: 黄涛 研究员完成时间: 二一四11年十月十日A dissertation for masters degree Design and Implementation of Service Integration Middleware for Mobile ApplicationsAuthors Name: MR Speciality: Computer Software and TheorySupervisor: Tao HuangFinished time: October 10, 2014大学学位论文原创性声明本人声明所呈交的学位论文,是本人在导师指导下进行研究工作所取得的成果。除已特别加以标注和致谢的地方外,论文中不包含任何他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做的贡献均已在论文中作了明确的说明。作者签名:_ 签字日期:_大学学位论文授权使用声明作为申请学位的条件之一,学位论文著作权拥有者授权大学拥有学位论文的部分使用权,即:学校有权按有关规定向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅,可以将学位论文编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。本人提交的电子文档的内容和纸质论文的内容相一致。保密的学位论文在解密后也遵守此规定。公开 保密(_年)作者签名:_ 导师签名:_签字日期:_ 签字日期:_ _摘 要摘 要随着移动互联网的飞速发展,移动终端逐渐成为人们日常生活、学习和工作中所必需的设备。由于其便携性等特点,越来越多的用户习惯于使用移动设备,通过移动互联网获取资源。然而,面对移动设备屏幕小、资源受限和网络连接不稳定等特点,如何能使得移动终端用户方便的访问大量的已有资源越来越受到学术界和产业界的关注。服务集成是很重要的资源整合技术,可以使得异构服务快速、高效地集成,以实现功能更丰富的系统,提供更强大的服务。然而,现有的服务集成系统如SOAP(简单对象访问协议)引擎、BPEL(业务流程执行语言)引擎和ESB(企业服务总线)等系统,关注点主要在服务的封装、组合和协议适配,而并不适合于当下移动设备资源受限的特性和移动应用高集中度的特点。根据以上特征,本文提出了面向移动应用的服务集成中间件。基于此中间件系统,服务提供商可以通过服务集成配置文档实现多个服务在同一移动应用内的集成;同时,中间件客户端为待集成服务提供了统一的入口实现用户与服务的交互。论文首先分析了移动平台特点和新形势下对服务集成的需求,并比较已有相关研究成果和工业界解决方案,给出了面向移动应用的服务集成中间件系统的总体设计,包括服务集成配置语言(SIDL)、服务适配、代理和集成等。而后,对于中间件系统设计与实现中的三个关键技术进行详细阐述:1)在服务集成中间件服务器端建立统一的服务模型,对各类异构服务进行统一的服务接口映射;2)在中间件客户端利用可定制的表现层技术,为集成服务提供可定制、轻量级、跨平台的服务客户端,实现服务在移动应用内的集成,并提供了服务与用户的交互能力;3)提出了一个基于配置的两层缓存架构,以减少服务集成中间件客户端、服务集成中间件服务器端与被集成服务间的网络通讯,提高中间件系统的运行效率。基于上述研究和设计,本文实现了一个面向移动应用的服务集成中间件系统,包括中间件服务器端和基于Android移动平台的中间件客户端。通过对一个新闻聚合服务的集成和对中间件系统的实验验证,表明了此解决方案是可行的,并且性能良好。关键词: 移动应用 服务集成 中间件 服务适配 缓存VIIIAbstractABSTRACTWith the rapid development of the mobile internet, mobile terminals become necessary in our common life, study and work. Because of its portability, more and more people are used to obtain internet resource through mobile devices. However, under these mobile devices limitations such as that screen is small, resource is limited and internet connection is unstable, how to make amount of resources on the internet accessible for mobile terminal users gains more and more focuses from both academic and industrial world.Service Integration is an important integration method of resource. It integrates heterogeneous services rapidly and efficiently to make a more abundant system and a more powerful service. However, existing service integration systems like SOAP (Simple Object Access Protocol), BPEL (Business Process Execution Language) and ESB (Enterprise Service Bus) focuses on service packaging, combination and protocol adaptation and is not suit for the feature of the mobile platforms and the need of mobile users. For the resource-limited feature of the mobile platforms and the high concentration of mobile applications, this thesis brings up a service integration middleware for mobile platforms. Based on the middleware system, services providers can integrate several services in one mobile application through fulfilling the service integration configuration file; meanwhile, client of the middleware provides the unified entrance of services for convenient interactions with users.Firstly, the thesis analyzes the demand to the service integration method based on the features of mobile platforms at present and compare related work both in academic and industrial world. Then it provides the overall design the service integration middleware for mobile platforms including SIDL (Service integration Description Language), service adaptation, service proxy and integration. After that, it elaborates three key technologies in the design and implementation of the middleware system: 1) setting up the unified service model in the middleware server for mapping from various heterogeneous services; 2) using the customized presentation layer technology to provide customized, lightweight and cross-platform service client for service provider to integrate services in a mobile application and accomplish the interaction between services and users; 3) brings up a configurationbased tow-level cache architecture to decrease the communication among middleware client, middleware server and services that need integrated to improve the efficiency of the middleware. Based on the research and design above, we implement the middleware server and the middleware client based on Android operation system. And also verify the feasibility of the solution through a case study of a news converge service and experimental verification.Keywords: Mobile application, Service Integration, Middleware, Service Adaptation, Cache目 录目 录摘 要IABSTRACTIII目 录V第1章 绪论11.1 研究背景11.2 论文主要工作21.3 论文内容组织3第2章 服务集成中间件与移动应用相关技术52.1 服务集成中间件52.1.1 相关概念52.1.2 基本功能和特征52.2 移动平台62.2.1 移动平台简介62.2.2 移动平台应用类型72.2.3 服务集成中间件客户端82.3 相关工作与产品92.3.1 移动端浏览器适配92.3.2 服务器端代理102.3.3 客户端辅助生成112.3.4 相关工作总结122.4 本章小节12第3章 面向移动应用的服务集成中间件总体设计133.1 引言133.2 系统总体设计143.2.1 系统功能需求143.2.2 系统整体框架163.3 关键技术难点193.4 本章小节20第4章 统一的服务模型214.1 引言214.2 中间件统一服务模型224.2.1 非业务类接口224.2.2 业务类接口234.3 服务集成描述语言SIDL(Service Integration Description Language)234.4 应用实例264.5 本章小节29第5章 可定制的表现层模型315.1 引言315.2 中间件客户端315.3 可定制的表现层335.3.1 交互模式345.3.2 视图数据格式375.4 本章小节37第6章 服务代理缓存机制396.1 引言396.2 集成服务接口分析396.3 两层请求缓存机制406.4 应用实例426.5 本章小节42第7章 系统实现与服务集成案例437.1 系统架构437.2 核心功能模块的实现447.2.1 服务适配模块447.2.2 服务代理引擎467.2.3 用户交互模块467.2.4 网络通讯模块477.2.5 用户管理模块487.2.6 服务管理模块487.2.7 系统监管工具487.3 服务集成案例497.4 实验验证527.4.1 实验综述527.4.2 实验参数537.4.3 实验结果分析547.4.4 改进策略557.5 本章小节55第8章 总结与展望578.1 本文主要工作总结578.2 未来的工作展望58参考文献59附录1 SIDL SCHEMA61致 谢65在读期间发表的学术论文与取得的其它研究成果67第1章 绪论第1章 绪论本章主要介绍论文的研究背景、论文的主要工作以及论文后面各章节的组织方式。1.1 研究背景近年来,随着移动互联网、芯片等技术的快速发展,越来越多的移动终端进入人们的日常生活。大幅提升的计算能力,使得移动智能终端可以提供更加丰富的功能,这些功能正广泛地被移动用户接受和使用。据信息技术研究和咨询公司Gartner的报告 /smart-device-sales-to-hit-1b-next-year-gartner,全球智能手机和平板的销量在2012年是8亿台,而2013年将比2012年迅猛增加50%,达到12亿台。同时,Android /和iOS两大主流移动平台上的应用数量也达到100万款,被下载次数皆超过500亿次。除了Android和iOS两大主流移动平台外,新的移动平台,如FireFox OS和Ubuntu Touch也如雨后春笋般涌现。移动相关的研发也越来越多地被学术界和工业界所广泛关注,成为最有应用前景和研究价值的领域之一。回顾计算机领域的发展历史,计算环境经历了由主机计算(所有计算都在巨型机上)到客户端/服务器(C/S模型)再到互联网应用(B/S模型)直到2000年之后的面向服务计算的发展过程;同时,软件工程的发展也由最初的面向结构化程序设计到面向对象再到面向构件直到提出面向服务的软件工程。面向服务的体系结构作为一种重要的应用框架,它可以显著的提高应用系统的互操作性、集成能力和敏捷性。因而服务集成也已成为开发新的系统或者应用的重要手段。对于移动平台上应用的开发,通过服务集成的技术路线,开发者可以迅速地将他们已有的成熟服务拓展到移动平台用户。然而原有的服务集成技术和系统主要面向传统的桌面平台,由于移动平台不同于传统平台的特点,对于服务集成技术提出了新的挑战。移动平台与传统平台的差异体现在终端设备特性和互联方式等方面,主要可归结为以下几点:屏幕大小:移动平台的终端主要是智能手机或者平板,其屏幕小于传统平台,因而其界面展示也必然与传统平台有很大区别。原本针对桌面平台的用户交互界面已不适用。系统能耗:传统平台由于其位置固定且有稳定的电能供给,除了数据中心或者计算中心等少数传统平台外,能耗问题并不被人们所关注。然而移动设备能源都是电池供给,特别是现在的智能手机电池容量有限,所能提供的电量往往只够一天的使用。因此,对于移动平台上实现节能的服务集成,是一个重要挑战。互联方式:传统平台一般通过有线网络接入,高速且稳定,而移动设备的网络接入方式一般为Wifi、2G或者3G的无线互联方式,虽然其带宽已很高,但相对有线网络,实际应用中稳定性会受到信号的覆盖范围以及信号强度的影响。因而移动平台上的服务集成将更关注网络连接方式的影响。交互方式:由于移动设备的高便携性要求,其交互方式与传统平台有极大不同,传统的键盘与鼠标的输入方式被触摸屏等所取代。传统意义上的交互能力受到一定的限制,因此移动平台的应用与传统平台也会有很大的不同。用户习惯:移动用户拥有更低的响应容忍度,更倾向于使用用户体验良好、使用方便的本地应用。由于以上特点,在移动应用内实现服务的集成面临许多与传统服务集成不同的挑战。本文的主要工作是提出一套面向移动应用的服务集成解决方案,可将现有的大量服务资源进行统一的整合和利用,实现已有服务在移动平台的快速集成,使得用户可以通过统一的移动端入口、以良好的交互体验访问已有服务。1.2 论文主要工作图 1.1 基于服务集成中间件的解决方案针对之前所述问题,本主提出了一类面向移动应用的服务集成中间件(Service Integration Middleware for Mobile Applications, 后简称SIMMA)。该解决方案主要面向在移动平台上集成已有服务的开发者,使其可以可靠、高效地在移动应用内集成已有的服务。该方案的核心是使面向移动应用的服务集成中间件的服务器端(后简称SIMMA服务器端)作为待集成服务的统一代理,将待集成服务与移动平台有机地联系在一起,并通过移动平台上的面向移动应用的服务集成中间件的客户端(后简称SIMMA客户端)实现用户与服务间的良好交互。SIMMA客户端基于可定制的表现层模型,为集成服务提供可定制的表现层,将用户的操作发送到SIMMA服务器端,并将从SIMMA服务器端返回的结果展示给用户。SIMMA服务器端主要负责用户和服务的管理、服务的代理、监管等工作,它将服务的返回结果转换成特定视图数据格式返回给SIMMA客户端。服务开发者只要关注如何使用SIMMA服务器端作为服务代理,以及在统一的表现层模型下实现服务特定的可定制表现层即可,而跨平台能力由SIMMA来实现,以此实现已有服务在移动平台的统一集成。作为移动用户,使用此解决方案集成的服务将十分方便。因为只需要安装一个SIMMA客户端,即可使用所有通过SIMMA集成的服务。这些服务的表现层运行在SIMMA客户端内与用户进行交互,不同移动平台上的SIMMA客户端支持相同的表现层展示能力,保证了服务集成的跨平台性;SIMMA客户端作为移动平台上的本地应用,为用户提供了使用服务的统一入口,保证良好的交互体验。论文的主要工作包括以下三点:面向移动应用的服务集成中间件的功能需求和总体设计论文通过分析实际问题,给出面向移动应用的服务集成中间件所应具备的各项功能,根据各项功能需求设计系统,包括系统的整体框架到各模块的功能以及模块间的相互关系。面向移动应用的服务集成中间件构建的关键技术探究针对面向移动应用的服务集成中间件系统构建中的难点,论文提出了构建面向移动应用的服务集成中间件的三项关键技术,即统一的服务代理模型、可定制的表现层模型和服务代理缓存机制。下文将结合实例,对各项关键技术的设计与实现进行详细介绍。面向移动应用的服务集成中间件系统实现与验证基于以上提出的功能需要和设计方案,给出了一个面向移动应用的服务集成中间件的系统实现,原型系统包括SIMMA服务器端和移动平台上的SIMMA客户端。其中SIMMA客户端基于Android操作系统实现,并兼容Android2.3及以上版本。论文对原型系统中各核心功能模块的实现、算法和设计等进行了详细介绍。同时,通过实现一个新闻聚合服务实例,并将此服务在原型系统上集成,验证了论文解决方案的有效性。1.3 论文内容组织论文的后续章节将按以下方式组织:第二章首先介绍服务集成的相关概念、传统关注点和已有的相关研究成果;其次介绍了移动平台的发展以及工业界与学术界针对移动平台上的服务集成相关的业界产品和研究现状。第三章首先给出系统的功能需求和总体框架,而后阐述了系统的模块划分,最后简要介绍了系统的关键技术。第四章讨论了统一的服务代理模型,阐述其必要性,以及其概念和设计,并通过对新闻聚合服务实例的适配验证其可行性。第五章讨论了可定制的表现层模型,首先介绍各类移动端应用,提出基于SIMMA客户端实现的集成服务表现层的特点,并介绍在SIMMA客户端中,集成服务表现层的展示方式。第六章针对面向移动应用的服务集成中间件架构和集成服务的特点分析,提出了基于配置的两层请求返回结果缓存机制,以减少在使用SIMMA集成服务后引入的额外时间和网络通讯等开销。第七章给出了面向移动应用的服务集成中间件原型系统实现,介绍了SIMMA服务器端和客户端中各模块的包结构以及使用的算法和设计模式,并给出通过此原型系统集成服务的完整实例。第八章对论文工作进行了全面总结,并展望未来的研究工作。58第2章 服务集成中间件与移动应用相关技术第2章 服务集成中间件与移动应用相关技术本章对论文所述解决方案中的相关背景知识进行介绍。首先介绍服务集成中间件的概念和此领域相关的研究成果,包括服务的组合、服务接口定义等;其次介绍在移动领域与服务集成相关的工业产品和研究成果,并简述本文解决方案与其他工作的区别:适应移动平台特点并提供服务在移动端集成的有效机制。2.1 服务集成中间件2.1.1 相关概念随着Internet技术在全球范围内的蓬勃发展和系统分布式程度的增加,中间件技术逐渐发展成熟起来。最初的中间件是指处于底层操作系统与上层应用间的软件,其目的主要是作为一个公共的、标准的应用开发与软件运行平台以屏蔽不同操作系统间的环境和接口差异,为上层应用提供统一的开发与运行环境。但随着网络应用的进一步发展,以及分布式系统的普及,如何解决网络通信、安全、事务处理、消息传递、数据与应用的整合等问题,成为推动中间件发展的重要因素。为应对以上各类问题,相继出现了消息通信中间件、事务处理中间件、应用服务器、数据集成中间件、流程集成中间件、服务集成中间件和信息门户中间件等技术和产品。其中,服务集成中间件主要解决服务整合过程中所要面对的问题。狭义的服务即指Web服务,根据W3C工作组的定义(W3C, 2004a):Web服务是一类软件系统,被设计用于支持通过网络连接的机器与机器之间的互操作,它的接口被描述为机器可处理的格式,例如基于WSDL的服务接口描述。其余系统根据服务接口的描述,使用SOAP消息与其交互。典型的SOAP消息基于XML格式(NetworkWrokingGroup, 2006, 2009)并使用HTTP协议(NetworkWrokingGroup, 1999)进行传输。随着服务计算的发展,服务未必被绑定于特定的服务描述语言或者消息传递协议,而被赋予了更广泛的涵义。在计算机科学研究领域,所有通过特定的标准封装提供了公开的调用接口、可以实现一定功能并被网络化的应用都可以被认为是服务,余下章节在未特别说明的情况下,所指的服务遵循此更广义的定义。而为这些服务提供组合、编排、整合的中间件统称为服务集成中间件。2.1.2 基本功能和特征服务集成中间件采用服务作为基本的协作单元,实现服务的集成。现在被广泛接受的服务集成中间件有SOAP引擎(支持SOAP协议(W3C, 2007a)的Web服务运行支撑环境)、BPEL引擎(通过组合现有Web服务形成实现业务协作流程)和ESB(企业服务总线)等。他们关注了服务集成的部分或者全部过程,其基本功能和特征包括:网络通信:由于集成的服务是分布于网络中不同结点,对于服务集成中间件而言,网络通信是其最基本的功能。通过对网络I/O和传输协议的适配(HTTP、JMS、SMTP等),使得各类服务可以有效联通。服务映射与调用:服务集成中间件根据不同集成的需要,调用相应服务的接口,完成与服务的交互操作。部分中间件提供了服务的发现、选择和替换功能。数据模型映射:对于不同类型服务的集成,除了实现网络通信方面的适配外,还要适配服务调用的数据对象。例如SOAP引擎需要将XML格式的数据对象映射为SOAP引擎内部对象。服务的部署和管理:大部分的服务集成中间件也是服务的运行支撑环境,需要为服务提供部署和管理功能。例如服务调用的记录和监控数据等。服务的安全和质量保证:作为服务集成的平台,需要支持服务调用的身份验证、授权,支持相应的安全标准(例如Kerberos和Web服务安全性)和保证部分服务的事务性需求等。以上涵盖了服务集成中间件所具备的基本功能。2.2 移动平台本节首先介绍移动平台的发展与现状,然后详细阐述移动平台上不同类型应用的特点,最后提出基于SIMMA客户端的解决方案。2.2.1 移动平台简介随着移动终端计算能力的增强和网络通讯的发展,在移动终端之上,特别是智能手机、PDA和平板电脑等智能终端上,为管理移动终端软硬件资源,各类功能完善而强大的移动操作系统蓬勃发展,为移动应用提供了运行和支撑平台。像传统桌面操作系统一样,在移动平台上用户可自行安装第三方应用软件以提供扩展服务,例如浏览器、办公软件、游戏等。移动终端已经由只具备简单语音通话、收发短信、做简单笔记的终端,发展到支持社交、办公、娱乐、即时通讯、电子商务等众多功能的移动载体。同时,各类异构的移动平台操作系统大量涌现。现在主流的移动平台操作系统有:苹果的iOS,谷歌的Android和微软的Windows Phone等。2.2.2 移动平台应用类型移动平台上的应用是具体提供服务的主体,基于移动平台开发的应用主要可分为以下三种:本地应用(Native APP):本地应用的实现完全绑定于移动平台的操作系统,使用平台原生的程序设计语言编写并编译成平台特定的代码运行。此类应用可以提供最好的用户体验、给予应用开发者最大的自由度,结合特定移动平台系统软硬件以及所使用的编程语言的特点可以开发出功能强大、用户体验良好的应用。然而此类应用完全限制了应用的跨平台属性。由于移动平台的特殊性,大多尚不支持类似Java语言这样可以实现跨平台应用软件的编程。因此,在多种移动平台共存的情况下,如果针对不同平台实现不同的应用,需要开发者学习不同的移动平台和其对应的程序设计语言的特点,开发维护成本很高。网络应用(Web APP):网络应用是使用浏览器在客户端进行展示并交互操作的应用软件。网络应用提供了最大限度的跨平台性,甚至包括跨越传统平台和移动平台的差异;其使用HTML+JavaScript+CSS等传统的WEB开发技术,代码运行在浏览器中。网络应用的开发完全基于已有的HTML规范,使用HTTP传输协议,在服务器端,应用程序运行于应用服务器之内,而在客户端,用户通过浏览器访问网络应用。然而针对移动平台的HTML5(W3C, 2013)技术仍处于草案发布阶段,其特性尚未确定,虽然已经提供了较之前版本更丰富的内容,包括对音乐、视频、游戏的支持,但是无法利用移动平台的核心功能,比如地理定位、传感器、振动功能等。 表 2.1 移动平台应用类型对比应用类型开发模型运行模式跨平台性开发成本用户体验本地应用平台原生模型平台上低高高网络应用HTML框架开发浏览器内高低低混合应用HTML框架+容器容器内高较低中混合应用(Hybrid APP):混合应用是随着移动平台兴起而出现的一类特殊应用类型。它介于本地应用与网络应用之间,以WEB技术编程,即使用与网络应用类似的实现方法,而在应用编写完成后将由编译工具将其编译成特定移动平台上的发布版本,实现平台间的移植。混合应用通过特定的本地容器(如PhoneGAP插件、BAE插件)与底层移动平台进行交互,因而屏蔽了底层操作系统的差异,即像网络应用一样提供了跨平台特性。又由于其本地容器相对于移动端浏览器暴露了更多的底层移动平台Device API,此类应用可以实现一些本地应用才可以实现的功能,例如获得地理位置、摄像和录音等。混合应用的开发者不需要学习新的程序设计语言和操作系统,而只要熟悉几个特别的API接口,就可以在本地容器的帮助下实现接近于本地应用的用户体验,因而被很多应用开发者所接受。2.2.3 服务集成中间件客户端图 2.1 面向移动应用的服务集成中间件客服端面向移动应用的服务集成中间件将提供一种特殊类型的混合应用开发模式。SIMMA客户端是移动平台上的本地应用,是待集成服务客户端的运行容器。待集成服务的客户端不直接运行在移动平台上,而是通过可定制的表现层模型实现,并运行在SIMMA客户端中。使用此类SIMMA客户端架构有以下特点:跨平台性SIMMA客户端与底层移动平台直接相关,基于不同的移动平台上实现不同的SIMMA客户端,而为上层的服务客户端屏蔽了移动平台的差异,其作用类似于服务器端的传统应用服务器,屏蔽了底层平台的不同,提供给Web应用在各平台间迁移的能力。网络通讯由于移动平台特有的网络不稳定性,所有联网获取信息的移动应用都将受其影响。而服务客户端必然使用网络,通过SIMMA客户端提供统一的缓存和离线能力。在网络连接不顺畅时采用脱机模式,访问本地缓存;在网络连接良好后再访问服务。在一定情况下实现合理地缓存机制,更能节省移动终端流量和电能。统一的服务入口多个服务可以集成在一个移动应用中,SIMMA客户端提供统一的身份验证和服务接入。轻量级使用SIMMA客户端作为服务集成的容器,使得SIMMA客户端内的服务无需安装直接使用,动态升级,随时更新。2.3 相关工作与产品随着移动终端的迅猛发展,其重要性被工业界和学术界所广泛关注。除了针对本地应用的开发工具外,涌现出了许多针对移动平台特点(屏幕小等)的应用适配、应用开发工具。这些工作主要可根据其解决方案路线的不同分为以下三类。2.3.1 移动端浏览器适配面对远小于台式机屏幕的移动终端屏幕和无线网络流量费用远高于有线网络费用等特点,首先出现了在移动平台浏览器端的解决方案。UC浏览器 /wiki/UC浏览器作为一款国产的移动浏览器在国内占有很高市场份额。在2004年,其率先将中继模式引入到移动浏览器中,以解决移动屏幕适配、数据流量和电池能量消耗等问题。传统的移动端浏览器在获取数据时与桌面平台浏览器相同,直接将用户的请求发送到网站运营商服务器,然后网站运营商服务器将结果直接返回给移动端浏览器,通过移动端浏览器的渲染展示给用户。而在中继模式下,UC浏览器将建立一个代理服务器,移动端的请求将发送给UC浏览器的代理服务器,代理服务器访问相应的网站运营商服务器,并获得返回结果。代理服务器将针对移动端屏幕特点处理返回结果,其主要处理包括数据压缩(压缩原有页面、将图片由高分辨率压缩为低分辨率等)、数据预取(代理服务器端提前预取网页)等。通过在代理服务器端的数据处理,减少了移动端访问网页时的数据流量和电量消耗,从而提高移动端的用户体验。而在学术界针对此类问题也有大量的研究成果,其关注点从网络流量的节省到页面分割以适配小尺寸屏幕展示等。Xing Xie, Wei-Ying Ma等人在(Yu et al., 2005, Xiao et al., 2009)中通过将原有页面按其结构划分为逻辑上相关联的多个可以适应移动端屏幕大小的子页面,并使用SP-tree结构将其联系在一起,在不影响原有页面信息传达的情况下减少用户的缩放和拖动。Shumeet Baluja在(Baluja, 2006)中使用机器学习的方法提高了原有页面划分操作中子页面内容的一致性。Yevgen Borodin等人在(Borodin et al., 2007)中使用支持向量机分析用户访问网页的上下文信息推测用户所关注的内容,并将最相关的内容首先展示给用户,以节约浏览时间、提升用户体验。Nilton Bila等人在(Bila et al., 2007)中介绍了PageTailor工具供用户对相应网站的网页进行个性化剪裁,并将其应用于未来对相同或类似网站的访问,以提高用户浏览体验。Gen Hattori等人在(Hattori et al., 2007)中通过分析页面的HTML标签结构和页面的布局信息提高页面的划分效果。Hamed Ahmadi等人在(Ahmadi & Kong, 2008)中通过分析页面的DOM结构和可视化布局进行页面划分,提升浏览效果。Du Li等人在(Li & Anand, 2009)中设计和实现了一个网络资源管理的移动端中间件,通过优化一个Web客户端内的多个网络请求(使用重排、捎带、优先级转换等技术),以减少网络流量、节约电能。图 2.2 浏览器端相关工作以上工作都是通过改进移动端浏览器,大部分使用了一个代理服务器辅助处理页面,以解决用户在使用移动平台获取信息时所面临的屏幕、网络和能耗等方面的问题。此类解决方案,不针对特定的网站,代理服务可实现自动或半自动适配,方便、高效。2.3.2 服务器端代理除了使用特定的浏览器端加代理服务器模式提升用户体验外,另一类解决方案是通过改进网站服务器端,在使用通用移动浏览器的情况下,达到同样目的。此类解决方案由于面向特定网站,用户体验更好,但是将遗留的面向桌面个人电脑的Web网站,手动地适配为面向小屏幕移动端浏览器的Web网站,工作量较大。在此领域,学术界与产业界近年来涌现了大量研究成果和产品。文献(Nichols et al., 2008, Koehl & Wang, 2012)的解决方案是为每个Web网站建立一个服务器端代理,所有移动端的访问将分发到代理服务器上。在代理服务器上为每个发送请求的移动客户端运行一个代理浏览器,此代理浏览器将根据网站开发者的配置为每个移动客户端提供代理服务。移动客户端不需要额外适配,而且此代理对移动端是透明的。除了学术界的研究成果外,国内外也涌现出了许多工业界提供的适配工具。云适配 /是一款专注于跨平台网站适配的移动互联网产品。此产品极大的减化了网站开发者的适配工作量,只需要在网站加入一行代码,即将相应访问转发给云适配的代理服务器即可,其余的适配工作将由云适配的工作人员完成。实际上适配人员将根据网站完成大量的人工适配工作,包括导航的重新设计、页面的重新布局、字体的调整等。DudaMobile /mobileweb基本原理与云适配相同,但其提供适配功能主要由用户自行完成。DudaMobile提供了一个在线的网页编辑器,用户可以对于原有网站作自定义的适配。百度的SiteApp /提供了与DudaMobile类似的网站定制化工具,以辅助网站的适配。图 2.3 服务器适配架构此类解决方案由于针对特定网站,因而可以提供相对更好的适配效果。其一般架构如图2.3所示。2.3.3 客户端辅助生成除了以上两种解决方案外,Kazuki Nishiura等人在(Nishiura et al., 2012)中,提出了一种通过分析Web应用各页面间跳转关系生成相应移动端本地应用内视图模型及转换的方法。使用这种方法可以辅助开发者开发出Web应用的移动端本地应用。此工作需要分析Web应用的源码,而且现在对于分析基于AJAX的Web应用还有一定的局限。2.3.4 相关工作总结以上工作主要对已有Web应用的表现层进行适配,或者基于已有的表现层辅助移动端本地应用的生成。本文的工作主要针对已存在的服务,有或者没有相应的表现层,但希望在移动端生成全新的表现层。同时我们将这些服务集成在统一的客户端入口中,为以后的服务进一步组合提供基础。2.4 本章小节本章首先介绍了服务集成中间件的相关概念,包括Web服务、更广义的服务以及服务集成中间件,同时简述了现有的被广泛应用的服务集成中间件和其主要特点。然后介绍了现在移动平台的计算能力和应用类型,并简述我们的面向移动应用的服务集成中间件客户端作为一种特殊的混合应用的特点。第三部分主要介绍了已有的产业界和学术界在移动平台上整合服务系统方面的努力,包括移动端浏览器适配、服务器端代理和客户端辅助生成三方面的工作,并总结本文工作与以上三类工作的不同之处。第3章 面向移动应用的服务集成中间件总体设计第3章 面向移动应用的服务集成中间件总体设计本章总结了面向移动应用的服务集成中间件的总体设计。首先提出了系统层次和功能需求,然后根据需求设计了系统整体框架,并给出系统中各模块的功能划分,最后总结了本文中间件系统的三个关键技术。3.1 引言近年来,随着移动互联网的高速发展、硬件集成程度的进一步提高,体积小、便携带的手持设备,特别是智能手机等设备快速普及。用户希望通过移动设备随时随地的通过移动互联网获取更多的信息、更强的能力,应用开发者希望快速的开发以满足用户的需求。集成已有的服务是满足此需求的重要途径。而且在互联网及相关技术几十年的发展过程中,早已形成大量优质的、可靠的服务以及基于这些服务的应用。在移动平台集成已有服务有很大的现实需求。传统的服务集成中间件,如第二章所示,并未考虑移动平台的特性。典型的SOAP引擎,如OnceSOAPExpress(冯玉琳 et al., 2011)的系统架构如图3.1所示。典型的BPEL引擎,如OnceBPEL的系统架构如图3.2所示。图 3.1 SOAPExpress系统结构现有的服务集成系统关注的是在服务器端服务的封装、组合和协议适配等问题,其系统边界仅限于服务器端。而在移动互联网环境下,由于移动平台的特殊性,对服务集成中间件提出了新的需求。图 3.2 OnceBPEL系统结构3.2 系统总体设计本节详细介绍面向移动应用的服务集成中间件系统的功能和实现各功能的模块。3.2.1 系统功能需求本文的面向移动应用的服务集成中间件系统边界包括SIMMA客户端和SIMMA服务器两部分,两者相互协作完成服务在移动端的展示与交互。其具体系统功能包括以下几点:图 3.3 用户、账户信息和移动终端关系图用户信息共享:在移动终端设备爆炸的时代,一个人往往拥有多台移动设备,包括智能手机、平板等。一个用户账号可以在多个不同移动设备上的客户端间通用,账号信息在多个移动终端间共享。例如,用户应该可以在任意移动设备上订阅或者取消订阅集成的服务。服务适配:对于待集成的服务,可能遵循各种不同的规范,提供各种不同协议的接口给调用者。SIMMA需要拥有根据不同的协议规范与Internet上各类异构服务进行互操作的能力,以便于不同类型的服务接入中间件系统。服务适配功能不仅要提供对不同传输协议的支持(例如HTTP、SMTP、JMS等)还要提供不同消息格式间的转换(例如XML、JSON等)。基于以上适配能力SIMMA才能完成待集成服务的接入。统一认证:SIMMA作为用户与众多服务的沟通的桥梁、统一的服务集成入口,需要提供统一的身份认证能力。通过中间件的身份认证后,自动与已订阅的服务账号进行绑定。因此,用户无需在使用每个服务前再次进行身份认证。跨平台兼容性:现在流行的多个移动平台,其底层操作系统各不相同,使得覆盖不同移动平台的应用开发代价十分高。SIMMA应该提供良好的跨平台兼容能力,为集成的服务屏蔽底层系统的差异,不需要针对不同移动平台进行多次集成开发,并且在不同移动平台上保持相同的展示与交互效果。离线访问:移动终端往往运行在不稳定的网络环境下,SIMMA需要具体一定的离线能力,允许移动端用户在离线情况下,记录用户的操作,在网络联通后与SIMMA服务器端进行同步,同时对于部分可缓存的服务功能,利用缓存为用户提供服务。高效缓存:移动终端资源有限、联网代价高,SIMMA应提供有效的缓存机制以减少移动终端的电量和网络流量消耗,同时提高SIMMA客户端的响应速率。图 3.4 功能示意图服务配置监管:每个服务的集成都需要服务提供者配置相应的信息,这个信息包括服务的提供商信息、接口协议和客户端信息等。基于这些配置信息,SIMMA完成服务集成工作。SIMMA需要提供服务配置的监管功能,一方面允许服务提供商完成服务信息的配置,另一方面允许中间件管理员监管集成服务。面向移动应用的服务集成中间件系统功能如图3.4所示。其中移动平台上SIMMA客户端是SIMMA在移动平台的重要组成部分,它负责移动终端与SIMMA务器端的所有网络通讯,用户在移动终端交互界面的操作以及集成服务客户端的展示。SIMMA服务器根据用户的操作、集成服务的配置等,经过处理、适配后转化为对具体集成服务的请求,并将请求结果返回给SIMMA客户端。而中间件管理员可以通过SIMMA服务器端的控制台工具监管相应的用户和集成服务配置信息。服务提供商则在提供服务的同时设计并完成服务在SIMMA客户端里的服务客户端。图 3.3 系统架构图3.2.2 系统整体框架SIMMA系统整体框架图3.5所示,虚线所示范围为系统边界,包括服务集成中间件服务器以及针对不同移动平台操作系统的服务集成中间件客户端。SIMMA客户端将请求通过网络通讯模块发送给SIMMA服务器处理,SIMMA服务器的服务代理模块负责响应客户端请求,处理或转发给其他模块,然后再将处理结果返回SIMMA客户端。SIMMA客户端根据返回数据给用户展示结果。这样由SIMMA服务器完成纷繁复杂的服务适配功能,将转换好的数据提供给客户端,大大减轻移动平台的计算压力和资源消耗。针对不同移动平台操作系统的SIMMA客户端作为本地应用很好的利用本地接口实现良好的用户体验。同时,SIMMA服务器通过定义清晰的接口,降低与客户端的耦合度,使得任意移动平台上的SIMMA客户端都可以与服务使用平台无关的方式通信。SIMMA服务器屏蔽了各种待集成服务的差异,SIMMA客户端屏蔽了各
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 探索鲁冰花养殖的方法 教案-2023-2024学年高一下学期劳动技术
- 教师招聘之《幼儿教师招聘》能力提升打印大全带答案详解(达标题)
- 墙加厚加固工程方案(3篇)
- 三方实习协议书7篇
- 配电工程维护方案(3篇)
- 绿化工程付款方案(3篇)
- 2025年教师招聘之《幼儿教师招聘》测试卷附有答案详解带答案详解(新)
- 门控工程投标方案范本(3篇)
- 煤层气工程方案(3篇)
- 城市道路桥梁景观设计在绿色出行中的应用评估报告
- 茶楼联合投资协议书
- 劳动纪律管理培训
- 《胰高糖素样肽-1受体激动剂联合胰岛素治疗2型糖尿病专家共识(2025版)》解读课件
- 《绿色制造普及绿色生产课件教程》
- 回转窑工艺培训
- 2023年护理质控工作总结
- GB/T 22107-2025气动方向控制阀切换时间的测量
- 河北版初中《信息技术》第二册全册
- 汽车使用与维护 课件 项目二 汽车内部标识识别
- 2024-2025部编人教版2二年级上册语文全程测评试卷(全册10套)
- 2024年江苏大学辅导员考试真题
评论
0/150
提交评论