¿Existen pilas de administración de aplicaciones bien integradas que permitan la compilación, la implementación y la actualización de aplicaciones Java que no sean .war
que se ejecutan como servidores? Por ejemplo, consumidores de mensajes que son servidores (pero no servidores web y no tienen servlets), o ejecutables .jar
s con Jetty incrustado?Implementación de aplicaciones de servidor Java que no son .wars
Creación e implementación de .war
s es bastante sencillo: Maven tiene el arquetipo guerra, Jenkins tiene un montón de complementos para el despliegue de .war
archivos a varios servidores de aplicaciones, la mayoría de los cuales aceptan la carga de nuevas aplicaciones web en tiempo de ejecución. Herramientas como Elastic Beanstalk hacen que este proceso sea aún más fácil, atando la administración de los entornos del servidor.
Por el contrario, al implementar el ejecutable .jar
s parece que reinventar la rueda. Es necesario resolver la mejor forma de sombrear las dependencias y crear un artefacto ejecutable con una gran cantidad de complementos Maven, depositar este artefacto en algún lugar, luego encontrar una forma de instalarlo en los servidores de destino y reemplazarlo/actualizarlo si es necesario (paquetes Debian) sería una forma de hacer esto).
Todo esto me parece muy 'manual', hasta el punto de que parece ventajoso implementar aplicaciones como .war
en servidores de aplicaciones, incluso si no son un ajuste natural para dicho entorno, solo para que obtenga el beneficio del soporte de la herramienta.
para consumidores de mensajes, ¿Sería EJBs MessageDriven una buena opción? Esos podrían publicarse en un servidor de aplicaciones como un JAR. – wrschneider
Bien podrían ser, desafortunadamente estoy en una pequeña empresa que considera que todo "peso pesado" es obra de Satanás. –