Abstract
The main focus of this paper is the development of data-intensive systems. One of the key issues is maintaining consistency while being able to promptly process frequent data requests. The central premise is that CQRS (Command Query Responsibility Segregation) and Event sourcing concepts can be utilized for addressing these challenges. To ensure the development of a system that would be capable of executing the immense number of required operations, yet at the same time provide the desired reliability, a software architecture (combining CQRS, Event sourcing, and the Service Fabric) is proposed based on a real-life project. Furthermore, several modalities of the architecture are defined to be used in different scenarios, depending on the volume of data that is to be processed. The presented modalities of the described software architecture were then implemented as a part of the information system that supports the organization and grading of exams for an immense number of candidates. Consequently, a large volume of data is generated, and the proposed architecture has proven best suited for reporting purposes which will be described in this paper.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Young, G.: CQRS Documents by Greg Young. https://cqrs.files.wordpress.com/2010/11/cqrs_documents.pdf. Accessed 08 Apr 2022
Nlogn Team. Eventual Consistency and Strong Consistency. https://levelup.gitconnected.com/eventual-consistency-and-strong-consistency-d0b882133ca5. Accessed 08 Apr 2022
Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice Hall (2000)
Command Query Responsibility Segregation (CQRS) Pattern. https://www.ibm.com/cloud/architecture/architectures/event-driven-cqrs-pattern/. Accessed 15 Apr 2022
Zimarev, A.: Hands-on Domain-Driven Design with .NET Core: Tackling Complexity in the Heart of Software by Putting DDD Principles into Practice. Packt Publishing (2019)
Kleppmann, M.: Designing Data-Intensive Applications the Big Ideas Behind Reliable, Scalable, and Maintainable Systems. O’Reilly Media, Inc. (2017)
Event Sourcing Pattern – IBM Cloud Architecture Center. https://www.ibm.com/cloud/architecture/architectures/event-driven-event-sourcing-pattern. Accessed 22 Aug 2021
Zimarev, A.: Event Sourcing and CQRS. https://www.eventstore.com/blog/event-sourcing-and-cqrs. Accessed 16 Apr 2021
Reselman, B.: An Illustrated Guide to CQRS Data Patterns. https://www.redhat.com/architect/illustrated-cqrs. Accessed 22 Aug 2021
Stopford, B.: Designing Event-Driven Systems. O’Reilly Media, Inc. (2018)
Bai, H.: Programming Microsoft Azure Service Fabric, 2nd edn. Pearson Education, Inc. (2018)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 Springer Nature Switzerland AG
About this paper
Cite this paper
Jejić, O., Škembarević, M., Babarogić, S. (2022). Defining Software Architecture Modalities Based on Event Sourcing Architecture Pattern. In: Chiusano, S., et al. New Trends in Database and Information Systems. ADBIS 2022. Communications in Computer and Information Science, vol 1652. Springer, Cham. https://doi.org/10.1007/978-3-031-15743-1_41
Download citation
DOI: https://doi.org/10.1007/978-3-031-15743-1_41
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-15742-4
Online ISBN: 978-3-031-15743-1
eBook Packages: Computer ScienceComputer Science (R0)