Pedro Vasconcellos, V. Bezerra, Calebe P. Bianchini
{"title":"Applying Event Sourcing in a ERP System: A Case Study","authors":"Pedro Vasconcellos, V. Bezerra, Calebe P. Bianchini","doi":"10.1109/CLEI.2018.00019","DOIUrl":null,"url":null,"abstract":"Most software can be seen as a set of business rules that are executed when triggered by an internal event or user input. Usually, these business rules are designed to process the input data and change the software's internal state match this event. As a consequence of such design, software usually does not have reliable means to keep memory from its past states unless specifically programmed to do so. Even when such capabilities are built into the system, they are often too detached from the system's rules to be useful or they are built only in particular points of the system selected as relevant. This article discusses Event Sourcing, a software architecture design that organizes software's classes in such a way to provide a native memory of its past states, enabling the system to even replay old computations at will. We also present a case study where this architecture is applied in the development of an ERP System. The architecture was particularly useful to the development team as it dramatically increased error traceability.","PeriodicalId":379986,"journal":{"name":"2018 XLIV Latin American Computer Conference (CLEI)","volume":"75 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 XLIV Latin American Computer Conference (CLEI)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CLEI.2018.00019","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
Most software can be seen as a set of business rules that are executed when triggered by an internal event or user input. Usually, these business rules are designed to process the input data and change the software's internal state match this event. As a consequence of such design, software usually does not have reliable means to keep memory from its past states unless specifically programmed to do so. Even when such capabilities are built into the system, they are often too detached from the system's rules to be useful or they are built only in particular points of the system selected as relevant. This article discusses Event Sourcing, a software architecture design that organizes software's classes in such a way to provide a native memory of its past states, enabling the system to even replay old computations at will. We also present a case study where this architecture is applied in the development of an ERP System. The architecture was particularly useful to the development team as it dramatically increased error traceability.