Spring Boot
El mundo Java ha estado construyendo aplicaciones de Spring durante mucho
tiempo. Spring Boot es una versión particular de Spring que facilita mucho el
proceso al manejar muchos de los detalles de configuración por usted. Spring Boot
fue creado para automatizar el inicio de los proyectos de Spring de cualquier tipo,
no solo microservicios. Para simplificar aún más las cosas, una vez que ha
terminado con la aplicación, Spring Boot se mezcla en un servidor web y emite un
solo archivo JAR que es prácticamente todo lo que necesita, además de la JVM.
Piense en ello como el contenedor original de Docker.
Toda esta inteligencia es apreciada por muchas de las personas encargadas de
construir microservicios, porque la configuración se vuelve molesta cuando tiene
que hacerla una y otra vez para cada una de la docena de microservicios. Si Spring
Boot puede automatizarlo, producir muchas docenas de microservicios es mucho
más fácil.
Eclipse MicroProfile
En el 2016, algunos de los fanáticos de la comunidad Java Enterprise miraron a su
alrededor y decidieron limpiar todo el cruft de la mencionada edición para que las
personas pudieran construir microservicios simples con las piezas clásicas. Lanzaron
un número sorprendente de bibliotecas, pero mantuvieron el código para procesar
las solicitudes REST, analizar JSON y administrar la inyección de dependencias. Así,
terminaron con algo rápido y simple, Eclipse MicroProfile.
Desde entonces, la comunidad MicroProfile hizo un pacto para lanzar nuevas
versiones trimestralmente, agregando un nuevo código para mantener los
microservicios funcionando sin problemas y de manera segura. El proceso de
desarrollo y la estructura del código serán muy familiares para cualquiera que haya
vivido en el mundo de Java EE, pero las interminables dificultades de configuración
se han eliminado. Es una prueba de que puedes enseñar a un perro viejo nuevos
trucos.
Dropwizard
Cuando Dropwizard apareció en el 2011, les abrió los ojos a los desarrolladores de
Java Enterprise sobre cuán poco código era realmente necesario. La
infraestructura/framework de Dropwizard entregó un modelo muy simple para el
desarrollo con muchas de las decisiones importantes que se tomaron en su
nombre, y ha seguido este camino. Usted agrega algo de lógica de negocios, y
luego casi todo lo demás es configurado por usted de acuerdo con la tradición. El
resultado son archivos JAR delgados que los usuarios elogian por iniciarse
rápidamente.
La mayor limitación puede ser la falta de inyección de dependencia. Si desea
utilizarla para mantener su código limpio y sin acoplar, deberá agregar las
bibliotecas usted mismo. No hay forma en que Dropwizard haga esto, a diferencia
del mundo de Spring. Sin embargo, la mayor parte de los otros artículos de lujo
ahora son compatibles, incluyendo el registro, los controles de estado y el código
que proporciona resistencia. No necesitará hacer muchos sacrificios.
WildFly Thorntail
La gente de Red Hat construyó su propia versión de MicroProfile completada con
una herramienta de configuración ingeniosa. El framework originalmente se
llamaba WildFly Swarm, pero luego se le cambió el nombre a Thorntail. Su sitio
web lo ayuda a crear su propio archivo de compilación de Maven simplemente
especificando las características que necesita. Maven luego se encarga de
ensamblar todo.
Thorntail también detectará los componentes principales que necesitará al
escanear su código, pero puede anular esto con un archivo BOM (lista de
materiales). Cuando todo se esté ejecutando, Thorntail eliminará las partes de la
Edición Enterprise de Java que no se usarán y creará un archivo JAR pequeño y listo
para implementarse con un solo comando -una característica ingeniosa que
permite que el proyecto Thorntail lo llame Uber-JAR. Es otro enfoque a seguir en la
tradición de la Edición Enterprise de Java sin guardar todo el equipaje pesado.
Helidon
Helidon solo ha estado disponible durante unos meses desde los comunicados de
prensa y el primer compromiso con el repositorio de GitHub, pero el framework ya
está atrayendo el tipo de atención que el respaldo de Oracle garantiza. Si bien el
universo de Java es enorme, gran parte todavía gira en torno a Oracle.
Los arquitectos de Helidon siguieron muchos de los mismos temas que se repiten
en los otros proyectos aquí. Extraiga el cruft de la Edición Enterprise de Java y
conserve el núcleo ligero y basado en servlets que se ha ganado la confianza del
mundo. En el caso de Helidon, los desarrolladores comenzaron con Netty y
agregaron solo el código suficiente para hacer un poco de enrutamiento y manejo
de errores. Para hacer las cosas interesantes, adoptaron dos modelos básicos para
el código, las llamadas versiones SE y MP.