[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Automatización de actualizaciones en Java



Hola amigos de Mindfood,

esta es la primera vez que recurro a la lista para solicitar consejo, aunque llevo bastante tiempo disfrutando de vuestras aportaciones.

Simplemente, quería sondear opiniones y experiencias previas que tengais relacionadas con automatización de despliegues en Java. La idea es crear un componente que esté corriendo permanente en los servidores a actualizar que, a partir de un "paquete de actualización", sea capaz de modificar una instalación concreta.

Concretando un poco más, un contexto típico sería un servidor corriendo un contenedor de aplicaciones usando como persistencia una base de datos relacional. Por tanto las necesidades de actualización pueden incluir:

- parar/arrancar servicios (W32) o demonios (UNIX)
- comportamiento transaccional (si algo falla, volver a la instalación previa)
- capacidad de actuar sobre la base de datos (crear/modificar tablas, introducir datos...)
- capacidad de actualizar el componente desplegado (por ejemplo, sustituir un WAR)
- NO necesario control extensivo de versiones: la más reciente siempre sustituye a la anterior


Desde un primer momento, vengo pensando en ANT como director de orquesta. La filosofía que me parece más correcta es simplificar el componente de actualización y trasladar la funcinalidad al "paquete de actualización".

Así, el componente de actualización sólo se ocuparía de descomprimir el archivo de actualización (que contendría todos los archivos necesarios) y de lanzar un script ANT: algo parecido a un "descriptor de actualización".

Sería necesario crear tareas básicas e iniciales como lanzar un script SQL o parar/arrancar servicios, pero veo como algo muy positivo que si en una actualización concreta es necesario realizar alguna operación que no se ha previsto en el desarrollo del componente de actualización, es tan sencillo como incluír una nueva tarea ANT en el "paquete de actualización" e incluirla en el "descriptor de actualización".

Ahora mismo estoy en una situación muy "early stage", por lo que me gustaría recibir cualquier aportación para mejorar su diseño o filosofía

Bueno pues espero opiniones, críticas, sugerencias...
Muchas gracias por adelantado!

********************************************
Daniel Blázquez
IT Consultant, Donewtech Solutions, S.L.
Zuatzu Business Park, Urumea Building
E-20018 San Sebastian
Tel.: +34 943223031
Fax:  +34 943316385
Email: daniel.blazquez@xxxxxxxxxxxxx <mailto:daniel.blazquez@xxxxxxxxxxxxx>
Internet: http://www.donewtech.com
********************************************