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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Subquery to exclude topics, is correct with OR in contrast to our intuition, due to Scopus query builder.
References
Cloud computing. https://en.wikipedia.org/wiki/Cloud_computing#2010s. Accessed 20 Dec 2021
Common Object Request Broker Architecture (CORBA). https://www.omg.org/corba/. Accessed 23 Dec 2021
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
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
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
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
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
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
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
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
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
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
Dahan, U.: Clarified CQRS (2009). https://udidahan.com/2009/12/0/
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
Evans, E.: Domain-Driven Design. Addison-Wesley (2004)
Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley (2003)
Fowler, M.: Event Sourcing (2005). https://martinfowler.com/eaaDev/EventSourcing.html
Fowler, M.: CQRS (2011). https://www.martinfowler.com/bliki/CQRS.html
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
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
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)
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
Hohpe, G., Woolf, B.: Enterprise Integration Patterns. Addison-Wesley (2004)
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
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
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
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
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)
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
Snyder, M., O’Connor, T.: Object-relational mapping in java with SimpleORM. Dr. Dobb’s J. 30(12), 34–36 (2005)
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
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
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
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
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
Vernon, V.: Implementing Domain-Driven Design. Addison-Wesley (2013)
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
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
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)
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
Young, G.: CQRS documents (2010). https://cqrs.files.wordpress.com/2010/11/cqrs_documents.pdf
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
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)