An empirical characterization of event sourced systems and their schema evolution — Lessons from industry

Michiel Overeem*, Marten Spoor, Slinger Jansen, Sjaak Brinkkemper

*Corresponding author for this work

    Research output: Contribution to journalArticleAcademicpeer-review

    Abstract

    Event sourced systems are increasing in popularity because they are reliable, flexible, and scalable. In this article, we point a microscope at a software architecture pattern that is rapidly gaining popularity in industry, but has not received as much attention from the scientific community. We do so through constructivist grounded theory, which proves a suitable qualitative method for extracting architectural knowledge from practitioners. Based on the discussion of 19 event sourced systems we explore the rationale for and the context of the event sourcing pattern. A description of the pattern itself and its relation to other patterns as discussed with practitioners is given. The description itself is grounded in the experience of 25 engineers, making it a reliable source for both new practitioners and scientists. We identify five challenges that practitioners experience: event system evolution, the steep learning curve, lack of available technology, rebuilding projections, and data privacy. For the first challenge of event system evolution, we uncover five tactics and solutions that support practitioners in their design choices when developing evolving event sourced systems: versioned events, weak schema, upcasting, in-place transformation, and copy-and-transform.

    Original languageEnglish
    Article number110970
    Number of pages16
    JournalJournal of Systems and Software
    Volume178
    DOIs
    Publication statusPublished - Aug 2021

    Bibliographical note

    Funding Information:
    This research was supported by the NWO AMUSE project ( 628.006.001 ): a collaboration between Vrije Universiteit Amsterdam, Utrecht University, and AFAS Software in the Netherlands.

    Publisher Copyright:
    © 2021 The Author(s)

    Funding

    This research was supported by the NWO AMUSE project ( 628.006.001 ): a collaboration between Vrije Universiteit Amsterdam, Utrecht University, and AFAS Software in the Netherlands.

    Keywords

    • CQRS
    • Event sourcing
    • Event-driven architecture
    • Grounded theory
    • Schema evolution
    • Software architecture patterns

    Fingerprint

    Dive into the research topics of 'An empirical characterization of event sourced systems and their schema evolution — Lessons from industry'. Together they form a unique fingerprint.

    Cite this