当前位置: X-MOL 学术J. Syst. Softw. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
An empirical characterization of event sourced systems and their schema evolution — Lessons from industry
Journal of Systems and Software ( IF 3.5 ) Pub Date : 2021-04-09 , DOI: 10.1016/j.jss.2021.110970
Michiel Overeem , Marten Spoor , Slinger Jansen , Sjaak Brinkkemper

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.



中文翻译:

事件源系统及其模式演变的经验表征-行业经验教训

由于事件源系统可靠,灵活且可扩展,因此越来越受欢迎。在本文中,我们将显微镜指向一种软件体系结构模式,该模式在行业中迅速流行,但并未引起科学界的广泛关注。我们通过建构主义扎根的理论来做到这一点,这证明了从实践者那里提取建筑知识的合适的定性方法。

在讨论19个事件源系统的基础上,我们探讨了事件源模式的原理和背景。给出了对模式本身及其与其他模式的关系的描述,如与从业人员所讨论的。该说明本身以25位工程师的经验为基础,使其成为新的从业人员和科学家的可靠来源。我们确定了从业人员遇到的五个挑战:事件系统的发展,陡峭的学习曲线,缺乏可用的技术,重建预测和数据隐私。对于事件系统演进的第一个挑战,我们发现了五种策略和解决方案,可在开发不断发展的事件源系统时为从业人员提供设计选择:版本化事件,弱模式,转换,就地转换以及复制和转换。

更新日期:2021-04-16
down
wechat
bug