Actualización de solución

Anteriormente tenía en un servidor una licencia de desarrollador con 20 conexiones de usuario y 2 de edición, por lo que la actualización de los desarrollos de mi máquina a este servidor los podía hacer usando el vDevelop con la opción de “Importar soluciones compartidas” y era muy sencillo así y siempre lo he hecho así desde que tomé el control de los desarrollos.
Ahora, que tuve que instalar una licencia de productivo, ahora solo tengo licencias de conexión de usuario nada más, por lo que esta forma de actualizar ya no es posible. Como era la única manera en la que lo había hecho siempre, pues tuve que echarme un clavado y la alternativa (oficial) es mediante el vInstaller, pero la verdad siento que es mucha lata de esta manera.
Alguna vez leí que alguien lo hacía con una “sincronización” de archivos.
¿El actualizar una solución es tan fácil como copiar los archivos .vca y .vcd a la carpeta correspondiente? (tomando en cuenta que los ficheros adjuntos no se han modificado) y posteriormente reiniciar la solución.
¿Estoy en lo correcto o no es tan sencillo como eso?

Hola marco_rangel.

Efectivamente, para actualizar una Solución en servidores de producción, es suficiente con copiar los nuevos archivos .vca y .vcd.

Y reiniciar la Solución, por supuesto.

Saludos
Paco Satué

1 me gusta

Hola Marco,
A mi me proporcionaron una licencia de desarrollador extra, cuando instalé el servidor de producción.
Saludos
Fernando

Paco, hola. Entonces, para actualizar como dices que suficiente sería, corrígeme si no, por favor:

1 - Salir todos los usuarios de la aplicación y que no haya procesos ejecutándose.
2 - Sin detener el servidor ni tocar instancias ni cosa por el estilo, copy - paste manual o subida automatizada de los archivos .vca y .vcd ( en ese supuesto de no haber implicados más ficheros, externos , adjuntos o lo que fuera que fuese )
3 - Reiniciar la aplicación: supongo que entrando un usuario en ella o … ¿ desde vDevelop ?

Hola carlosan.

Repasemos algunos conceptos básicos para entender Velneo 7.

  • Velneo vServer es un servidor de aplicaciones al que se conectan clientes vClient a través de redes TCP-IP usando el protocolo propietario VATP. Por lo tanto, es una arquitectura cliente/servidor donde el cliente necesita un procedimiento de conexión/desconexión a las aplicaciones.
  • Cuando se arranca vServer, todas las aplicaciones (Soluciones) se cargan en la memoria del servidor. Es lo que conocemos como reiniciar las Instancias de Datos y Aplicación desde los archivos .vcd y .vca.
    Los archivos .vcd y .vca simplemente se leen para poder instanciar las Instancias en memoria, no se bloquean, por lo que podemos sobrescribirlos en cualquier momento.
  • Los clientes vClient podrán conectarse a aquellas Instancias que se hayan inicializado correctamente y no estén “pausadas” o “detenidas”. Para la ejecución del Interface y los procesos de 1P el cliente descarga los archivos .vcd y .vca en la caché del cliente.
  • Cuando se reinicia una Solución, todas las Instancias de dicha Solución se borran de memoria y se vuelven a instanciar leyendo de nuevo los archivos .vcd y .vca.

Para poder reiniciar una Solución, no puede haber clientes conectados porque hay que borrar la Instancia de la memoria del servidor y cargarla de nuevo.

Los archivos .vcd y .vca se leen solo cuando la Instancia se reinicia, por lo tanto, ese es el momento en el que los clientes dispondrán de la nueva versión de la Solución.

  • Una vez reiniciada la Solución, los clientes se conectarán a la nueva Instancia y descargarán los nuevos archivos .vcd y .vca en la caché del cliente.

En producción, las Soluciones se reinician solo desde vAdmin. Los nuevos archivos .vcd y .vca se copian al servidor vServer en la carpeta de las Soluciones (/Velneo/cajas). Lo habitual es usar un cliente FTP como FileZilla.

Espero que con esto ya estará más claro el proceso de actualización de aplicaciones.

Saludos
Paco Satué

1 me gusta

Gracias Paco. Por supuesto.
A veces la rutina diaria y las prisas llevan a dejar de leer / aprender / profundizar en las cuestiones de Velneo. Incluso las básicas.
Yo actualizaba hasta ahora creando un instalable nuevo de la solución cada vez.
Luego iba al servidor en la nube de Velneo en cuestión y eliminaba primero las instancias de esta aplicación para luego borrar la solución también. Después importaba la nueva solución.
Nunca usé lo de reiniciar una solución, por eso pensaba que se actualizaba al entrar con vClient y porque al lanzar la ejecución desde vDevelop se actualiza automático, cosa que yo relacionaba con vClient aunque no era el caso.
En fin. Gracias por tomarte las molestias y gastar paciencia hasta quedarte en la reserva.

Paco, muchas gracias por tu puntual explicación y a carlosan por unirse a la duda. Ahora creo que nos ha quedado más que claro que es lo que podemos hacer para automatizar de diferentes maneras nuestras actividades.
Paco, carlosan un abrazo.