Behavior-Driven Microservice Architecture
un marco metodológico para la identificación iterativa de microservicios en proyectos ágiles greenfield
DOI:
https://doi.org/10.59471/raia2025227Palabras clave:
Microservicios, Arquitecturas de software,, Metodos ágiles, Greenfield developmentResumen
La adopción de arquitecturas basadas en microservicios plantea desafíos significativos en la fase de diseño, particularmente en contextos greenfield donde las decisiones iniciales condicionan la mantenibilidad futura. Aunque existen aportes relevantes desde Domain-Driven Design (DDD) y Behavior-Driven Development (BDD), persiste una brecha metodológica: los enfoques actuales suelen ser teóricos, carecen de mecanismos explícitos de trazabilidad entre requisitos funcionales y decisiones arquitectónicas, o se enfocan en escenarios de reingeniería brownfield. Este trabajo introduce Behavior-Driven Microservice Architecture (BDMA), un marco metodológico sistemático, iterativo y reproducible que guía la identificación, diseño y evolución de microservicios en proyectos ágiles greenfield. BDMA integra principios de DDD, técnicas de BDD y prácticas de arquitectura evolutiva para transformar escenarios funcionales en bounded contexts, contratos de servicio y registros de decisiones arquitectónicas. Como aporte principal, BDMA ofrece un enfoque práctico que asegura alineación entre requisitos y arquitectura, fomenta la colaboración interdisciplinaria y habilita trazabilidad completa desde los escenarios BDD hasta la implementación, demostrada mediante una Architectural Kata ilustrativa.
Descargas
Referencias
Bajaj, Deepali, Urmil Bharti, Isha Gupta, Priya Gupta, and Asha Yadav. 2024. “GTMicro—Microservice Identification Approach Based on Deep NLP Transformer Model for Greenfield Developments.” International Journal of Information Technology 16 (5): 2751–61.
Bajaj, Deepali, Anita Goel, and Suresh Chand Gupta. 2022. “GreenMicro: Identifying Microservices from Use Cases in Greenfield Development.” IEEE Access 10: 67008–18.
Battaglia, Nicolás, Agustı́n Nicolás Garcı́a, and Augusto Congiusti. 2024. “Descubrimiento de Microservicios En Metodologı́as Ágiles: Un Mapeo Sistemático de La Literatura.” In XXX Congreso Argentino de Ciencias de La Computación (CACIC)(la Plata, 7 Al 11 de Octubre de 2024).
Brandolini, Alberto. 2013. “Introducing Event Storming.” Blog, Ziobrando’s Lair 18.
Cardoso, João Pedro Santos. 2021. “A Guide for Microservices in Greenfield Projects.” Master’s thesis, Instituto Politecnico do Porto (Portugal).
Cervantes, Humberto, and Rick Kazman. 2024. Designing Software Architectures: A Practical Approach. Addison-Wesley Professional.
Erder, Murat, and Pierre Pureur. 2015. Continuous Architecture: Sustainable Architecture in an Agile and Cloud-Centric World. Morgan Kaufmann.
Evans, Eric. 2004. Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley Professional.
Ford, Neal, Rebecca Parsons, Patrick Kua, and Pramod Sadalage. 2022. Building Evolutionary Architectures. " O’Reilly Media, Inc.".
Gregor, Shirley, and Alan R Hevner. 2013. “Positioning and Presenting Design Science Research for Maximum Impact.” MIS Quarterly, 337–55.
Hevner, Alan R. 2007. “A Three Cycle View of Design Science Research.” Scandinavian Journal of Information Systems 19 (2): 4.
Hevner, Alan R, Salvatore T March, Jinsoo Park, and Sudha Ram. 2004. “Design Science in Information Systems Research.” MIS Quarterly, 75–105.
Hippchen, Benjamin, Pascal Giessler, Roland Steinegger, Michael Schneider, and Sebastian Abeck. 2017. “Designing Microservice-Based Applications by Using a Domain-Driven Design Approach.” International Journal on Advances in Software 10 (3&4): 432–45.
Josélyne, Munezero Immaculée, Doreen Tuheirwe-Mukasa, Benjamin Kanagwa, and Joseph Balikuddembe. 2018. “Partitioning Microservices: A Domain Engineering Approach.” In Proceedings of the 2018 International Conference on Software Engineering in Africa, 43–49.
Kalia, Anup K, Jin Xiao, Rahul Krishna, Saurabh Sinha, Maja Vukovic, and Debasish Banerjee. 2021. “Mono2micro: A Practical and Effective Tool for Decomposing Monolithic Java Applications to Microservices.” In Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, 1214–24.
Kopp, Oliver, Anita Armbruster, and Olaf Zimmermann. 2018. “Markdown Architectural Decision Records: Format and Tool Support.” In ZEUS, 55–62.
Lewis, James, and Martin Fowler. 2014. “Microservices: A Definition of This New Architectural Term.” MartinFowler. Com 25 (14-26): 12.
March, Salvatore T, and Gerald F Smith. 1995. “Design and Natural Science Research on Information Technology.” Decision Support Systems 15 (4): 251–66.
Narváez, Daniel, Nicolas Battaglia, Alejandro Fernández, and Gustavo Rossi. 2025. “Designing Microservices Using Ai: A Systematic Literature Review.” Software 4 (1): 6.
Newman, Sam. 2021. Building Microservices: Designing Fine-Grained Systems. " O’Reilly Media, Inc.".
Peffers, Ken, Tuure Tuunanen, Marcus A Rothenberger, and Samir Chatterjee. 2007. “A Design Science Research Methodology for Information Systems Research.” Journal of Management Information Systems 24 (3): 45–77.
Ponce, Francisco, Jacopo Soldani, Hernán Astudillo, and Antonio Brogi. 2022. “Smells and Refactorings for Microservices Security: A Multivocal Literature Review.” Journal of Systems and Software 192: 111393.
Pries-Heje, Jan, Richard Baskerville, and John Venable. 2008. “Evaluation Risks in Design Science Research: A Framework.” In Proceedings from the 3rd International Conference on Design Science Research in IT, May 2008, Atlanta, Georgia, USA, 329–34. Robinson College of Business, Georgia State University.
Rademacher, Florian, Sabine Sachweh, and Albert Zündorf. 2017. “Towards a UML Profile for Domain-Driven Design of Microservice Architectures.” In International Conference on Software Engineering and Formal Methods, 230–45. Springer.
Schmidt, Roger Anderson, and Marcello Thiry. 2020. “Microservices Identification Strategies: A Review Focused on Model-Driven Engineering and Domain Driven Design Approaches.” In 2020 15th Iberian Conference on Information Systems and Technologies (CISTI), 1–6. IEEE.
Smart, John Ferguson, and Jan Molak. 2023. BDD in Action: Behavior-Driven Development for the Whole Software Lifecycle. Simon; Schuster.
Taibi, Davide, and Valentina Lenarduzzi. 2018. “On the Definition of Microservice Bad Smells.” IEEE Software 35 (3): 56–62.
Ünlü, Hüseyin, Dhia Eddine Kennouche, Görkem Kılınç Soylu, and Onur Demirörs. 2024. “Microservice-Based Projects in Agile World: A Structured Interview.” Information and Software Technology 165: 107334.
Vera-Rivera, Fredy H, Eduard Gilberto Puerto Cuadros, Boris Perez, Hernán Astudillo, and Carlos Gaona. 2023. “SEMGROMI—a Semantic Grouping Algorithm to Identifying Microservices Using Semantic Similarity of User Stories.” PeerJ Computer Science 9: e1380.
Vera-Rivera, Fredy H, Eduard G Puerto-Cuadros, Hernán Astudillo, and Carlos Mauricio Gaona-Cuevas. 2020. “Microservices Backlog-a Model of Granularity Specification and Microservice Identification.” In International Conference on Services Computing, 85–102. Springer.
Vernon, Vaughn. 2013. Implementing Domain-Driven Design. Addison-Wesley.
———. 2016. Domain-Driven Design Distilled. Addison-Wesley Professional.
Wieringa, Roel. 2014. Design Science Methodology for Information Systems and Software Engineering. Springer.
Woods, Eoin, Murat Erder, and Pierre Pureur. 2021. Continuous Architecture in Practice: Software Architecture in the Age of Agility and DevOps. Addison-Wesley Professional.
Zhong, Chenxing, Shanshan Li, Huang Huang, Xiaodong Liu, Zhikun Chen, Yi Zhang, and He Zhang. 2024. “Domain-Driven Design for Microservices: An Evidence-Based Investigation.” IEEE Transactions on Software Engineering 50 (6): 1425–49.
Zimmermann, Olaf, Mirko Stocker, Daniel Lubke, Uwe Zdun, and Cesare Pautasso. 2022. Patterns for API Design: Simplifying Integration with Loosely Coupled Message Exchanges. Addison-Wesley Professional.
Zimmermann, Olaf, Mirko Stocker, Daniel Lübke, Cesare Pautasso, and Uwe Zdun. 2019. “Introduction to Microservice API Patterns (MAP).”
Descargas
Publicado
Número
Sección
Licencia

Esta obra está bajo una licencia internacional Creative Commons Atribución-NoComercial 4.0.