论文部分内容阅读
随着企业事务的复杂化,大量的应用程序采用领域模式(Domain Model)来进行软件开发。领域模式(Domain Model)包含了一组特定的对象集合,这些对象集合是对业务概念(事务流程或事务逻辑)的抽象,并对在其中运行的业务环境实现了模型化。这组与业务概念紧密联系的对象是设计基于Domain Model的应用程序的核心。由于这种业务对象所需要的存储时间经常会超出创建这些对象的应用程序的生存时间,如何对这些超出生存周期的对象进行存储就成为对象持久化技术亟待解决的问题。而另一方面,关系数据库做为集中存储各种数据的解决方案,对于这类业务对象本身无法进行直接的存储。在对象数据和关系数据之间,出现了无法进行有效关联的技术障碍。对于有关系数据而言,本身是一种平面的数据组织结构,而对象数据无论是在单个数据上还是类之间的继承、聚合关系都远比关系数据要复杂很多。这样,如何存储这样的业务对象,并进行对象关系数据的高效匹配,就催生了不同的解决方案。就目前,业界采用了多种不同的方法来实现对象持久化,各种方法在性能、接口、扩展性上有很大的差别。其中一种较为主要的应用,是利用SQL的硬编码技术来实现对象的持久性和对象关系的相互关联。这种方法无论从效率还是易用性上来看,都无法满足大型软件开发的需求。而另一种,则是通过对象关系中间件的形式来提供相应的服务。开源数据存储中间件Hibernate就是一种对象关系映射(O/R mapping)工具。但是,这样的工具由于缺乏标准性的支持,在兼容性上有着先天的不足。JDO(Java Data Object)-JSR12是由JCP标准委员会制定的对象关系存储标准。在这组标准的定义之下的数据存储中间件,可以将Java对象高效的映射到关系数据库中。并且,由于采访了国际统一的标准接口,JDO在兼容性和易用性上都有很大的优势。论文从分析JDO规范切入,以大型关系数据库LogicSQL为基础,讨论如何在LogicSQL数据库之上设计并实现一个符合JDO标准的数据存储中间件的对象关系映射引擎。并在文章的最后,给出简短的应用例程。