Abstract

The Adaptive Object Model (AOM) is an architectural style in which domain entity types are represented as instances that can be changed at runtime. It can be used to achieve higher flexibility in domain classes. Due to AOM entities having a distinct structure, they are not compatible with most popular frameworks, especially those that use reflection and code annotations. To solve such limitations, this study aims to propose a model that enables the reuse of frameworks designed for classic object-oriented domain models in an AOM application. The proposed model uses dynamically-generated adapters for AOM entities that encapsulate them in a class with the format expected by the frameworks. A reference implementation was developed in the Esfinge AOM RoleMapper framework to evaluate the viability of the proposed model. Initially, to evaluate the solution feasibility, a case study was carried out using the Hibernate framework. Further, an experiment was conducted to assess how the participants perceived the framework functionality reuse through the proposed model. The feasibility study revealed that the solution could be applied in a complex setting for the chosen object-relational mapping frame. It raised some difficulties that can be addressed in future studies. In the experiment, the development time did not present a significant difference compared to the competing approach. Despite the considerable learning curve, most participants considered that the proposed approach has more advantages than the alternative. Based on the evaluations, we can conclude that the proposed model can be successfully employed to use AOM entities with frameworks that were not designed for AOM applications. The possibility of reusing existing frameworks can reduce the effort required to adopt an AOM architecture and, consequently, be a facilitator in implementing more flexible and adaptive approaches.

Highlights

  • Adaptive Object Models (AOM) can be considered an architectural style for creating flexible applications [1]

  • Since the experiment goal is to evaluate the reuse of existing metadata-based framework and it does not intend to evaluate the usage of the AOM structure, we considered that more complex entities could bring undesired interference to the results

  • Considering that the tasks required the usage of 7 different mapped framework annotations, and this value is between the percentiles frequent and less frequent, we argue that the task complexity suitably represents a realistic scenario in terms of the amount of metadata that would be necessary in a real system

Read more

Summary

Introduction

Adaptive Object Models (AOM) can be considered an architectural style for creating flexible applications [1]. Based on design patterns, such as Type Object, Properties, and Type Square, AOMs represent types as instances that can be manipulated at runtime. Adaptive Object Model is an architectural style for systems in which classes, attributes, relationships, and behaviors are represented as metadata consumed at runtime [1]. The same code can process different entities unknown at compile time This architecture enables systems to be flexible and adaptable at runtime, by programmers and by business analysts and end-users. The AOM structure is created based on patterns, such as Type Object, Property, Type Square, Accountability.

Objectives
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call