Ir al contenido

Microservicios y Vaadin

·320 palabras·2 mins
Vaadin
Alejandro Duarte
Autor
Alejandro Duarte
Alejandro Duarte es un Ingeniero de Software, escritor publicado y galardonado. Actualmente, trabaja para MariaDB plc como Ingeniero de Relaciones con Desarrolladores (Developer Relations Engineer). Comenzó su trayectoria en programación a los 13 años con BASIC en una rudimentaria pantalla negra, para lugo rápidamente transitar a C, C++ y Java durante sus años académicos en la Universidad Nacional de Colombia. Trasladándose primero al Reino Unido y luego a Finlandia, Alejandro profundizó su participación en la comunidad de código abierto. Es reconocido en los círculos de Java, acreditado con artículos y videos que acumulan millones de vistas, y presentaciones en eventos internacionales.

Durante los últimos meses, he estado investigando y experimentando con microservicios y aplicaciones Vaadin. Mi objetivo era probar la “compatibilidad” de Vaadin con algunas de las técnicas asociadas a microservicios. En resumen, Vaadin es tan compatible con microservicios como cualquier otro framework web basado en componentes. Además, muchos de los desafíos que enfrentarías al implementar microservicios con Vaadin los enfrentarías con cualquier framework de JavaScript/HTML.

Los microservicios traen ventajas como el desarrollo y despliegue independiente de servicios, pero vienen con un costo, principalmente, un aumento en la complejidad, estupéndamente explicado por Dave Kerr en su artículo The Death of Microservice Madness en 2018, una lectura altamente recomendada para todos aquellos que estén evaluando microservicios. Uno de los desafíos técnicos clave en microservicios relacionados con los frameworks web es cómo crear una interfaz de usuario “mash-up” que combine dos o más aplicaciones web.

Ignorando el hecho de que los microservicios adoptan cierta independencia tecnológica (es decir, los equipos pueden decidir qué tecnologías usar, incluyendo frameworks web), me interesaba cómo renderizar dos aplicaciones Vaadin desplegadas independientemente en una sola página en el navegador. Resultó, nuevamente, que los desafíos que enfrenté fueron casi los mismos que habría enfrentado con cualquier otro framework web, especialmente, lidiar con colisiones de CSS y JavaScript y la gestión de sesiones HTTP.

Pude desarrollar una aplicación usando Spring Boot con Spring Cloud para mostrar una página web con una interfaz CRUD a la izquierda y un feed de Twitter a la derecha, ambos desarrollados con Vaadin:

Captura de pantalla de una aplicación ejecutándose desde varios microservicios

Ejecutar esta aplicación requiere iniciar al menos 7 procesos, 3 servicios de orquestación, 1 servicio de back-end y 3 aplicaciones web:

Terminales ejecutando microservicios

Puedes encontrar información detallada sobre mi experimento en esta serie de artículos:

  1. Introducción a los Microservicios
  2. Microservicios: Registro y Descubrimiento de Servicios
  3. Microservicios: Configuración Externalizada
  4. Microservicios: Consumo de servicios sin estado desde interfaces de usuario Vaadin
  5. Microservicios: Tolerancia a Fallos
  6. Microservicios: Composición de UI
  7. Microservicios: Alta Disponibilidad
  8. Microservicios: Monitoreo de Salud

Relacionados

Próximo lanzamiento de un nuevo libro sobre Vaadin Framework 8
·193 palabras·1 min
Vaadin Noticias
Como algunos de ustedes ya sabrán, comencé a escribir un libro sobre Vaadin 8 para Packt Publishing hace casi un año.
Enterprise App para Vaadin
·307 palabras·2 mins
Vaadin Noticias
Hace algunos años publiqué el add-on Enterprise-app for Vaadin. La característica más premiada fue la clase CrudComponent, que permitía añadir una interfaz de usuario CRUD sobre cualquier entidad de Hibernate escribiendo una línea de código.
Video tutoriales sobre Vaadin
·65 palabras·1 min
Vaadin Noticias
¡Finalmente! Después de interminables horas de ensayo, grabaciones de pantalla, grabaciones de audio, grabaciones de video, sincronización de audio e imagen, trabajo de edición, y repetir todo de nuevo otra vez, hemos publicado los primeros 6 videos de la serie de Tutoriales de Vaadin (en Ibglés).