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

Re: [mindfood] Automatización de actualizaciones en Java



Javier, gracias por tu aportación!

Tiene gracia lo que comentas porque nosotros nos habíamos fijado nucho en el mecansimo de distribución de paquetes de Debian como objetivo del componente en cuestión. Tenemos algunos desarrollos corriendo sobre este Linux, y la verdad es que estamos muy contentos con su funcionamiento (bajo consumo recursos, seguridad, estabilidad....) y en particular, el APT GET es una de las utilidades que más nos gustaban.

No obstante, a pesar de que como te digo nos gustaba mucho, al final hemos descartado intentar aprovechar este mecanismo de actualización por lo siguiente:
- no somos expertos en C, ni en la arquitectura interna de Linux, por lo que indagar en la estructura del APT GET nos hubiera supuesto muchos dolores de cabeza
- la aplicación debe correr en un caja Windows :-/ (porque debemos interactuar con sistema legado desarrollado en Delphi.... y Delphi sólo corre en Win32)
- no podemos contar con tener acceso a internet desde los servidores a actualizar, por lo que el propio componente no debe ser el encargado de realizar el aprovisionamiento de la distribución de actualización


De todas formas, en todo lo demás tienes toda la razón , por cierto, viendo tu experiencia en Debian, ¿no sabrás si está disponible algún tipo de documentación (OO ,UML, bloques.. lo que sea) de la estructura del APT GET? nos tememos que no :)

Gracias de nuevo

Daniel

Javier Linares wrote:

En Debian se lleva años actualizando aplicaciones de servidores de alta
producción usando el sistema de paquetes. El sistema de paquetes es un
trabajo hecho y depurado a lo largo de estos años y permite que
actualizaciones muy complejas o de aplicaciones que casi no pueden parar se
hagan de una forma bastante trivial.

Además, la logística de actualizaciones (bajar los paquetes en cada
máquina) está resuelta, hay control de versiones (y de dependencias, para
las funcionalidades nuevas que requieran las actualizaciones), hay
mecanismos para propagar actualizaciones basadas en diferentes parámetros
(como las de seguridad) y los paquetes se firman con una clave GPG para
poder asegurar la autenticidad. Y en todo esto no importa si el programa
está en Java, Python o C.

Este sistema cumple los requisitos de tecnología abierta (es código libre)
y un sistema muy probado (desde hace años en un buen número de escritorios
y otro buen número de servidores) y el esquema que sigue es casi una copia
del esqueleto de pasos que has escrito en tu mensaje.

Lógicamente para usar este sistema hay que usar Debian GNU/Linux tanto en
el servidor como en los clientes y hay que tener conocimientos de
empaquetamiento de aplicaciones. Pero si todas las máquinas van a tener el
mismo hardware y al final lo que se va a usar es un navegador, quizás los
requisitos del sistema operativo no son tan importantes. Y para empaquetar
hay mucho manual y mucha gente a tiro para ayudar. :)