Discussion:
OT - Instalacion de Aplicacion en Red
(demasiado antiguo para responder)
Yuri Aponte
2007-07-29 18:18:23 UTC
Permalink
Hola Amigos

Hace un tiempo se estuvo discutiendo el tema de como hacer que un sistema se
auto-actualice. En base a eso tengo una inquietud al respecto, ahora que
estoy replanteando mi esquema de trabajo.

Hace un tiempo he instalado en un cliente que cuenta con una red de 15 PC's
un sistema el cual sera usado unicamente por 3 usuarios. En ese sentido se
me ocurrio que en vez de tener tres ejecutables en cada PC, crear una
carpeta en el servidor y conectar una unidad de red desde cada Pc de usuario
para que acceden al aplicativo. La idea me resulto buena en ese escenario
porque cada vez que tenemos que agregar alguna funcionalidad nueva,
simplemente reemplazamos el ejecutable del servidor y los usuarios al tener
accesos directos no se les quita tiempo al tener que actualizar sus PC's

Mi consulta es: es conveniente realizar este tipo de instalaciones, es decir
un solo .Exe compartido en el servidor y accesos directos en los usuarios, o
es preferible que cada usuario tenga su propio ejecutable y recurrir al
auto-actualizador que se discutio ya tiempo por aca. Por lo pronto no le veo
inconveniente a la primera opcion, pero hasta ahora el numero de usuarios de
mis sistemas no pasan de 5, por lo que es mas "comodo" para el administrador
de la red, esperar hasta que todos los usuarios se retiren para actualizar
el sistema en un solo lugar.

Me gustaria saber sus opiniones al respecto.
--
Saludos desde Lima, Peru

Yuri Aponte
Analista de Sistemas
yuriPUNTOaponteARROBAhotmailPUNTOcom
Patricia Delbono
2007-07-29 19:06:13 UTC
Permalink
Hola Yuri:
Te comento que mi aplicación esta siendo pensada para ser instalada un
server con accesos directos a 3 pcs.
Y como logicamente debere hacer actualizaciones es más practico este tipo de
esquema.
Por otro lado, son pocas pcs.
La aplicación mencionada se alimenta de datos de otra aplicación (Tango) e
interactua con ella. Asi que me parece importante tener todo en un mismo
servidor, adecuadamente ordenado.
Asi que en este caso, voto por este esquema
Ahora bien, este esquema hace más lento las transacciones que se realicen en
mi
aplicación ?
Debere aplicar algun control más profundo sobre los accesos a la base por
cada una de las pc cliente ? El begin-trans o conmit-trans son necesarios en
este
caso ?

Patricia
Post by Yuri Aponte
Hola Amigos
Hace un tiempo se estuvo discutiendo el tema de como hacer que un sistema
se auto-actualice. En base a eso tengo una inquietud al respecto, ahora
que estoy replanteando mi esquema de trabajo.
Hace un tiempo he instalado en un cliente que cuenta con una red de 15
PC's un sistema el cual sera usado unicamente por 3 usuarios. En ese
sentido se me ocurrio que en vez de tener tres ejecutables en cada PC,
crear una carpeta en el servidor y conectar una unidad de red desde cada
Pc de usuario para que acceden al aplicativo. La idea me resulto buena en
ese escenario porque cada vez que tenemos que agregar alguna funcionalidad
nueva, simplemente reemplazamos el ejecutable del servidor y los usuarios
al tener accesos directos no se les quita tiempo al tener que actualizar
sus PC's
Mi consulta es: es conveniente realizar este tipo de instalaciones, es
decir un solo .Exe compartido en el servidor y accesos directos en los
usuarios, o es preferible que cada usuario tenga su propio ejecutable y
recurrir al auto-actualizador que se discutio ya tiempo por aca. Por lo
pronto no le veo inconveniente a la primera opcion, pero hasta ahora el
numero de usuarios de mis sistemas no pasan de 5, por lo que es mas
"comodo" para el administrador de la red, esperar hasta que todos los
usuarios se retiren para actualizar el sistema en un solo lugar.
Me gustaria saber sus opiniones al respecto.
--
Saludos desde Lima, Peru
Yuri Aponte
Analista de Sistemas
yuriPUNTOaponteARROBAhotmailPUNTOcom
Lluis Franco
2007-07-30 10:06:01 UTC
Permalink
:-)
Hola Yuri,
La opción que planteas no me gusta, pero si el número de clientes es muy
bajo (como es tu caso) tal vez sea la mejor opción para ahorrarse problemas
en las actualizaciones, sin embargo si crece el número de clientes plantéate
cambiarlo, hay varias alternativas:

