• Skip to primary navigation
  • Skip to main content
  • Skip to footer

Codemotion Magazine

We code the future. Together

  • Discover
    • Events
    • Community
    • Partners
    • Become a partner
    • Hackathons
  • Magazine
    • DevOps
    • Carreras tech
    • Frontend
    • Inteligencia Artificial
    • Dev life
    • Desarrollo web
  • Talent
    • Discover Talent
    • Jobs
    • Manifiesto
  • Companies
  • For Business
    • EN
    • IT
    • ES
  • Sign in
ads

Natalia de Pablo Garciamayo 12, 2025 4 min read

¡¡Esas llamadas a una API podrían haber sido un JOIN!!

Arquitectura del software
facebooktwitterlinkedinreddit

La conferencia Codemotion Madrid 2025, que se celebrará los días 20 y 21 de mayo en el espacio MEEU de la Estación de Atocha, es un evento hecho por y para desarrolladores de software. 

Por lo tanto, y cómo no podría ser de otra forma, no pueden faltar las ponencias especializadas y dirigidas a mejorar las habilidades y conocimientos de estos profesionales. Y mucho mejor si son en modalidad Live Coding como la que os presentamos hoy.

Recommended article
marzo 5, 2025

¿Realmente necesitas esa Nueva Tecnología o solo quieres usarla?

srjonro

Arquitectura del software

En “¡¡Esas llamadas a una API podrían haber sido un JOIN!!” Iván García Sainz-Aja, Software Engineer en Izertis, nos explicará cómo utilizar Spring Modulith Events para crear arquitecturas que sigan los principios Event-Driven dentro de un monolito modular.  Se trata de una de esas ponencias que pueden cambiar la perspectiva a la hora de diseñar y construir la arquitectura de nuestros softwares

Contexto de la charla

En la actualidad, la complejidad del desarrollo de software ha ido aumentando progresivamente con la incorporación de nuevas tecnologías. 

El crecimiento acelerado de integraciones, el cloud computing, la adopción de arquitecturas de microservicios y la presión por ofrecer resultados inmediatos han generado un entorno técnico cada vez más desafiante.

Una buena arquitectura de software es aquella que nos permita acomodar los requisitos actuales y de futuro sin necesidad de hacer malabares, ni más ni menos. 

Y aunque las arquitecturas distribuidas han demostrado ser una gran solución para muchos casos de uso, también han introducido una complejidad adicional que no siempre está justificada.

No hay duda de que las arquitecturas distribuidas Event-Driven están transformando la forma en que construimos sistemas escalables y resilientes. La pregunta que nos debemos hacer es: ¿realmente necesitamos una arquitectura distribuida para resolver nuestro problema?

Y es que, aunque ofrece muchas ventajas, la distribución temprana en microservicios puede convertirse en fuente de gran complejidad accidental, creando sistemas complicados y difíciles de gestionar. Porque separar servicios es muy sencillo y práctico, pero volver a unificarlos es muy complejo.

Y si lo hacemos de una forma demasiado temprana, se vuelve complicado predecir si la decisión de separar los servicios fue la correcta. La fragmentación del modelo y límites de dominio mal definidos pueden resultar en el temible escenario de «Todas esas llamadas a una API podrían haber sido un join a una BBDD”. 

¿Pero entonces, existe otra alternativa?

Arquitecturas Event-Driven y Monolitos Modulares con Spring Modulith Events

En muchas ocasiones, y en contraposición a la tendencia de dividir prematuramente el software en microservicios, un monolito bien diseñado y modular puede ser una solución más efectiva y mantenible. Esto permite crear un modelo más flexible, facilitando su evolución y refactorización, así como retrasar la transición a microservicios hasta que el dominio esté más maduro.

Y esto es precisamente lo que permite Spring Modulith Events: una librería que facilita la implementación de arquitecturas Event-Driven dentro de un monolito modular. 

Esta herramienta permite organizar el software en módulos independientes que pueden evolucionar de manera aislada, garantizando la coherencia del sistema sin sacrificar la escalabilidad futura.

