Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-11-2005
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.693
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
No creo que esa sea la solución, salvo que transmitas cantidades enormes de datos, entonces sí podría ser de ayuda.
Responder Con Cita
  #2  
Antiguo 11-11-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
Cita:
Empezado por Casimiro Notevi
salvo que transmitas cantidades enormes de datos
Precisamente ese puede ser el problema, que sin querer, se esten transmitiendo, talvez no enormes, pero si muchos datos. Recordá que al final de cuentas, una red de 512Kb no es mas que 0.5% de una red "normal" fast ethernet. No digamos de una gigabit ethernet (de la que yo disfruto hace algunos meses), de la que vendría siendo algo así como 0.0005%

Así que, no es lo mismo programar algo para que corra sobre una red local, que tener en cuenta que pasará por un canal tan limitado. En esas circunstancias, habrá que analizar la aplicación y quitar del arranque todo cuanto sea posible.

Otra técnica para reducir el tiempo de carga del programa suele ser dejar una copia local de datos que cambian poco, y refrescarlos a intervalos regulares de tiempo, bajo demanda o bien por versionado de tablas.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 11-11-2005
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.693
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Tienes razón, por eso a mí me gusta programar estilo "cajero de banco", datos... los justos.
Responder Con Cita
  #4  
Antiguo 11-11-2005
ronaldhr ronaldhr is offline
Registrado
 
Registrado: nov 2005
Posts: 5
Poder: 0
ronaldhr Va por buen camino
El programa no es mío y me imagino que cuando lo programaron pensaron solo para LAN pero no en internet, el proveedor de ese sistema estaba desarrollando una herramienta para conectar por internet, me imagino que enviará menos datos, pero hasta ahora no han sacado dicha herramienta al público.

Voy a probar el ZeBeDee para ver que tal va, de todos modos no necesito usar el sistema en modo remoto intensamente, solo para supervisar y ajustar ciertas cosas. Además deseo probar el Remote Desktop de Windows Xp, para ver que posibilidades tiene.

Luego de ver el resultado de ambos veo cual me conviene más.


Saludos y Gracias.
Responder Con Cita
  #5  
Antiguo 11-11-2005
ferysil2003 ferysil2003 is offline
Miembro
 
Registrado: abr 2004
Posts: 26
Poder: 0
ferysil2003 Va por buen camino
Conectar directamente una aplicacion a través de adsl como si fuese un red local no es viable ya que como sabreis cuando nos hablan de velocidad adsl de 512k o 1Mb nos estan hablando de velocidad de descarga, sin embargo la de subida en menor, sino recuerdo mal sería a 128k y 256k respectivamente, por lo tanto el cliente puede tener la velocidad de 1mb pero donde reside la base de datos, como es la que sirve los datos su velocidad máxima será de 128k o de 256k. Recordar que estas velocidades son las teoricas de adsl, en la practica son menores. Ademas hay que tener en cuenta que las velocidades son en bits, por lo tanto si lo pasamos a bytes que es lo que nos interesa tendremos velocidades de subida de 16 bytes o 32 bytes por segundo. Si uno hace una consulta por ejemplo que devuelva 20 registros en un dbgrid y cada registro tuviese 100 bytes de datos estaríamos hablando de 2000 bytes de descaga que nos devuelve la consulta. Esto en red local es instantaneo pero con adsl tardaría 125 o 62,5 segundos respectivamente. Es decir, no es viable.
Solución: Poner un servidor de terminales, es decir, poner un servidor por ejemplo con windows 2003 server con la opción de terminal server, y los puestos con xp profesional o w2000 profesional. En esta solución habría que tener en cuenta bien el tema de licencias y además saber que esta solucion lo que hace es que la aplicacion se ejecuta en el servidor por cada terminal conectado, y lo que circula por la adsl son realmente pantallazos. Los colores de conexión tenemos que saber que son a 256 colores para acelerar la descarga, pero es suficiente para la mayor parte de las aplicaciones. Tenemos que tener en cuenta el numero de usuarios que se conectarán a la vez para poner un servidor adecuado en velocidad y memoria ram suficiente para que no se colapse. Este tipo de instalaciones las he hecho con frecuencia y funcionan bien y rápido, lo único es el coste, ya que yo recomiendo poner un sevidor de marca en condiciones, y ya sabemos lo que supone esto.
Responder Con Cita
  #6  
Antiguo 11-11-2005
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.693
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por ferysil2003
Conectar directamente una aplicacion a través de adsl como si fuese un red local no es viable ya que como sabreis cuando nos hablan de velocidad adsl de 512k o 1Mb nos estan hablando de velocidad de descarga, sin embargo la de subida en menor, sino recuerdo mal sería a 128k y 256k respectivamente, por lo tanto el cliente puede tener la velocidad de 1mb pero donde reside la base de datos, como es la que sirve los datos su velocidad máxima será de 128k o de 256k. Recordar que estas velocidades son las teoricas de adsl, en la practica son menores. Ademas hay que tener en cuenta que las velocidades son en bits, por lo tanto si lo pasamos a bytes que es lo que nos interesa tendremos velocidades de subida de 16 bytes o 32 bytes por segundo. Si uno hace una consulta por ejemplo que devuelva 20 registros en un dbgrid y cada registro tuviese 100 bytes de datos estaríamos hablando de 2000 bytes de descaga que nos devuelve la consulta. Esto en red local es instantaneo pero con adsl tardaría 125 o 62,5 segundos respectivamente. Es decir, no es viable.
Bueno, un pequeño detalle: al ser bits hay que dividir entre 8 para que salgan bytes, o kbits a kbytes, o sea, 256 kbits= 32 kbytes/seg y no 32 bytes/seg


