论文部分内容阅读
随着云计算技术在互联网公司中发展得越来越成熟,越来越被企业用户所接受,传统IT企业也逐渐开始进入这一领域之中。Data-as-a-Service(DaaS,数据即服务)就是在这一大背景之下,由IBM提出并在其私有云平台BlueMix中进行实现的一个云存储服务解决方案。本论文的成果是DaaS的一个核心服务,基于Java实现,为DaaS提供面向MySQL或MongoDB的REST(REpresentationalState Transfer,表征状态转移)风格数据访问API,用于进行数据模型、数据对象以及数据对象间引用的持久化操作。本论文的目标服务的Web架构及REST风格的实现基于Spring Web MVC,数据持久化操作基于Spring Data。服务从功能上分为三层:应用层处理REST请求并调用逻辑层模块;逻辑层包括处理数据模型的元数据管理和处理数据对象的访问适配器以及动态生成Java字节码的代码生成器;交互层包括SpringData所需的实体类和存储接口。这三层位于云数据库之上,为云数据库提供了一层不基于查询语言的面向对象访问抽象。本论文的成果主要提供了三方面的数据访问功能:用于数据的结构定义的数据模型操作,包括数据模型的定义、删除以及查询;用于数据本身持久化操作的数据对象操作,包括数据对象的创建、删除、修改、简单查询以及基于复杂查询条件的查询;用于数据对象间引用的数据对象引用操作,包括引用的添加、移除以及根据引用的数据对象查询。本论文的工作对准确性、可扩展性的要求较高。在准确性方面,要求对所有的输入都有恰当的响应;在可扩展性方面,大量采用了解耦合的设计模型,如工厂方法模式、策略模型等,因此服务中各模块相互独立,关联度低。本论文的工作,是IBM企业内部孵化项目的一部分。目前该项目已经孵化成功,并交由Mobile-Backend-as-a-Service(MBaaS)开发团队进一步开发,并最终形成发布版的产品。