1-Hacer un BAT en los clientes que al inicial copie la última versión del
EXE a local.
2-Crear otra aplicación que verifique si hay cambios de versión y copie la
última versión del EXE a local.
3-Usar un producto de terceros
4-Pasar el proyecto a VS2005 y usar Clickonce para su distribución.

Saludos,
--
--
Lluís Franco i Montanyés
[MS-MVP-MCP Visual Basic]
--
Web: http://sps.uyssoft.com
Blog: http://msmvps.com/blogs/lfranco
Geeks: http://geeks.ms/blogs/lfranco
--
(Guía de netiquette del foro)
http://www.uyssoft.com/MSNews.aspx?sm=10
FIMARGE, S.A.
Principat d'Andorra
***@ODIO_EL_SPAMfimarge.ad
Tel.: +376 805 100
Fax: +376 824 500
--
Mi Perfil MVP en:
https://mvp.support.microsoft.com/profile=02aa1615-1a2f-4202-bc3f-aec297d967d2
--
This posting is provided "AS IS" with no warranties, and confers no rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho.
Yuri Aponte
2007-07-30 15:12:26 UTC
Permalink
Hola Luis

Si fueras tan amable de explicarme porque no te gusta la opcion que utilice.
Si bien puedo considerar que no es muy elegante, pero hay algun tema tecnica
al respecto o es meramente cuestion de "elegancia"
--
Saludos desde Lima, Peru

Yuri Aponte
Analista de Sistemas
yuriPUNTOaponteARROBAhotmailPUNTOcom
Post by Lluis Franco
:-)
Hola Yuri,
La opción que planteas no me gusta, pero si el número de clientes es muy
bajo (como es tu caso) tal vez sea la mejor opción para ahorrarse
problemas en las actualizaciones, sin embargo si crece el número de
1-Hacer un BAT en los clientes que al inicial copie la última versión del
EXE a local.
2-Crear otra aplicación que verifique si hay cambios de versión y copie la
última versión del EXE a local.
3-Usar un producto de terceros
4-Pasar el proyecto a VS2005 y usar Clickonce para su distribución.
Saludos,
--
--
Lluís Franco i Montanyés
[MS-MVP-MCP Visual Basic]
--
Web: http://sps.uyssoft.com
Blog: http://msmvps.com/blogs/lfranco
Geeks: http://geeks.ms/blogs/lfranco
--
(Guía de netiquette del foro)
http://www.uyssoft.com/MSNews.aspx?sm=10
FIMARGE, S.A.
Principat d'Andorra
Tel.: +376 805 100
Fax: +376 824 500
--
https://mvp.support.microsoft.com/profile=02aa1615-1a2f-4202-bc3f-aec297d967d2
--
This posting is provided "AS IS" with no warranties, and confers no rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho.
Yuri Aponte
2007-07-30 22:45:42 UTC
Permalink
Hola Luis

Gracias por tus comentarios, ya me habia planteado la idea de desarrollar
esta situacion como la opcion mayormente comentada en este foro, que es de
tener un ejecutable previo que actualice la nueva version si encuentra una
actualizada en el servidor u otro.

El poner este post era precisamente para saber si el metodo que aplique me
serviria en el futuro y como hace poco planteo el amigo Leonardo, cuando se
trato el uso de unas tablas sin indices, profesionalmente siempre es bueno
adelantarse un poco y ver si la opcion que uno opto servira y/o no traera
problemas en el futuro a posibles nuevas versiones o usos de nuestra
aplicacion.

Gracias por tu aporte
--
Saludos desde Lima, Peru