Cita:
Empezado por ferysil2003
Solución: Poner un servidor de terminales, es decir, poner un servidor por ejemplo con windows 2003 server con la opción de terminal server, y los puestos con xp profesional o w2000 profesional. En esta solución habría que tener en cuenta bien el tema de licencias y además saber que esta solucion lo que hace es que la aplicacion se ejecuta en el servidor por cada terminal conectado, y lo que circula por la adsl son realmente pantallazos. Los colores de conexión tenemos que saber que son a 256 colores para acelerar la descarga, pero es suficiente para la mayor parte de las aplicaciones. Tenemos que tener en cuenta el numero de usuarios que se conectarán a la vez para poner un servidor adecuado en velocidad y memoria ram suficiente para que no se colapse. Este tipo de instalaciones las he hecho con frecuencia y funcionan bien y rápido, lo único es el coste, ya que yo recomiendo poner un sevidor de marca en condiciones, y ya sabemos lo que supone esto.
Esta solución podría valer, en todo caso, si fuese a ejecutar un programa windows por red, pero si va a acceder sólo a datos (base de datos, cliente/servidor), no hace falta para nada, lo ideal es un servidor de bases de datos en linux (libre, sin licencias, mejor rendimiento, etc)
Responder Con Cita
  #7  
Antiguo 11-11-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 23
rastafarey Va por buen camino
Resp

Esplico un poco de como he pensado trabajar para solucionar dicho problem.

Con un servidor d epalicaciones y en los clientes se replic al base de datos pero solo lo necesario.

cuando un cleinte hace un insercion o modificacion o borrado le envia al servidor la informacion antes de realizar la accion localmente el servidor realiza la peticion si esta fallo en via un codigo d erro o un mensaje o x pero algo que diga qu efallo si no fallo, se incremente una variable un campo un generador que indica que hubo algun cambio en dicha tabla y lo envia al cliente, como todo funciono perfecto el cleinte termina d egurdar sus datos y si es necesario lo baj aa discos por si un apagon o un error.

Uan ve¿z qu eel servidor realiza la accion exitosa le envia los cambios al resto de los cleinte que esten conectados osea el registro en caso de insercion o modificacion y si es borrado solo envia la clave unica y en todos los casos tambien envia el valor de la variable o genrador que indica los cambios de la tabla dicha accion la reciven los cleinte sque esten conectados y hacen los indiqeue la accion;

El campo d ecambio lo lame de aui en adelante GenTablaChg
Tabla es el nombre de la tabla.

Ahora vemso el meoyo d el acosa y como se incrementa al velocidad.

Vamos un paso atras. Cuando el cliente se conecta pide todos lso cambios ocurridos en las tablas que el debe tener locales.

¿Como lo hace?. Primero envia todos pide todos los GenTablaChg y los copara con los que posee local mente en el caso qe se alla traido la tabla sino debe traerse la completa.

Si en algun moemento se ha traido ala tabla entonces compra todos los GenTablaChg que posee local mente y si alguno es mayor que lo que el tiene indica que dicha tabal cambio si no quiere decir que su tabal esta iguala la del servidor.

Si la algun GenTablaChg es mayor que su correspondiente localmente entonces este envia los campos primarios(en mi caso yo uso un id unico aparte de los cambios primarios para solo envia los id).

Ha se me habia pasadoo que cada tabal tiene un campo de la ultima modificacion

Entonces envio lo ids ejm.1, 23, 45, 67 mas la fecha de la ultima modificacion y en el servidor compara todos loa ides enviados con lo side de la tabla.

Octeniendo los registros insertados
Se compara los ids que son enviados y no esten el servidor y esto te devuelve lso insetados.

Octeniendo los registros modificados
Se hace los mismo que en el caso anterior pero agrgando la condicion que la fecha enviada sea meyor que l afecha del los del servidor, com esto octenemos los modificados.

Y fianalmemte los borrados
Se compara los id que este en lo senviados y no esten el servidor esto te da los borrados.

Luego armas tu dataset con un acampo qu eindique la accion arealizar. Bueno teniendo le cuenta que para los borrdso solo envias los id ye le res¿to d elos campos son nulos.

LA lelgar al cleinte el cleinmte verifica la accion si es insertar lso inseta en su data local si el modificacio nmodifica lso datos y si es borrado borra con lo sides enviados y baja a disco por si acaso.

Espero que esto te sirva.

Mira lo que si te digo es que hay que echar codigo trancao. Por que es trabajoso.

Ha te digo que estoy haciendo una aplicaion d este tipo con renobjects y clein datset y uso dbaware.

Y no he roto las reglas de uan aplicaion multicapa la que las capas las uso entre el servidor y los cleintes y no en el los cleinte sy la data local.

Aunque puedes usar las capas tabbien en los clientes. Pero ya con le trbajo que daria hacer la reacionentre el cleinte y el servidor es aceptable usar dbaware en los cleintes. ¿Ho no?.

Ha una cosa mas por favor den una opinion algo por el estilo par asaber si ahan leido el post.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #8  
Antiguo 11-11-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 23
rastafarey Va por buen camino
Resp

Mira para hacer replicaiones.

Lea acerca de un componete que se llama copycat.
Que no lo he visto ni usado solo me comento mi compañero de trabjo
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #9  
Antiguo 11-11-2005
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.693
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
rastafarey, creo que cuando limpiaste el teclado, lo montaste con algunas teclas cambiadas de sitio

No te molestes, es una broma, sin ánimo de ofender. Ya imagino que has tecleado rápido y no te has fijado mucho en la pantalla.

Saluditos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 06:43:08.


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