Object-relational Mapping Revised - A Guideline Review and Consolidation

Martin Lorenz, Günter Hesse, Jan-Peer Rudolph

Abstract

Object-relational mapping (ORM) is a mechanism to link classes of an object-oriented (OO) programming language to tables of a relational database management system (RDBMS). When designing a mapping for an application’s domain model, different strategies exist to map associations and inheritance relationships to database tables. Each strategy has a different impact on the application’s quality characteristics. Developers need to understand the impact of a mapping strategy to make informed decisions. In the absence of cost models to quantify the impact, guidelines and best practices have been developed to allow differentiated considerations of strategies. However, looking closer at these guidelines, two major flaws become apparent - incompleteness and inconsistency. In this paper, a comprehensive literature study is presented, which includes an analysis of guidelines and best practices from industry and academia. We propose a consolidation approach, which identifies relevant aspects of mapping strategies that impact a system’s quality characteristics. The approach derives a multi-level organization, which describes the relation between mapping strategy aspects and quality characteristics of a system. The identified mapping aspects and the organization can serve as a framework to improve existing guidelines and to resolve inconsistencies.

References

  1. (2001). Iso/iec 9126-1:2001 software engineering - product quality - part 1: Quality model.
  2. (2010). Iso/iec 25010:2011 systems and software engineering - systems and software quality requirements and evaluation (square) - system and software quality models.
  3. (2011). Iso/iec 9075:2011 information technology - database languages - sql.
  4. Ambler, S. (2003). Agile Database Techniques: Effective Strategies for the Agile Software Developer, chapter 14 - Mapping Objects to Relational Databases, pages 231-244. John Wiley & Sons, Inc., New York, NY, USA.
  5. Apache Software Foundation (2012). Torque inheritance guide. [Accessed: June 22, 2015].
  6. Apache Software Foundation (2013). Apache openjpa 1.2 user's guide. [Accessed: June 22, 2015].
  7. Doctrine Team (2015). Doctrine 2 orm 2 documentation. [Accessed: June 22, 2015].
  8. Fowler, M. (2002). Patterns of Enterprise Application Architecture. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.
  9. Holder, S., Buchan, J., and MacDonell, S. G. (2008). Towards a metrics suite for object-relational mappings. In Proc. of the 1st Int. Workshop on Model-Based Software and Data Integration (MBSDI), pages 43-54, Berlin, Germany.
  10. Keller, A. M., Jensen, R., and Agarwal, S. (1993). Persistence software: Bridging object-oriented programming and relational databases. In Proc. of the ACM SIGMOD Int. Conf. on Management of Data, pages 523-528, New York, NY, USA.
  11. Keller, W. (1997). Mapping objects to tables - a pattern language. In Proc. of the European Conf. on Pattern Languages of Programming Conf. (EuroPLOP), Berlin, Germany.
  12. Kitchenham, B. and Charters, S. (2007). Guidelines for performing systematic literature reviews in software engineering. Technical Report EBSE 2007-001, Keele University and Durham University Joint Report.
  13. Philippi, S. (2005). Model driven generation and testing of object-relational mappings. J. Syst. Softw., 77:193- 207.
  14. Propel Community (2015). Propel documentation. [Accessed: June 22, 2015].
Download


Paper Citation


in Harvard Style

Lorenz M., Hesse G. and Rudolph J. (2016). Object-relational Mapping Revised - A Guideline Review and Consolidation . In Proceedings of the 11th International Joint Conference on Software Technologies - Volume 1: ICSOFT-EA, (ICSOFT 2016) ISBN 978-989-758-194-6, pages 157-168. DOI: 10.5220/0005974201570168


in Bibtex Style

@conference{icsoft-ea16,
author={Martin Lorenz and Günter Hesse and Jan-Peer Rudolph},
title={Object-relational Mapping Revised - A Guideline Review and Consolidation},
booktitle={Proceedings of the 11th International Joint Conference on Software Technologies - Volume 1: ICSOFT-EA, (ICSOFT 2016)},
year={2016},
pages={157-168},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005974201570168},
isbn={978-989-758-194-6},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 11th International Joint Conference on Software Technologies - Volume 1: ICSOFT-EA, (ICSOFT 2016)
TI - Object-relational Mapping Revised - A Guideline Review and Consolidation
SN - 978-989-758-194-6
AU - Lorenz M.
AU - Hesse G.
AU - Rudolph J.
PY - 2016
SP - 157
EP - 168
DO - 10.5220/0005974201570168