Yuri Aponte
Analista de Sistemas
yuriPUNTOaponteARROBAhotmailPUNTOcom
Post by Lluis Franco
:-)
Hola Yuri,
La opción que planteas no me gusta, pero si el número de clientes es muy
bajo (como es tu caso) tal vez sea la mejor opción para ahorrarse
problemas en las actualizaciones, sin embargo si crece el número de
1-Hacer un BAT en los clientes que al inicial copie la última versión del
EXE a local.
2-Crear otra aplicación que verifique si hay cambios de versión y copie la
última versión del EXE a local.
3-Usar un producto de terceros
4-Pasar el proyecto a VS2005 y usar Clickonce para su distribución.
Saludos,
--
--
Lluís Franco i Montanyés
[MS-MVP-MCP Visual Basic]
--
Web: http://sps.uyssoft.com
Blog: http://msmvps.com/blogs/lfranco
Geeks: http://geeks.ms/blogs/lfranco
--
(Guía de netiquette del foro)
http://www.uyssoft.com/MSNews.aspx?sm=10
FIMARGE, S.A.
Principat d'Andorra
Tel.: +376 805 100
Fax: +376 824 500
--
https://mvp.support.microsoft.com/profile=02aa1615-1a2f-4202-bc3f-aec297d967d2
--
This posting is provided "AS IS" with no warranties, and confers no rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho.
olto22
2007-07-30 22:56:07 UTC
Permalink
Post by Yuri Aponte
Hola Luis
Gracias por tus comentarios, ya me habia planteado la idea de desarrollar
esta situacion como la opcion mayormente comentada en este foro, que es de
tener un ejecutable previo que actualice la nueva version si encuentra una
actualizada en el servidor u otro.
El poner este post era precisamente para saber si el metodo que aplique me
serviria en el futuro y como hace poco planteo el amigo Leonardo, cuando se
trato el uso de unas tablas sin indices, profesionalmente siempre es bueno
adelantarse un poco y ver si la opcion que uno opto servira y/o no traera
problemas en el futuro a posibles nuevas versiones o usos de nuestra
aplicacion.
Gracias por tu aporte
--
Saludos desde Lima, Peru
Yuri Aponte
Analista de Sistemas
yuriPUNTOaponteARROBAhotmailPUNTOcom
Post by Lluis Franco
:-)
Hola Yuri,
La opci�n que planteas no me gusta, pero si el n�mero de clientes es muy
bajo (como es tu caso) tal vez sea la mejor opci�n para ahorrarse
problemas en las actualizaciones, sin embargo si crece el n�mero de
1-Hacer un BAT en los clientes que al inicial copie la �ltima versi�n del
EXE a local.
2-Crear otra aplicaci�n que verifique si hay cambios de versi�n y copie la
�ltima versi�n del EXE a local.
3-Usar un producto de terceros
4-Pasar el proyecto a VS2005 y usar Clickonce para su distribuci�n.
Saludos,
--
--
Llu�s Franco i Montany�s
[MS-MVP-MCP Visual Basic]
--
Web:http://sps.uyssoft.com
Blog:http://msmvps.com/blogs/lfranco
Geeks:http://geeks.ms/blogs/lfranco
--
(Gu�a de netiquette del foro)
http://www.uyssoft.com/MSNews.aspx?sm=10
FIMARGE, S.A.
Principat d'Andorra
Tel.: +376 805 100
Fax: +376 824 500
--
https://mvp.support.microsoft.com/profile=02aa1615-1a2f-4202-bc3f-aec...
--
This posting is provided "AS IS" with no warranties, and confers no rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho.
Saludos Cordiales!

Personalemente utilizo un programa XYZupdate.exe el cual verifica la
version de exe que esta copiado en el servidor contra el APP.path,
luego copia el exe de la nueva version localemente y luego uso
shellexecute para llamar al programa principal. Lo mismo puede
funcionar con ocx y dllls.
Otra alternativa es que investigues un poco mas el InnoSetup para
generar un setup personalizado que permita "reparar la instalacion" o
con multiples opciones, Completa, compacto, personalzado(solo dlls,
exe, reportes, formatos, etc).

Exitos!

David Ortiz
2007-07-30 15:27:57 UTC
Permalink
Hola Yuri, No termino de aterrizar el concepto que estás planteando, pero te
comento la forma de como yo he resuelto la misma necesidad. En mi caso tengo
un sistema montado en un servidor y es accedido por unas 50 pc's en 6 países
(VPN), en el servidor tengo el ejecutable y un archivo de texto con el
número de versión, además una carpeta con ocx's y dll's y un archivo bat que
los registra, hice el instalador de la aplicación con Inno Setup y en los
accesos directos que se crean levanto primero un mini programita
(Actualizador.exe) que compara la versión del servidor con la versión de la
pc cliente y si es mayor la del servidor sustituye el ejecutable local con
el ejecutable del servidor y luego lanza el ejecutable local. Además si
detecto algún error al momento de ejecutar la aplicación (como el error 91
por ej.) lanzo el bat que copia y registra los componentes nuevos según la
versión del SO de la pc cliente y asunto resuelto.
Todo esto es transparente para el usuario final el cual no tiene que hacer
nada, y hasta la fecha no he tenido queja alguna. Este esquema es bastante
simple pero funciona y lo puedes hacer tan complejo como quieras.
Espero darte una idea útil, porque eso de instalar un exe por cada usuario
en la misma pc, me suena bastante raro.

Saludos,

