透明持久化与Java数据对象

摘要:灵活高性能的持久化服务是任何HEP软件框架的必要组件。构建一个模块化、非侵入性和高性能的持久化组件已被证明是一项非常困难的任务。过去,为了达到可接受的性能,往往需要牺牲模块化。这导致整个框架对其持久化子系统的强依赖。 最近的软件技术发展使得可以构建一个能够从其他框架中透明使用的持久化服务。这种服务不会对整个框架架构施加强烈的约束,同时满足高性能要求。已经为几乎所有主要数据库实现了Java数据对象标准(JDO)。它为任何Java对象(包括内部和外部对象)提供真正透明的持久化。通过透明代理可以处理其他语言的对象。作为使用的数据库的上层薄层,JDO不会引入任何重大的性能降低。此外,面向方面的编程(AOP)使得可以将持久化视为应用框架的正交方面,而不会使其受到与持久化相关的概念的污染。 所有这些技术主要(或仅)针对Java环境进行了开发。然而,可以透明地将它们与使用其他语言(如C++)构建的框架进行接口化。 为几个其他软件包构建了灵活且非侵入性的持久化模块的完全功能原型,例如FreeHEP AIDA和LCG Pool AttributeSet(Indicium软件包)。

作者:Julius Hrivnac

论文ID:cs/0306013

分类:Databases

分类简称:cs.DB

提交时间:2007-05-23

PDF 下载: 英文版 中文版pdf翻译中