Con Spring Modulith Events, podemos aprovechar los beneficios de la comunicación basada en eventos mientras mantenemos la simplicidad y cohesión de un monolito. A medida que se comprende mejor el dominio, se pueden externalizar eventos y usar AsyncAPI para documentar y estabilizar dichas integraciones.

Esta característica permite a los equipos evolucionar gradualmente hacia una arquitectura más distribuida cuando sea realmente necesario y sin la necesidad de comprometer la integridad y mantenibilidad del sistema en el proceso. 

Spring Modulith Events proporciona la flexibilidad necesaria para adaptar la arquitectura a medida que los requisitos del negocio cambian, manteniendo siempre un equilibrio entre la complejidad y la funcionalidad.

La charla: ¡¡Esas llamadas a una API podrían haber sido un JOIN!!

En esta charla, Iván García Sainz-Aja nos mostrará cómo Spring Modulith Events puede ser la solución que estamos buscando para construir sistemas modulares y mantenibles.

A través de ejemplos prácticos y casos de uso reales, veremos cómo podemos implementar una arquitectura Event-Driven dentro de un monolito sin caer en la complejidad innecesaria de los microservicios prematuros.

La sesión incluirá demostraciones en vivo de cómo configurar y utilizar Spring Modulith Events de manera sencilla. La charla no solo proporcionará un marco teórico sólido, sino también ejemplos tangibles que demuestran los beneficios de las arquitecturas orientadas a eventos y modulares, sin necesidad de fragmentar nuestro software antes de tiempo.

De esta forma, los asistentes aprenderán a adoptar este enfoque que permite a los equipos hacer frente a la creciente complejidad del software con herramientas modernas, facilitando tanto la evolución como el mantenimiento de las aplicaciones.

El ponente: Iván Garcia Sainz-Aja (Software Engineer | Speaker | Building ZenWave 360º at Izertis)

Iván García Sainz-Aja es un experimentado ingeniero de Software con un profundo conocimiento de tecnologías Java, Spring-Boot y Spring-Cloud. Está especializado en Domain-Driven Design (DDD) y arquitecturas Orientadas a Eventos para crear Software fácil de entender. Acumula una gran experiencia en:

  • Principios de Domain-Driven Design (DDD) y talleres de Event-Storming Design para obtener una buena comprensión de los requisitos del negocio.
  • Arquitecturas Orientadas a Eventos (EDA) y API-First con la Especificación AsyncAPI, de la cual forma parte del Comité Directivo Técnico.
  • Desarrollo ZenWave 360º: ZenWave 360º es un conjunto de herramientas construido sobre los fundamentos del Domain Driven Design y los principios API-First para Arquitecturas Orientadas a Eventos, para ayudarte a crear software fácil de entender.
  • Ponente: compartiendo su conocimiento en temas relacionados con DDD, EDA y tecnologías Java.

Artículos relacionados

Software architect

¿Arquitecto de software: una figura mitológica?

LucaVaccaDeveloper
febrero 17, 2025

Clean Architecture con Spring Boot y Node.js

Orli Dun
enero 27, 2025

Aplicaciones nativas en la nube: arquitectura hexagonal y Kubernetes

Codemotion
septiembre 12, 2024

Navegando por los Smart Pointers en Rust

Aitor Santana
septiembre 3, 2024
Share on:facebooktwitterlinkedinreddit

Tags:Desarrollo web

Natalia de Pablo Garcia
¡Hola! Soy Natalia, Community Manager y Social Media de Codemotion. Mi función es ser el enlace con las comunidades tecnológicas en España.
Arquitectura para la Sostenibilidad
Artículo anterior
Domina OAuth 2.0 y OpenID Connect 
Próximo artículo

Footer

Discover

  • Events
  • Community
  • Partners
  • Become a partner
  • Hackathons

Magazine

  • Tech articles

Talent

  • Discover talent
  • Jobs

Companies

  • Discover companies

For Business

  • Codemotion for companies

About

  • About us
  • Become a contributor
  • Work with us
  • Contact us

Follow Us

© Copyright Codemotion srl Via Marsala, 29/H, 00185 Roma P.IVA 12392791005 | Privacy policy | Terms and conditions