David Ortiz
EL Salvador, C.A.
Post by Yuri Aponte
Hola Amigos
Hace un tiempo se estuvo discutiendo el tema de como hacer que un sistema
se auto-actualice. En base a eso tengo una inquietud al respecto, ahora
que estoy replanteando mi esquema de trabajo.
Hace un tiempo he instalado en un cliente que cuenta con una red de 15
PC's un sistema el cual sera usado unicamente por 3 usuarios. En ese
sentido se me ocurrio que en vez de tener tres ejecutables en cada PC,
crear una carpeta en el servidor y conectar una unidad de red desde cada
Pc de usuario para que acceden al aplicativo. La idea me resulto buena en
ese escenario porque cada vez que tenemos que agregar alguna funcionalidad
nueva, simplemente reemplazamos el ejecutable del servidor y los usuarios
al tener accesos directos no se les quita tiempo al tener que actualizar
sus PC's
Mi consulta es: es conveniente realizar este tipo de instalaciones, es
decir un solo .Exe compartido en el servidor y accesos directos en los
usuarios, o es preferible que cada usuario tenga su propio ejecutable y
recurrir al auto-actualizador que se discutio ya tiempo por aca. Por lo
pronto no le veo inconveniente a la primera opcion, pero hasta ahora el
numero de usuarios de mis sistemas no pasan de 5, por lo que es mas
"comodo" para el administrador de la red, esperar hasta que todos los
usuarios se retiren para actualizar el sistema en un solo lugar.
Me gustaria saber sus opiniones al respecto.
--
Saludos desde Lima, Peru
Yuri Aponte
Analista de Sistemas
yuriPUNTOaponteARROBAhotmailPUNTOcom
Yuri Aponte
2007-07-30 16:32:38 UTC
Permalink
Hola David

Gracias por tu comentario

La cuestion que plantee y que a Luis no le gustaba ( por eso le pregunte si
era un aspecto tecnico o simplemente no era muy elegante
profesionalmente )... es el siguiente

La aplicacion y los archivos necesarios para su ejecucion ( reportes,
iconos, etc. ) en una carpeta compartida en el servidor y luego instalar en
cada cliente las dlls y ocx necesarias y crear un acceo directo al programa
en el servidor ( con una unidad de red que se conecta al iniciar la sesion
del usuario ). De esta manera cuando hay una actualizacion del sistema basta
con sobreescribir en el servidor y al tener los usuarios simples accesos
directos estaran actualizados automaticamente.

Entiendo que quizas en tu situacion al tener una VPN montada genere retrasos
al tener que cargarse el ejecutable, pero en una LAN eso no se da, porque ya
lo he probado y la ejecucion es rapida.
--
Saludos desde Lima, Peru

Yuri Aponte
Analista de Sistemas
yuriPUNTOaponteARROBAhotmailPUNTOcom
Post by David Ortiz
Hola Yuri, No termino de aterrizar el concepto que estás planteando, pero
te comento la forma de como yo he resuelto la misma necesidad. En mi caso
tengo un sistema montado en un servidor y es accedido por unas 50 pc's en
6 países (VPN), en el servidor tengo el ejecutable y un archivo de texto
con el número de versión, además una carpeta con ocx's y dll's y un
archivo bat que los registra, hice el instalador de la aplicación con Inno
Setup y en los accesos directos que se crean levanto primero un mini
programita (Actualizador.exe) que compara la versión del servidor con la
versión de la pc cliente y si es mayor la del servidor sustituye el
ejecutable local con el ejecutable del servidor y luego lanza el
ejecutable local. Además si detecto algún error al momento de ejecutar la
aplicación (como el error 91 por ej.) lanzo el bat que copia y registra
los componentes nuevos según la versión del SO de la pc cliente y asunto
resuelto.
Todo esto es transparente para el usuario final el cual no tiene que hacer
nada, y hasta la fecha no he tenido queja alguna. Este esquema es bastante
simple pero funciona y lo puedes hacer tan complejo como quieras.
Espero darte una idea útil, porque eso de instalar un exe por cada usuario
en la misma pc, me suena bastante raro.
Saludos,
David Ortiz
EL Salvador, C.A.
Post by Yuri Aponte
Hola Amigos
Hace un tiempo se estuvo discutiendo el tema de como hacer que un sistema
se auto-actualice. En base a eso tengo una inquietud al respecto, ahora
que estoy replanteando mi esquema de trabajo.
Hace un tiempo he instalado en un cliente que cuenta con una red de 15
PC's un sistema el cual sera usado unicamente por 3 usuarios. En ese
sentido se me ocurrio que en vez de tener tres ejecutables en cada PC,
crear una carpeta en el servidor y conectar una unidad de red desde cada
Pc de usuario para que acceden al aplicativo. La idea me resulto buena en
ese escenario porque cada vez que tenemos que agregar alguna
funcionalidad nueva, simplemente reemplazamos el ejecutable del servidor
y los usuarios al tener accesos directos no se les quita tiempo al tener
que actualizar sus PC's
Mi consulta es: es conveniente realizar este tipo de instalaciones, es
decir un solo .Exe compartido en el servidor y accesos directos en los
usuarios, o es preferible que cada usuario tenga su propio ejecutable y
recurrir al auto-actualizador que se discutio ya tiempo por aca. Por lo
pronto no le veo inconveniente a la primera opcion, pero hasta ahora el
numero de usuarios de mis sistemas no pasan de 5, por lo que es mas
"comodo" para el administrador de la red, esperar hasta que todos los
usuarios se retiren para actualizar el sistema en un solo lugar.
Me gustaria saber sus opiniones al respecto.
--
Saludos desde Lima, Peru
Yuri Aponte
Analista de Sistemas
yuriPUNTOaponteARROBAhotmailPUNTOcom
David Ortiz
2007-07-30 17:37:52 UTC
Permalink
Para mí es cuestión de gustos ... y optimización.
El esquema que planteas no te ayuda mucho que digamos porque de todas
maneras aunque el ejecutable lo tengas en el servidor, necesitas tener todos
los ocx's y dll's necesarios en la pc cliente y que más te dá tener también
el ejecutable ahí. Más del 70% de las pc's acceden desde mi red local, así
que no tiene nada que ver la VPN, y mis tiempos de retraso (cuando es
necesaria una actualización) no pasa de un segundo.
También debes pensar en la escalabilidad de tu sistema; que pasa si
modificas tu aplicación y debes agregarle un control ó referenciar alguna
dll que antes no tenías? Como se lo harías llegar a la pc del usuario?
Dependiendo de las prestaciones (ó exigencias) que tenga tu programa debes
tener en cuenta que al apuntar tus accesos directos al servidor estás
creando trafico de red innecesario, equivalente a cuando abres, modificas y
guardas archivos que están físicamente en otra pc.
Si es elegante ó no, no lo sé (ya dije que es cuestión de gustos) pero en
aspectos técnicos... ya tienes algunas recomendaciones.

