Skip to main content

Sistema de Actualizacion usando FTP solamente

Hay muchas formas de actualizar nuestro proyecto Desktop, Java Web Start es una gran alternativa. Miremos otra situación, tal vez nuestros clientes poseen una conexión de Internet limita a un ancho de banda muy pequeño o con cualquier otra limitación como inconsistencia en el mismo.
Si la situación es esta , desarrollar una aplicación Web no es factible, y queremos implementar una alternativa a Java Web Start, si esta es nuestra decisión, podemos desarrollar una aplicación Desktop, donde dividimos nuestro proyecto en pequeños módulos o sub-proyectos, que seran integrados en el proyecto principal, y a cada modulo crearemos una clase que contendrá la versión del módulo, con un formato sencillo: año.mes.dia.horaminutos, luego crearemos una clase que generara un archivo xml con la información del numero de versión de todos los módulos y este archivo junto con los módulos que sufran cambios serán subidos por el desarrollador al servidor ftp. En el cliente al iniciar el sistema simplemente descarga el archivo .xml que contiene las versiones de los modulos en el servidor ftp, y los compara con las versiones de los módulos local mente, y si hay cambios solo se descargaran aquellos que han cambiado.


Desarrollador: Generar archivo xml de versiones



Generando la versión de cada módulo en el archivo xml.


El desarrollador sube el archivo xml


y los modulos que se han actualizado (archivos .jar)



Cuando el usuario entra al sistema

Mensaje de Actualización en el menu


Actualizamos los modulos, el sistema nos indica las diversas versiones, locales y web de los modulos que han sido actualizados.

Mensaje de terminación de actualización de módulos(descarga de los .jar actualizados).


Esta es solo otra forma de hacerlo, existen muchas más, era un simple ejemplo que podemos implementar en nuestros proyectos.

Comments

Augusto said…
Hey Aristides, como estas? Esto esta muy interesante.

Aunque webstart tiene algunas limitaciones (nada mas actualiza el programa al inicio) el problema de conecciones lentas se puede resolver configurando el proyecto de webstart para que use diferentes jnlps en vez de uno grande con todos los archivos.

En otras palabras, creo que algo muy parecido se puede hacer.

Algo que me gustaria y se parece un poco a lo que tienes aqui, es una combinacion entre Webstart y OSGi (para las versiones de los modulos, y actualizar de manera mas dinamica)
soliddanii said…
Hola, me interesa MUCHISIMO saber como hacer esto para mi aplicacion pero esque no encuentro ningun turorial, y no lo explicas aqui. puedes ayudarme? gracias!
soliddanii said…
Hola, me interesa MUCHISIMO saber como hacer esto para mi aplicacion pero esque no encuentro ningun turorial, y no lo explicas aqui. puedes ayudarme? gracias!
soliddanii said…
Hola, me interesa MUCHISIMO saber como hacer esto para mi aplicacion pero esque no encuentro ningun turorial, y no lo explicas aqui. puedes ayudarme? gracias!
joseRamos said…
me parece muy interesante este ejemplo podrias pasar el codigo fuente se te agradeceria mucho man gracias joseramozz1992@gmail.com
joseRamos said…
hola me parece interesante este ejemplo podrias por favor pasar el codigo se te agradeceria mucho joseramozz1992@gmail.com

Popular posts from this blog

Cambiando el estado de un checkbox

Cambiando el Estado de un CheckBox Algunas veces deseamos controlar el estado de un checkbox o cambiarlo segùn determinadas condiciones. Pasos: 1. Creamos un proyecto Web. 2. En el diseñador agregamos un checkbox y dos botones. * Dar click derecho en el checkbox y luego seleccionar Add Binding Attribute, para agregar los atributos al checkbox, de manera que los podamos usar en nuestro código. Generando automáticamente private Checkbox checkbox1 = new Checkbox(); public Checkbox getCheckbox1() { return checkbox1; } public void setCheckbox1(Checkbox c) { this.checkbox1 = c; } 3.Damos click derecho en el botón Habilitar, y seleccionamos Edit Action Event Handler. A continuación, agregamos el código: this.checkbox1.setSelected(true);, el método setSelected con valor true, marca el checkbox como seleccionado, y un valor de false, quita la marca. public String button1_action() { // TODO: Process the action. Return value is a navigation //

Corregir el error el archivo de manifiesto en proyectos maven

Corregir el error en el archivo de manifiesto en proyectos maven Si creamos un proyecto maven con NetBeans e intentamos ejecutarlo encontraríamos el siguiente error Agregamos el plugin   <artifactId>maven-jar-plugin</artifactId>  <plugin>                 <groupId>org.apache.maven.plugins</groupId>                 <artifactId>maven-jar-plugin</artifactId>                 <version>2.4</version>                 <configuration>                     <archive>                         <manifest>                             <mainClass>org.javscaz.maven1.App</mainClass>                         </manifest>                                           </archive>                 </configuration>             </plugin> Luego al construir el proyecto con dependencias, podemos ejecutar el .jar

Tutorial básico de aplicaciones Web con NetBeans parte 1

NetBeans ofrece un excelente soporte para el desarrollo de aplicaciones Web, en esta ocasión lo haremos utilizando el Framework Java Server Faces 2.0. En el Menu Seleccionamos Nuevo->Proyecto y luego en Categorias Java Web y en tipo de Proyectos Web  Application indicamos el nombre del proyecto Seleccinamos el servidor Web, usamos GlassFish ya que este soporta EJB3.0 y JSF 2.0 Framework Java Server Faces El IDE genera el esquelto del proyecto Web Pages   almacenamos las paginas .html, xhtml, jsf, los archivos de recursos, los scripts .js, imagenes Source Packages    Son las clases Java  Test Packages    Son las clases que usamos para los Test Libraries     Tenemos las bibliotecas de Java y GlassFish necesarias para ejecutar la aplicación Web. Test Libraries     Están las bibliotecas usadas para los test  Configuration Files    Archivos de configuración de la aplicación. Ejecutamos la aplicación  Esperamos que se inicie GlassFish y se cargue la aplicación Este se