Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Temas relacionados > Redes
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-08-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Ejecutable por cada cliente o uno solo compartido

Hola gente, recurro a ustedes que deben tener mucha mas experiencia en sistemas de bases de datos cliente/servidor que yo. Necesito que me orienten sobre la ejecucion y ubicacion del archivo ejecutable de mi aplicacion delphi XE.
El hecho es que el ejecutable pesa alrededor de 6 mb y actualmente cada nodo o cliente que opera en el sistema tiene una copia de este
Ahora la pregunta:

¿Esta bien que ponga un ejecutable (copia) por cada pc que ingrese a operar el sistema o bien debo hacer el enlace para que lo ejecute desde la Pc donde se encuentra la base de datos?. ¿es indistinto o va en detrimento de la red?. ¿hago un acceso directo al ejecutable o debo generar una unidad de red?

Para acceder a la base de datos existe un archivo .ini que utiliza cada pc con la ubicación de la base de datos y sus respectivos parámetros (Ubicacion, claves, directorios y demas).-

Esta consulta viene porque si hay que modificar algo obviamente debo actualizar los ejecutables de todos lo clientes en vez de actualizar solo uno y si definitivamente pongo uno solo para todos los clientes no se si se vera afectado el rendimiento general.

Saludos.-

Pd: El sistema operativo donde se aloja la base de datos (Firebird 2.5) es win 7 y los clientes Xp Sp2
Responder Con Cita
  #2  
Antiguo 01-08-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
En mi experiencia, el ubicar el ejecutable en una locación central hace muy lenta la operación. Yo pensaría más por el lado de agregar al software un módulo de actualización automática que detecte cuando hay nuevas versiones, las descargue y las instale. Se ha habaldo de esto anteriormente en los foros.

En su defecto, mientras implementas la actualización, pones una dirección web de dónde descargar las actualizaciones y avisas a todos por mail/teléfono cuando haya una. Yo hago algo similar en un sistema y lo que se descarga es un instalador hecho con InnoSetup para que el usuario no tenga problemas en cómo instalar.

// Saludos
Responder Con Cita
  #3  
Antiguo 01-08-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Gracias román por responder. Igualmente el sistema esta en un red local y mas de ahí no va a pasar el tema es que hay 12 PC's que usan la aplicación por lo tanto 12 copias del ejecutable. Creo que mucho no se va a actualizar, tal vez ahora porque lo implemente la semana pasada y algunas correcciones surgieron. Si sugeris que siga así, así va a ser. Todo sea porque no se me venga abajo el rendimiento.

Gracias y saludos
Responder Con Cita
  #4  
Antiguo 01-08-2012
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.467
Poder: 21
newtron Va camino a la fama
Hola.

Ciertamente el tirar del ejecutable en el servidor se nota al ejecutar el programa pero una vez cargado en memoria no debe de haber muchas diferencias entre usarlo en modo local o desde el servidor y para mi es bastante más cómodo mantener un ejecutable del servidor que no andar actualizando cada uno de los clientes.

Un ejecutable de 6 megas lo debe de leer facilmente desde la red pero no te costará mucho probar las dos opciones y escoger la que más te convenga.

Saludos
__________________
Be water my friend.
Responder Con Cita
  #5  
Antiguo 01-08-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Es que todo esto realmente es mucho más amplio de lo que aparenta. En principio, un servidor de bases de datos debe ser sólo eso, un servidor de bases de datos, los demás equipos no deben tener acceso a nada del servidor, sólo hacer una petición por un puerto al mismo y esperar a que te conteste por el mismo puerto. Todo lo demás es sobrecargarlo con cosas que no son necesarias.
En todo caso para esa tarea se debería usar un servidor de aplicaciones, que para eso están.
Además que con más usuarios conectados... más sobrecarga y más lento se va a convertir ese servidor, y si además añadimos directorios compartidos, servidor de impresión, etc. entonces el servidor se va a arrastrar de lento.
Entiendo que una pequeña oficina con 4 ó 5 equipos puede aprovechar un servidor para ese tema (aunque los precios hoy en día permite poner un servidor dedicado bastante económico), pero si ya son más de 10 equipos, la cosa empieza a cambiar, para empezar, que yo sepa, un windows "normal" no admite más de 10 conexiones de usuarios, y aquí se está hablando de 12, así que a pagar más licencias o poner una versión del windows que permita más.
Y si hablamos de memoria ram, 12 usuarios conectados también se lleva una buena cantidad, porque estamos hablando de "sesiones abiertas" en el servidor, no de simples conexiones para hacer/recibir peticiones por un puerto.
En fin, que son muchos detalles los que hay que tener en cuenta, y para ello hace falta conocer bien el caso, estudiarlo y llegar a una conclusión.
Todo lo que se ha comentado aquí es algo muy "genérico", ya que no conocemos los detalles concretos de esta oficina/empresa.
Responder Con Cita
  #6  