Saludos.

David Ortiz
El Salvador, C.A.
Post by Yuri Aponte
Hola David
Gracias por tu comentario
La cuestion que plantee y que a Luis no le gustaba ( por eso le pregunte
si era un aspecto tecnico o simplemente no era muy elegante
profesionalmente )... es el siguiente
La aplicacion y los archivos necesarios para su ejecucion ( reportes,
iconos, etc. ) en una carpeta compartida en el servidor y luego instalar
en cada cliente las dlls y ocx necesarias y crear un acceo directo al
programa en el servidor ( con una unidad de red que se conecta al iniciar
la sesion del usuario ). De esta manera cuando hay una actualizacion del
sistema basta con sobreescribir en el servidor y al tener los usuarios
simples accesos directos estaran actualizados automaticamente.
Entiendo que quizas en tu situacion al tener una VPN montada genere
retrasos al tener que cargarse el ejecutable, pero en una LAN eso no se
da, porque ya lo he probado y la ejecucion es rapida.
--
Saludos desde Lima, Peru
Yuri Aponte
Analista de Sistemas
yuriPUNTOaponteARROBAhotmailPUNTOcom
Post by David Ortiz
Hola Yuri, No termino de aterrizar el concepto que estás planteando, pero
te comento la forma de como yo he resuelto la misma necesidad. En mi caso
tengo un sistema montado en un servidor y es accedido por unas 50 pc's en
6 países (VPN), en el servidor tengo el ejecutable y un archivo de texto
con el número de versión, además una carpeta con ocx's y dll's y un
archivo bat que los registra, hice el instalador de la aplicación con
Inno Setup y en los accesos directos que se crean levanto primero un mini
programita (Actualizador.exe) que compara la versión del servidor con la
versión de la pc cliente y si es mayor la del servidor sustituye el
ejecutable local con el ejecutable del servidor y luego lanza el
ejecutable local. Además si detecto algún error al momento de ejecutar
la aplicación (como el error 91 por ej.) lanzo el bat que copia y
registra los componentes nuevos según la versión del SO de la pc cliente
y asunto resuelto.
Todo esto es transparente para el usuario final el cual no tiene que
hacer nada, y hasta la fecha no he tenido queja alguna. Este esquema es
bastante simple pero funciona y lo puedes hacer tan complejo como
quieras.
Espero darte una idea útil, porque eso de instalar un exe por cada
usuario en la misma pc, me suena bastante raro.
Saludos,
David Ortiz
EL Salvador, C.A.
Post by Yuri Aponte
Hola Amigos
Hace un tiempo se estuvo discutiendo el tema de como hacer que un
sistema se auto-actualice. En base a eso tengo una inquietud al
respecto, ahora que estoy replanteando mi esquema de trabajo.
Hace un tiempo he instalado en un cliente que cuenta con una red de 15
PC's un sistema el cual sera usado unicamente por 3 usuarios. En ese
sentido se me ocurrio que en vez de tener tres ejecutables en cada PC,
crear una carpeta en el servidor y conectar una unidad de red desde cada
Pc de usuario para que acceden al aplicativo. La idea me resulto buena
en ese escenario porque cada vez que tenemos que agregar alguna
funcionalidad nueva, simplemente reemplazamos el ejecutable del servidor
y los usuarios al tener accesos directos no se les quita tiempo al tener
que actualizar sus PC's
Mi consulta es: es conveniente realizar este tipo de instalaciones, es
decir un solo .Exe compartido en el servidor y accesos directos en los
usuarios, o es preferible que cada usuario tenga su propio ejecutable y
recurrir al auto-actualizador que se discutio ya tiempo por aca. Por lo
pronto no le veo inconveniente a la primera opcion, pero hasta ahora el
numero de usuarios de mis sistemas no pasan de 5, por lo que es mas
"comodo" para el administrador de la red, esperar hasta que todos los
usuarios se retiren para actualizar el sistema en un solo lugar.
Me gustaria saber sus opiniones al respecto.
--
Saludos desde Lima, Peru
Yuri Aponte
Analista de Sistemas
yuriPUNTOaponteARROBAhotmailPUNTOcom
Yuri Aponte
2007-07-30 22:36:46 UTC
Permalink
Hola David

Gracias por tus recomendaciones. Efectivamente hago una instalacion de las
dlls y ocxs necesarios en mi aplicacion y claro como bien dices si en algun
momento necesito actualizar una lo tendre que hacer en cada PC.. Es algo que
no habia pensado y gracias a tu aporte veo que no gano nada teniendo el exe
en el servidor.

Cuando mencionaba si era o no elegante me referia a que al no hacer caido en
la actualizacion de dlls u ocxs me parecia que el tema pasaba mas por una
cuestion de si estaba bien hacerlo asi o era cuestion de gustos personales.
Nuevamente caigo en que no es asi, dado que el trafico de red ( que tambien
me imagino que sera minimo ) al ejecutar el exe desde el servidor es algo a
tomar en cuenta tambien.

Bueno, como en u principio comente, me gustaba saber de opiniones y la tuya
me ha ayudado en ese objetivo
--
Saludos desde Lima, Peru

Yuri Aponte
Analista de Sistemas
yuriPUNTOaponteARROBAhotmailPUNTOcom
Post by David Ortiz
Para mí es cuestión de gustos ... y optimización.
El esquema que planteas no te ayuda mucho que digamos porque de todas
maneras aunque el ejecutable lo tengas en el servidor, necesitas tener
todos los ocx's y dll's necesarios en la pc cliente y que más te dá tener
también el ejecutable ahí. Más del 70% de las pc's acceden desde mi red
local, así que no tiene nada que ver la VPN, y mis tiempos de retraso
(cuando es necesaria una actualización) no pasa de un segundo.
También debes pensar en la escalabilidad de tu sistema; que pasa si
modificas tu aplicación y debes agregarle un control ó referenciar alguna
dll que antes no tenías? Como se lo harías llegar a la pc del usuario?
Dependiendo de las prestaciones (ó exigencias) que tenga tu programa debes
tener en cuenta que al apuntar tus accesos directos al servidor estás
creando trafico de red innecesario, equivalente a cuando abres, modificas
y guardas archivos que están físicamente en otra pc.
Si es elegante ó no, no lo sé (ya dije que es cuestión de gustos) pero en
aspectos técnicos... ya tienes algunas recomendaciones.
Saludos.
David Ortiz
El Salvador, C.A.
Post by Yuri Aponte
Hola David
Gracias por tu comentario
La cuestion que plantee y que a Luis no le gustaba ( por eso le pregunte
si era un aspecto tecnico o simplemente no era muy elegante
profesionalmente )... es el siguiente
La aplicacion y los archivos necesarios para su ejecucion ( reportes,
iconos, etc. ) en una carpeta compartida en el servidor y luego instalar
en cada cliente las dlls y ocx necesarias y crear un acceo directo al
programa en el servidor ( con una unidad de red que se conecta al iniciar
la sesion del usuario ). De esta manera cuando hay una actualizacion del
sistema basta con sobreescribir en el servidor y al tener los usuarios
simples accesos directos estaran actualizados automaticamente.
Entiendo que quizas en tu situacion al tener una VPN montada genere
retrasos al tener que cargarse el ejecutable, pero en una LAN eso no se
da, porque ya lo he probado y la ejecucion es rapida.
--
Saludos desde Lima, Peru
Yuri Aponte
Analista de Sistemas
yuriPUNTOaponteARROBAhotmailPUNTOcom
Post by David Ortiz
Hola Yuri, No termino de aterrizar el concepto que estás planteando,
pero te comento la forma de como yo he resuelto la misma necesidad. En
mi caso tengo un sistema montado en un servidor y es accedido por unas
50 pc's en 6 países (VPN), en el servidor tengo el ejecutable y un
archivo de texto con el número de versión, además una carpeta con ocx's
y dll's y un archivo bat que los registra, hice el instalador de la
aplicación con Inno Setup y en los accesos directos que se crean levanto
primero un mini programita (Actualizador.exe) que compara la versión del
servidor con la versión de la pc cliente y si es mayor la del servidor
sustituye el ejecutable local con el ejecutable del servidor y luego
lanza el ejecutable local. Además si detecto algún error al momento de
ejecutar la aplicación (como el error 91 por ej.) lanzo el bat que copia
y registra los componentes nuevos según la versión del SO de la pc
cliente y asunto resuelto.
Todo esto es transparente para el usuario final el cual no tiene que
hacer nada, y hasta la fecha no he tenido queja alguna. Este esquema es
bastante simple pero funciona y lo puedes hacer tan complejo como
quieras.
Espero darte una idea útil, porque eso de instalar un exe por cada
usuario en la misma pc, me suena bastante raro.
Saludos,
David Ortiz
EL Salvador, C.A.
Post by Yuri Aponte
Hola Amigos
Hace un tiempo se estuvo discutiendo el tema de como hacer que un
sistema se auto-actualice. En base a eso tengo una inquietud al
respecto, ahora que estoy replanteando mi esquema de trabajo.
Hace un tiempo he instalado en un cliente que cuenta con una red de 15
PC's un sistema el cual sera usado unicamente por 3 usuarios. En ese
sentido se me ocurrio que en vez de tener tres ejecutables en cada PC,
crear una carpeta en el servidor y conectar una unidad de red desde
cada Pc de usuario para que acceden al aplicativo. La idea me resulto
buena en ese escenario porque cada vez que tenemos que agregar alguna
funcionalidad nueva, simplemente reemplazamos el ejecutable del
servidor y los usuarios al tener accesos directos no se les quita
tiempo al tener que actualizar sus PC's
Mi consulta es: es conveniente realizar este tipo de instalaciones, es
decir un solo .Exe compartido en el servidor y accesos directos en los
usuarios, o es preferible que cada usuario tenga su propio ejecutable y
recurrir al auto-actualizador que se discutio ya tiempo por aca. Por lo
pronto no le veo inconveniente a la primera opcion, pero hasta ahora el
numero de usuarios de mis sistemas no pasan de 5, por lo que es mas
"comodo" para el administrador de la red, esperar hasta que todos los
usuarios se retiren para actualizar el sistema en un solo lugar.
Me gustaria saber sus opiniones al respecto.
--
Saludos desde Lima, Peru
Yuri Aponte
Analista de Sistemas
yuriPUNTOaponteARROBAhotmailPUNTOcom
David Ortiz
2007-07-30 22:55:21 UTC
Permalink
Para eso estamos. :-)
Post by Yuri Aponte
Hola David
Gracias por tus recomendaciones. Efectivamente hago una instalacion de las
dlls y ocxs necesarios en mi aplicacion y claro como bien dices si en
algun momento necesito actualizar una lo tendre que hacer en cada PC.. Es
algo que no habia pensado y gracias a tu aporte veo que no gano nada
teniendo el exe en el servidor.
Cuando mencionaba si era o no elegante me referia a que al no hacer caido
en la actualizacion de dlls u ocxs me parecia que el tema pasaba mas por
una cuestion de si estaba bien hacerlo asi o era cuestion de gustos
personales. Nuevamente caigo en que no es asi, dado que el trafico de red
( que tambien me imagino que sera minimo ) al ejecutar el exe desde el
servidor es algo a tomar en cuenta tambien.
Bueno, como en u principio comente, me gustaba saber de opiniones y la
tuya me ha ayudado en ese objetivo
--
Saludos desde Lima, Peru
Yuri Aponte
Analista de Sistemas
yuriPUNTOaponteARROBAhotmailPUNTOcom
Post by David Ortiz
Para mí es cuestión de gustos ... y optimización.
El esquema que planteas no te ayuda mucho que digamos porque de todas
maneras aunque el ejecutable lo tengas en el servidor, necesitas tener
todos los ocx's y dll's necesarios en la pc cliente y que más te dá tener
también el ejecutable ahí. Más del 70% de las pc's acceden desde mi red
local, así que no tiene nada que ver la VPN, y mis tiempos de retraso
(cuando es necesaria una actualización) no pasa de un segundo.
También debes pensar en la escalabilidad de tu sistema; que pasa si
modificas tu aplicación y debes agregarle un control ó referenciar alguna
dll que antes no tenías? Como se lo harías llegar a la pc del usuario?
Dependiendo de las prestaciones (ó exigencias) que tenga tu programa
debes tener en cuenta que al apuntar tus accesos directos al servidor
estás creando trafico de red innecesario, equivalente a cuando abres,
modificas y guardas archivos que están físicamente en otra pc.
Si es elegante ó no, no lo sé (ya dije que es cuestión de gustos) pero en
aspectos técnicos... ya tienes algunas recomendaciones.
Saludos.
David Ortiz
El Salvador, C.A.
Post by Yuri Aponte
Hola David
Gracias por tu comentario
La cuestion que plantee y que a Luis no le gustaba ( por eso le pregunte
si era un aspecto tecnico o simplemente no era muy elegante
profesionalmente )... es el siguiente
La aplicacion y los archivos necesarios para su ejecucion ( reportes,
iconos, etc. ) en una carpeta compartida en el servidor y luego instalar
en cada cliente las dlls y ocx necesarias y crear un acceo directo al
programa en el servidor ( con una unidad de red que se conecta al
iniciar la sesion del usuario ). De esta manera cuando hay una
actualizacion del sistema basta con sobreescribir en el servidor y al
tener los usuarios simples accesos directos estaran actualizados
automaticamente.
Entiendo que quizas en tu situacion al tener una VPN montada genere
retrasos al tener que cargarse el ejecutable, pero en una LAN eso no se
da, porque ya lo he probado y la ejecucion es rapida.
--
Saludos desde Lima, Peru
Yuri Aponte
Analista de Sistemas
yuriPUNTOaponteARROBAhotmailPUNTOcom
Post by David Ortiz
Hola Yuri, No termino de aterrizar el concepto que estás planteando,
pero te comento la forma de como yo he resuelto la misma necesidad. En
mi caso tengo un sistema montado en un servidor y es accedido por unas
50 pc's en 6 países (VPN), en el servidor tengo el ejecutable y un
archivo de texto con el número de versión, además una carpeta con ocx's
y dll's y un archivo bat que los registra, hice el instalador de la
aplicación con Inno Setup y en los accesos directos que se crean
levanto primero un mini programita (Actualizador.exe) que compara la
versión del servidor con la versión de la pc cliente y si es mayor la
del servidor sustituye el ejecutable local con el ejecutable del
servidor y luego lanza el ejecutable local. Además si detecto algún
error al momento de ejecutar la aplicación (como el error 91 por ej.)
lanzo el bat que copia y registra los componentes nuevos según la
versión del SO de la pc cliente y asunto resuelto.
Todo esto es transparente para el usuario final el cual no tiene que
hacer nada, y hasta la fecha no he tenido queja alguna. Este esquema es
bastante simple pero funciona y lo puedes hacer tan complejo como
quieras.
Espero darte una idea útil, porque eso de instalar un exe por cada
usuario en la misma pc, me suena bastante raro.
Saludos,
David Ortiz
EL Salvador, C.A.
Post by Yuri Aponte
Hola Amigos
Hace un tiempo se estuvo discutiendo el tema de como hacer que un
sistema se auto-actualice. En base a eso tengo una inquietud al
respecto, ahora que estoy replanteando mi esquema de trabajo.
Hace un tiempo he instalado en un cliente que cuenta con una red de 15
PC's un sistema el cual sera usado unicamente por 3 usuarios. En ese
sentido se me ocurrio que en vez de tener tres ejecutables en cada PC,
crear una carpeta en el servidor y conectar una unidad de red desde
cada Pc de usuario para que acceden al aplicativo. La idea me resulto
buena en ese escenario porque cada vez que tenemos que agregar alguna
funcionalidad nueva, simplemente reemplazamos el ejecutable del
servidor y los usuarios al tener accesos directos no se les quita
tiempo al tener que actualizar sus PC's
Mi consulta es: es conveniente realizar este tipo de instalaciones, es
decir un solo .Exe compartido en el servidor y accesos directos en los
usuarios, o es preferible que cada usuario tenga su propio ejecutable
y recurrir al auto-actualizador que se discutio ya tiempo por aca. Por
lo pronto no le veo inconveniente a la primera opcion, pero hasta
ahora el numero de usuarios de mis sistemas no pasan de 5, por lo que
es mas "comodo" para el administrador de la red, esperar hasta que
todos los usuarios se retiren para actualizar el sistema en un solo
lugar.
Me gustaria saber sus opiniones al respecto.
--
Saludos desde Lima, Peru
Yuri Aponte
Analista de Sistemas
yuriPUNTOaponteARROBAhotmailPUNTOcom
Continúe leyendo en narkive:
Loading...