Event-driven architecture has been widely adopted in the software industry, emerging as an alternative to the development of enterprise applications based on the REST architectural style. However, little is known about the effects of event-driven architecture on modularity while enterprise applications evolve. Consequently, practitioners end up adopting it without any empirical evidence about its impacts on essential indicators, including separation of concerns, coupling, cohesion, complexity and size. This article, therefore, reports an exploratory study comparing event-driven architecture and REST style in terms of modularity. A real-world application was developed using an event-driven architecture and REST through five evolution scenarios. In each scenario, a feature was added. The generated versions were compared using ten metrics. The initial results suggest that the event-driven architecture improved the separation of concerns, but was outperformed considering the metrics of coupling, cohesion, complexity and size. The findings are encouraging and can be seen as a first step in a more ambitious agenda to empirically evaluate the benefits of event-driven architecture against the REST style.
翻译:由事件驱动的架构在软件产业中被广泛采用,成为基于REST建筑风格的企业应用程序开发的替代物,但对于事件驱动的架构在企业应用程序演变时对模块性的影响知之甚少,因此,实践者最终在没有任何经验证据说明其对基本指标的影响的情况下采用该架构,包括将关切、组合、凝聚力、复杂性和规模分开。因此,本篇文章报告了一项从模块性角度比较事件驱动的架构和REST风格的探索性研究。在五个进化情景中,利用事件驱动的架构和REST开发了一个现实世界应用程序。在每一种情景中,都增加了一个特征。所生成的版本用10度标准进行了比较。初步结果表明,由事件驱动的架构改善了对关切问题的分离,但考虑到组合、凝聚力、复杂性和规模的衡量标准,这些发现是鼓舞人心的,并且可以视为更雄心勃勃勃的议程中的第一步,以便用经验对照REST风格评估事件驱动的架构的惠益。