Antiguo 01-08-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Hola: En principio estaba implementado para algunas PC's y se fueron sumando de a poco. También debo reconocer que estoy recién empezando con esto de los sistemas administrativos cliente/servidor, de tal manera que en ningún momento me puse a pensar en un servidor dedicado ni nada por el estilo. Esta organización para la cual trabajo tiene varias secciones y a medida que se iba realizando las pruebas iba creciendo el numero de usuarios que querían participar lo que conllevo a ir "emparchando" el programa ya que había mas cosas que no estaban analizadas desde un principio (y ahí empezaron los problemas).
En definitiva hoy esta funcionando de acuerdo a lo esperado y lo único que hay como "servidor" es una pc nueva con bastante capacidad para lo que se necesita, pero nada raro (2 gb de ram, un disco de 500 gb y win 7 ultimate) donde se aloja la base de datos firebird de 2.9 gb. Lo graciosos es que también esa trabaja como cliente. (Somos una organización mediana, pero sin recursos... Argentina ).-
Como verán, eso de emparchar el programa es lo que me lleva a realizar las correcciones que hablaba en un principio y debo andar con un pen con el ejecutable actualizando a cada cliente. Igual estoy conforme con el desempeño del programa porque hace precisamente una semana había un par de cabos sueltos y a partir de ayer comenzaron a cerrar el circuito.- (La famosa luz al fondo del tunel).
Ahora veré como se sigue desempeñando el sistema y en el caso que explote volveré

Gracias a todos.

PD. (asi por lo bajo... ni se imaginan como son las conexiones, cables, switch y demas (hasta hub`s tengo y ni se de que epoca son ) asi que mucho mas no puedo pedir )

Saludos.-
Responder Con Cita
  #7  
Antiguo 06-08-2012
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.467
Poder: 21
newtron Va camino a la fama
Cita:
Empezado por Casimiro Notevi Ver Mensaje
En todo caso para esa tarea se debería usar un servidor de aplicaciones, que para eso están.
¿Te importaría contarme cómo va el tema ese del servidor de aplicaciones?. Nunca he hecho una instalación con dos servidores, uno para datos y otro para aplicaciones.

Gracias y un saludo
__________________
Be water my friend.
Responder Con Cita
  #8  
Antiguo 24-09-2012
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 599
Poder: 21
mRoman Va por buen camino
EXE en RED LAN y BD en Servidor de Aplicaciones

Solo para agregar a hilo, comentarles que desarrolle una aplicacion para la empresa donde trabajo (Delphi6 y Firebird 1.5) y aqui se instalo en una unidad de la RED (LAN) el ejecutable (de 6 Gb.) y las carpetas que el ejecutable buscara en base a la ubicación de este, es decir usando componentes IBx, en especifico el TIBDatabase, en el cual dentro de la programacion hice esto:

Código Delphi [-]
procedure TmodDatos.dbFluidaLogin(Database: TIBDatabase;
  LoginParams: TStrings);
begin
     try
       frmConexion:=TFrmConexion.Create(Self);
       if frmConexion.ShowModal = mrOk then
          begin
              LoginParams.Values['user_name'] := frmConexion.edUsuario.Text;
              LoginParams.Values['password']  := frmConexion.mskPassword.Text;
              dbFluida.DatabaseName:=frmConexion.edServerName.Text+':C:\SysLiquid\BD\DataBase.FDB';
          end;
     finally
          frmConexion.Free;
     end;
end;

Desde el formulario de conexion el usuario indica el NOMBRE DE LA PC o bien LA IP DE ESTA.....solo que aqui existe el problema de que el usuario, si tiene conocimientos en informatica sabra la ubicacion de nuestra base de datos.....se puede arreglar agregando mejor la ruta en el archivo .INI de tal manera que sea transparente para el usuario, como el que hizo nuestro compañero que inicio este hilo.....

En lo particular tenemos el ejecutable en la RED y la base de datos en un SERVIDOR DE APLICACIONES. En cada máquina cliente se tiene un acceso directo al archivo EXE de la aplicacion (ej. i:\SisApp\myApp.exe) y este mostrara la pantalla de conexion la cual solo tiene 3 parametros.....usuario, passw y nombre del servidor....

La ventaja q tengo es que son pocos los usuarios que se conectan....no llegan a 10. Ademas de tener el EXE en una unidad de la red, pues es mas comodo a la hora de las actualizaciones.

El servidor de la base de datos esta en Win XP Profesional y en otro estado de la rep. mex. la base de datos esta en un Win Server 2008.

Saludos.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!

Última edición por mRoman fecha: 24-09-2012 a las 20:56:14.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como hacer un ejecutable unico para cada ordenador? negrokau Varios 1 14-10-2011 14:21:39
solo copio el ejecutable? Patricio Varios 3 16-05-2008 23:00:44
Usar un TDataModule compartido entre un ejecutable y una dll Luzma Conexión con bases de datos 1 18-07-2007 01:37:25
Seleccionar impresora predeterminada en cada cliente david duarte Impresión 6 26-04-2006 16:04:24
mostrar SOLO cliente de los que tengo un sólo registro Giniromero SQL 15 11-06-2004 12:33:19


La franja horaria es GMT +2. Ahora son las 23:38:37.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi