论文部分内容阅读
在Web2.0发展近10年的互联网中, mashup应用随处可见。但基于RIA浏览器技术的客户端mashup应用仍存在一些不足:浏览器的安全沙箱机制和同源策略,使得客户端mashup应用在数据融合和安全性等方面有局限性;大量复杂、多层次的JavaScript代码使浏览器下载、解析、渲染、运行速度相对较慢,对性能造成较大影响等。当前mashup服务提供商提供资源的方式主要是OpenAPI,但OpenAPI的请求协议和OpenAPI交互的数据格式各种各样,而且有些资源还需经过授权。这些都给开发人员开发mashup应用增加了很大的复杂性。目前很少有服务端mashup开发工具,大多都是客户端mashup的开发工具。少数支持服务端mashup开发工具有的仅支持一部分开放平台,有的是企业级重量级不适合中小应用开发。本文设计并实现一种轻量级服务端mashup框架。框架包含自动生成轻量级封装各开放平台OpenAPI的数据访问组件的代码生成器和实现访问OpenAPI数据机制的组件库。本文通过对服务端mashup应用原理和特征等各方面的分析研究,建立了服务端mashup的OpenAPI数据访问框架:包括提供上下文环境和封装整个访问流程的Session组件,代理远程资源服务器的代理组件,绑定返回数据绑定到数据类的解析器组件,缓存组件,授权组件,访问参数类,资源数据类。框架中的自动代码生成器是基于模板技术实现的:输入开放平台信息和OpenAPI描述信息,经过请求参数类识别和数据类的识别过程后,生成参数类、数据类和数据访问门面类等组件的元数据,最后再经过FreeMarker将元数据嵌入到模板文件中生成类文件。本框架中解析器组件对获得的外部资源进行的数据绑定不同于传统数据绑定,而是针对一组相关XML的数据绑定。对此本文提出的方法是:先抽取这一组XML数据文件的XML模式树图,然后将模式树图的每个节点表示成向量空间中的向量后利用其相似度和距离识别该模式节点对应的预定义的模式节点类型,再按模式节点类型到类的映射规则得到数据类,最后根据这个映射规则就可以将XML数据绑定到类对象实例上。该方法应用于自动代码生成器中的数据类识别过程和数据访问中绑定解析器组件的实现与其他mashup工具相比,本文提出的mashup框架是面向服务端mashup,避免了客户端mashup的各种局限;框架使用自动代码生成技术,可以根据用户输入自动生成访问组件类帮助开发应用,适用于大多数开放平台;框架中使用的数据绑定可以避免使用传统数据绑定的生成数据类冗余和生成类系统庞大等问题;框架中的用于访问OpenAPI组件库便于开发者获得外部资源;框架增加缓存功能,避免短时间内重复访问相同的资源,加快数据响应速度提高运行性能;框架的实现是基于接口设计并结合设计模式,具有很好的可扩展性。