Skip to main content

Object Relational Mapping Vs. Event-Sourcing: Systematic Review

  • Conference paper
  • First Online:
Electronic Government and the Information Systems Perspective (EGOVIS 2022)

Abstract

Storing information in a software system is challenging, especially in the cloud computing era. Traditional, battle-tested methods, like Object Relational Mapping, seem inappropriate for all cases, but other alternatives feel too complicated to implement. Moreover, new software design methodologies, like Domain-Driven Design, provide alternative modeling tools for software systems, which in contrast to Object-Oriented Design, focus more on Domain-Events and their processing. Additionally, there is an increasing interest in causality when implementing software systems, mainly as a matter of accountability, tracing, and other similar properties, especially in the context of e-Government, in order to support transparency. We are now interested in a system’s state history and its current state, and that is no longer the exception. Therefore, this paper focuses on Object Relational Mapping and Event-Sourcing trends for the past years as two alternatives for storing applications data through a systematic literature review. We evaluate how these two alternatives have evolved over the years under the prism of academic literature and discuss our findings, according to modern application development requirements.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    Subquery to exclude topics, is correct with OR in contrast to our intuition, due to Scopus query builder.

References

  1. Cloud computing. https://en.wikipedia.org/wiki/Cloud_computing#2010s. Accessed 20 Dec 2021

  2. Common Object Request Broker Architecture (CORBA). https://www.omg.org/corba/. Accessed 23 Dec 2021

  3. Aleksy, M., Köblitz, L., Schader, M.: Management of event domains-the mediator-approach. In: Proceedings of the International Conference on Parallel and Distributed Systems-ICPADS. vol. 2, pp. 438–442 (2005). https://doi.org/10.1109/ICPADS.2005.182

  4. Bacon, J., Eyers, D., Singh, J., Shand, B., Migliavacca, M., Pietzuch, P.: Security in multi-domain event-based systems [sicherheit in ereignis-basierten mehrdománensystemen]. IT-Inf. Technol. 51(5), 277–284 (2009). https://doi.org/10.1524/itit.2009.0552

    Article  Google Scholar 

  5. Bagheri, H., Tang, C., Sullivan, K.: Automated synthesis and dynamic analysis of tradeoff spaces for object-relational mapping. IEEE Trans. Softw. Eng. 43(2), 145–163 (2017). https://doi.org/10.1109/TSE.2016.2587646

    Article  Google Scholar 

  6. Baldoni, R., Querzoni, L., Scipioni, S.: Event-based data dissemination on inter-administrative domains: is it viable? In: Proceedings of the IEEE Computer Society Workshop on Future Trends of Distributed Computing Systems, pp. 44–50 (2008). https://doi.org/10.1109/FTDCS.2008.14

  7. Bernstein, P., Jacob, M., Pérez, J., Rull, G., Terwilliger, J.: Incremental mapping compilation in an object-to-relational mapping system. In: Proceedings of the ACM SIGMOD International Conference on Management of Data, pp. 1269–1280 (2013). https://doi.org/10.1145/2463676.2465294

  8. Braun, S., Bieniusa, A., Elberzhager, F.: Advanced domain-driven design for consistency in distributed data-intensive systems. In: Proceedings of the 8th Workshop on Principles and Practice of Consistency for Distributed Data, PaPoC 2021 (2021). https://doi.org/10.1145/3447865.3457969

  9. Castellano, M., Pastore, N., Arcieri, F., Summo, V., de Grecis, G.: An e-government cooperative framework for government agencies. In: Proceedings of the 38th Annual Hawaii International Conference on System Sciences. IEEE (2005). https://doi.org/10.1109/hicss.2005.82

  10. Chen, T.H., Shang, W., Jiang, Z., Hassan, A., Nasser, M., Flora, P.: Detecting performance anti-patterns for applications developed using object-relational mapping. In: Proceedings-International Conference on Software Engineering, pp. 1001–1012 (2014). https://doi.org/10.1145/2568225.2568259

  11. Chen, T.H., Shang, W., Jiang, Z., Hassan, A., Nasser, M., Flora, P.: Finding and evaluating the performance impact of redundant data access for applications that are developed using object-relational mapping frameworks. IEEE Trans. Softw. Eng. 42(12), 1148–1161 (2016). https://doi.org/10.1109/TSE.2016.2553039

    Article  Google Scholar 

  12. Colley, D., Stanier, C., Asaduzzaman, M.: Investigating the effects of object-relational impedance mismatch on the efficiency of object-relational mapping frameworks. J. Database Manag. 31(4), 1–23 (2020). https://doi.org/10.4018/JDM.2020100101

    Article  Google Scholar 

  13. Dahan, U.: Clarified CQRS (2009). https://udidahan.com/2009/12/0/

  14. Erb, B., Habiger, G., Hauck, F.: On the potential of event sourcing for retroactive actor-based programming. In: ACM International Conference Proceeding Series, vol. 17-July-2016 (2016). https://doi.org/10.1145/2957319.2957378

  15. Evans, E.: Domain-Driven Design. Addison-Wesley (2004)

    Google Scholar 

  16. Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley (2003)

    Google Scholar 

  17. Fowler, M.: Event Sourcing (2005). https://martinfowler.com/eaaDev/EventSourcing.html

  18. Fowler, M.: CQRS (2011). https://www.martinfowler.com/bliki/CQRS.html

  19. Gawarkiewicz, M., Wisńiewski, P., Stencel, K.: Enhanced segment trees in object-relational mapping. In: ACM International Conference Proceeding Series, pp. 122–128 (2013). https://doi.org/10.1145/2490257.2490291

  20. Ghandeharizadeh, S., Mutha, A.: An evaluation of the hibernate object-relational mapping for processing interactive social networking actions. In: ACM International Conference Proceeding Series, vol. 04–06-December-2014, pp. 64–70 (2014). https://doi.org/10.1145/2684200.2684285

  21. Götz, S., Kühn, T.: Models@run.time for object-relational mapping supporting schema evolution. In: CEUR Workshop Proceedings, vol. 1474, pp. 41–50 (2015)

    Google Scholar 

  22. Haddaway, N.R., McGuinness, L.A., Pritchard, C.C.: PRISMA2020: R package and ShinyApp for producing PRISMA 2020 compliant flow diagrams (2021). https://doi.org/10.5281/ZENODO.5082518

  23. Hohpe, G., Woolf, B.: Enterprise Integration Patterns. Addison-Wesley (2004)

    Google Scholar 

  24. Ismailova, L., Kosikov, S.: Metamodel of transformations of concepts to support the object-relational mapping. In: Procedia Computer Science, vol. 145, pp. 260–265 (2018). https://doi.org/10.1016/j.procs.2018.11.055

  25. Kabbedijk, J., Jansen, S., Brinkkemper, S.: A case study of the variability consequences of the CQRS pattern in online business software. In: ACM International Conference Proceeding Series (2012). https://doi.org/10.1145/2602928.2603078

  26. Kalloniatis, C., Mouratidis, H., Vassilis, M., Islam, S., Gritzalis, S., Kavakli, E.: Towards the design of secure and privacy-oriented information systems in the cloud: identifying the major concepts. Comput. Stan. Interfaces 36(4), 759–775 (2014). https://doi.org/10.1016/j.csi.2013.12.010

    Article  Google Scholar 

  27. Kowark, T., Hirschfeld, R., Haupt, M.: Object-relational mapping with SqueakSave. In: Proceedings of the International Workshop on Smalltalk Technologies 2009, IWST 2009-ESUG 2009 Smalltalk Joint Event, pp. 87–100 (2009). https://doi.org/10.1145/1735935.1735951

  28. Kumar, S., Rishi, R.: A relative analysis of modern temporal data models. In: 2016 3rd International Conference on Computing for Sustainable Global Development (INDIACom), pp. 2851–2855 (2016)

    Google Scholar 

  29. Landre, E., Wesenberg, H., Ølmheim, J.: Agile enterprise software development using domain-driven design and test first. In: Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA, pp. 983–993 (2007). https://doi.org/10.1145/1297846.1297967

  30. Lima, S., Correia, J., Araujo, F., Cardoso, J.: Improving observability in event sourcing systems. J. Syst. Softw. 181, 111015 (2021). https://doi.org/10.1016/j.jss.2021.111015

    Article  Google Scholar 

  31. Lodhi, F., Ghazali, M.: Design of a simple and effective object-to-relational mapping technique. In: Proceedings of the ACM Symposium on Applied Computing, pp. 1445–1449 (2007). https://doi.org/10.1145/1244002.1244312

  32. Lorenz, M., Hesse, G., Rudolph, J.P.: Object-relational mapping revised-a guideline review and consolidation. In: ICSOFT 2016-Proceedings of the 11th International Joint Conference on Software Technologies, vol. 1, pp. 157–168 (2016). https://doi.org/10.5220/0005974201570168

  33. Maddodi, G., Jansen, S.: Responsive software architecture patterns for workload variations: a case-study in a CQRS-based enterprise application. In: CEUR Workshop Proceedings, vol. 2047, p. 30 (2017)

    Google Scholar 

  34. Maddodi, G., Jansen, S., Overeem, M.: Aggregate architecture simulation in event-sourcing applications using layered queuing networks. In: ICPE 2020-Proceedings of the ACM/SPEC International Conference on Performance Engineering, pp. 238–245 (2020). https://doi.org/10.1145/3358960.3375797

  35. Murakami, T., Amagasa, T., Kitagawa, H.: Dbpowder: a flexible object-relational mapping framework based on a conceptual model. In: Proceedings-International Computer Software and Applications Conference, pp. 589–598 (2013). https://doi.org/10.1109/COMPSAC.2013.93

  36. Nazário, M., Guerra, E., Bonifácio, R., Pinto, G.: Detecting and reporting object-relational mapping problems: an industrial report. In: International Symposium on Empirical Software Engineering and Measurement, vol. 2019-Septemer (2019). https://doi.org/10.1109/ESEM.2019.8870163

  37. O’Neil, E.: Object/relational mapping 2008: Hibernate and the entity data model (edm). In: Proceedings of the ACM SIGMOD International Conference on Management of Data, pp. 1351–1356 (2008). https://doi.org/10.1145/1376616.1376773

  38. Oumkaltoum, B., Idrissi, M.E., Benany, M.M.E., Omar, E.B.: Business intelligence and EDA based architecture for interoperability of e-government data services. In: 2019 IEEE International Smart Cities Conference (ISC2). IEEE (2019). https://doi.org/10.1109/isc246665.2019.9071769

  39. Overeem, M., Spoor, M., Jansen, S.: The dark side of event sourcing: managing data conversion. In: SANER 2017–24th IEEE International Conference on Software Analysis, Evolution, and Reengineering, pp. 193–204 (2017). https://doi.org/10.1109/SANER.2017.7884621

  40. Page, M.J., et al.: The PRISMA 2020 statement: an updated guideline for reporting systematic reviews. BMJ 372, n71 (2021). https://doi.org/10.1136/bmj.n71

    Article  Google Scholar 

  41. Pesonen, L., Bacon, J.: Secure event types in content-based, multi-domain publish/subscribe systems. In: SEM 2005-Proceedings of the 5th International Workshop on Software Engineering and Middleware, pp. 98–105 (2005). https://doi.org/10.1145/1108473.1108495

  42. Philippi, S.: Model driven generation and testing of object-relational mappings. J. Syst. Softw. 77(2), 193–207 (2005). https://doi.org/10.1016/j.jss.2004.07.252

    Article  Google Scholar 

  43. Pohjalainen, P., Taina, J.: Self-configuring object-to-relational mapping queries. In: Principles and Practice of Programming in Java-Proceedings of the 6th International Conference, PPPJ 2008, pp. 53–59 (2008). https://doi.org/10.1145/1411732.1411740

  44. Poo, D., Lee, S.Y.: Domain object identification through events and functions. Inf. Softw. Technol. 37(11), 609–621 (1995). https://doi.org/10.1016/0950-5849(95)98298-T

    Article  Google Scholar 

  45. Rajković, P., Janković, D., Milenković, A.: Using CQRS pattern for improving performances in medical information systems. In: CEUR Workshop Proceedings, vol. 1036, pp. 86–91 (2013)

    Google Scholar 

  46. Singh, R., Bezemer, C.P., Shang, W., Hassan, A.: Optimizing the performance-related configurations of object-relational mapping frameworks using a multi-objective genetic algorithm. In: ICPE 2016-Proceedings of the 7th ACM/SPEC International Conference on Performance Engineering, pp. 309–320 (2016). https://doi.org/10.1145/2851553.2851576

  47. Smith, K.E., Zdonik, S.B.: Intermedia: a case study of the differences between relational and object-oriented database systems. ACM SIGPLAN Not. 22(12), 452–465 (1987). https://doi.org/10.1145/38807.38849

    Article  Google Scholar 

  48. Snyder, M., O’Connor, T.: Object-relational mapping in java with SimpleORM. Dr. Dobb’s J. 30(12), 34–36 (2005)

    Google Scholar 

  49. Sotiropoulos, T., Chaliasos, S., Atlidakis, V., Mitropoulos, D., Spinellis, D.: Data-oriented differential testing of object-relational mapping systems. In: Proceedings-International Conference on Software Engineering, pp. 1535–1547 (2021). https://doi.org/10.1109/ICSE43902.2021.00137

  50. Torres, A., Galante, R., Pimenta, M.: ENORM: an essential notation for object-relational mapping. SIGMOD Rec. 43(2), 23–28 (2014). https://doi.org/10.1145/2694413.2694418

    Article  Google Scholar 

  51. Torres, A., Galante, R., Pimenta, M.: Towards a uml profile for model-driven object-relational mapping. In: SBES 2009–23rd Brazilian Symposium on Software Engineering, pp. 94–103 (2009). https://doi.org/10.1109/SBES.2009.22

  52. Torres, A., Galante, R., Pimenta, M., Martins, A.: Twenty years of object-relational mapping: a survey on patterns, solutions, and their implications on application design. Inf. Softw. Technol. 82, 1–18 (2017). https://doi.org/10.1016/j.infsof.2016.09.009

    Article  Google Scholar 

  53. Van Zyl, P., Kourie, D., Coetzee, L., Boake, A.: The influence of optimisations on the performance of an object relational mapping tool. In: ACM International Conference Proceeding Series, pp. 150–159 (2009). https://doi.org/10.1145/1632149.1632169

  54. Vernon, V.: Implementing Domain-Driven Design. Addison-Wesley (2013)

    Google Scholar 

  55. Vial, G.: Lessons in persisting object data using object-relational mapping. IEEE Softw. 36(6), 43–52 (2019). https://doi.org/10.1109/MS.2018.227105428

    Article  Google Scholar 

  56. Walek, B., Bartos̆ J., Klimes̆ C.: Fuzzy tool for reasoning in object relational mapping of information system. In: 2012 35th International Conference on Telecommunications and Signal Processing, TSP 2012-Proceedings, pp. 81–85 (2012). https://doi.org/10.1109/TSP.2012.6256257

  57. Wellhausen, T.: Object prefetch filter, a pattern for improving the performance of object retrieval of object-relational mapping tools. In: EuroPLoP 2007–12th European Conference on Pattern Languages of Programs, pp. 527–536 (2007)

    Google Scholar 

  58. Xia, C., Yu, G., Tang, M.: Efficient implement of orm (object/relational mapping) use in j2ee framework: hibernate. In: Proceedings-2009 International Conference on Computational Intelligence and Software Engineering, CiSE 2009 (2009). https://doi.org/10.1109/CISE.2009.5365905

  59. Young, G.: CQRS documents (2010). https://cqrs.files.wordpress.com/2010/11/cqrs_documents.pdf

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Pantelelis Michail .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Michail, P., Christos, K. (2022). Object Relational Mapping Vs. Event-Sourcing: Systematic Review. In: KÅ‘, A., Francesconi, E., Kotsis, G., Tjoa, A.M., Khalil, I. (eds) Electronic Government and the Information Systems Perspective. EGOVIS 2022. Lecture Notes in Computer Science, vol 13429. Springer, Cham. https://doi.org/10.1007/978-3-031-12673-4_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-12673-4_2

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-12672-7

  • Online ISBN: 978-3-031-12673-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics