首页> 外文OA文献 >Transactions and schema evolution in a persistent object-oriented programming system
【2h】

Transactions and schema evolution in a persistent object-oriented programming system

机译:持久性面向对象编程系统中的事务和模式演化

代理获取
本网站仅为用户提供外文OA文献查询和代理获取服务,本网站没有原文。下单后我们将采用程序或人工为您竭诚获取高质量的原文,但由于OA文献来源多样且变更频繁,仍可能出现获取不到、文献不完整或与标题不符等情况,如果获取不到我们将提供退款服务。请知悉。

摘要

Applications are subject of a continuous evolution process with a profound impact on their underlining data model, hence requiring frequent updates in the applications' class structure and database structure as well.This twofold problem, schema evolution and instance adaptation, usually known as database evolution, is addressed in this thesis. Additionally, we address concurrency and error recovery problems with a novel meta-model and its aspect-oriented implementation.Modern object-oriented databases provide features that help programmers deal with object persistence, as well as all related problems such as database evolution, concurrency and error handling.In most systems there are transparent mechanisms to address these problems, nonetheless the database evolution problem still requires some human intervention, which consumes much of programmers' and database administrators' work effort.Earlier research works have demonstrated that aspect-oriented programming (AOP) techniques enable the development of flexible and pluggable systems.In these earlier works, the schema evolution and the instance adaptation problems were addressed as database management concerns.However, none of this research was focused on orthogonal persistent systems.We argue that AOP techniques are well suited to address these problems in orthogonal persistent systems.Regarding the concurrency and error recovery, earlier research showed that only syntactic obliviousness between the base program and aspects is possible.Our meta-model and framework follow an aspect-oriented approach focused on the object-oriented orthogonal persistent context.The proposed meta-model is characterized by its simplicity in order to achieve efficient and transparent database evolution mechanisms.Our meta-model supports multiple versions of a class structure by applying a class versioning strategy.Thus, enabling bidirectional application compatibility among versions of each class structure.That is to say, the database structure can be updated because earlier applications continue to work, as well as later applications that have only known the updated class structure.The specific characteristics of orthogonal persistent systems, as well as a metadata enrichment strategy within the application's source code, complete the inception of the meta-model and have motivated our research work.To test the feasibility of the approach, a prototype was developed.Our prototype is a framework that mediates the interaction between applications and the database, providing them with orthogonal persistence mechanisms.These mechanisms are introduced into applications as an {it aspect} in the aspect-oriented sense.Objects do not require the extension of any super class, the implementation of an interface nor contain a particular annotation.Parametric type classes are also correctly handled by our framework.However, classes that belong to the programming environment must not be handled as versionable due to restrictions imposed by the Java Virtual Machine.Regarding concurrency support, the framework provides the applications with a multithreaded environment which supports database transactions and error recovery.The framework keeps applications oblivious to the database evolution problem, as well as persistence.Programmers can update the applications' class structure because the framework will produce a new version for it at the database metadata layer.Using our XML based pointcut/advice constructs, the framework's instance adaptation mechanism is extended, hence keeping the framework also oblivious to this problem.The potential developing gains provided by the prototype were benchmarked.In our case study, the results confirm that mechanisms' transparency has positive repercussions on the programmer's productivity, simplifying the entire evolution process at application and database levels.The meta-model itself also was benchmarked in terms of complexity and agility.Compared with other meta-models, it requires less meta-object modifications in each schema evolution step.Other types of tests were carried out in order to validate prototype and meta-model robustness.In order to perform these tests, we used an OO7 small size database due to its data model complexity.Since the developed prototype offers some features that were not observed in other known systems, performance benchmarks were not possible.However, the developed benchmark is now available to perform future performance comparisons with equivalent systems.In order to test our approach in a real world scenario, we developed a proof-of-concept application.This application was developed without any persistence mechanisms.Using our framework and minor changes applied to the application's source code, we added these mechanisms.Furthermore, we tested the application in a schema evolution scenario.This real world experience using our framework showed that applications remains oblivious to persistence and database evolution.In this case study, our framework proved to be a useful tool for programmers and database administrators.Performance issues and the single Java Virtual Machine concurrent model are the major limitations found in the framework.
机译:应用程序是一个不断发展的过程,对其底层数据模型产生了深远的影响,因此也需要频繁更新应用程序的类结构和数据库结构。这是双重问题,即模式演化和实例适配,通常称为数据库演化,本文解决了这个问题。此外,我们还通过新颖的元模型及其面向方面的实现解决了并发和错误恢复问题。现代的面向对象数据库提供的功能可帮助程序员处理对象持久性以及所有相关问题,例如数据库演化,并发和错误处理。在大多数系统中,有透明的机制来解决这些问题,尽管如此,数据库演化问题仍然需要人工干预,这消耗了程序员和数据库管理员的大量工作。早期的研究工作表明,面向方面的编程( AOP)技术可实现灵活的可插拔系统的开发。在这些较早的工作中,模式演变和实例适应性问题已被解决为数据库管理方面的问题,然而,这些研究都没有集中在正交持久性系统上。非常适合以正交的方式解决这些问题关于并发和错误恢复,早期的研究表明,基本程序和方面之间只有句法遗忘是可能的。我们的元模型和框架遵循面向方面的方法,着重于面向对象的正交持久性上下文。元模型的特点是其简单性,以实现高效且透明的数据库演化机制。我们的元模型通过应用类版本控制策略支持类结构的多个版本,从而实现每个类结构的版本之间的双向应用程序兼容性。也就是说,可以更新数据库结构,因为早期的应用程序可以继续工作,以及仅知道更新后的类结构的后来的应用程序。正交持久性系统的特定特征以及应用程序内部的元数据丰富策略源代码,完成元模型的创建并进行激发了我们的研究工作。为测试该方法的可行性,开发了一个原型。我们的原型是一个框架,用于协调应用程序和数据库之间的交互,并为它们提供正交的持久性机制。这些机制作为{对象方面不需要扩展任何超类,也不需要接口的实现,也无需包含特定的注释。参数类型类也可以由我们的框架正确处理。由于Java虚拟机施加的限制,不得将编程环境视为可版本化。就并发支持而言,该框架为应用程序提供了一个多线程环境,该环境支持数据库事务和错误恢复。该框架使应用程序不必理会数据库演化问题,以及持久性。程序员可以更新应用程序的类str因为该框架将在数据库元数据层为其生成一个新版本。使用基于XML的切入点/建议构造,该框架的实例适应机制得到了扩展,因此使该框架也无须理会此问题。在我们的案例研究中,结果证实了机制的透明性对程序员的生产率产生了积极影响,简化了应用程序和数据库级别的整个演化过程。与其他元模型相比,在每个模式演化步骤中需要较少的元对象修改。进行了其他类型的测试以验证原型和元模型的鲁棒性。为了执行这些测试,我们使用了OO7小型数据库由于其数据模型的复杂性。由于开发的原型提供了一些其他方面未发现的功能在已知的系统中,性能基准是不可能的,但是现在可以使用已开发的基准与等效系统进行未来的性能比较。为了在现实世界中测试我们的方法,我们开发了概念验证应用程序。应用程序的开发没有任何持久性机制。使用我们的框架和对应用程序源代码进行的较小更改,我们添加了这些机制。我们在架构演化方案中测试了应用程序。使用我们的框架的实际经验表明,应用程序仍然没有考虑持久性和数据库演化。在本案例研究中,我们的框架被证明是对程序员和数据库管理员有用的工具。和单个Java虚拟机并发模型是该框架中的主要限制。

著录项

  • 作者

    Pereira Rui Humberto;

  • 作者单位
  • 年度 2015
  • 总页数
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类

相似文献

  • 外文文献
  • 中文文献
  • 专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号