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 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
  #2  
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
  #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
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
  #4  
Antiguo 12-11-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 24
AGAG4 Va por buen camino
Checa Esto....

Si Tiens en el servidor algún WinServer usa en los clientes el Terminal Server, con esto trabajas como si estuvieses en el servidor, en realidad es así

Saludos....
Responder Con Cita
  #5  
Antiguo 14-11-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 23
rastafarey Va por buen camino
Resp

Si asi fue normal mente tecleo en un editor corrijo y luego envio.
Pero esta vez estaba un poco apurado.

Ha el ejemplo qu eplantee ya lo monte con remobject tkbmmen y al parecer funciona bien. Pero no tengo como probarlo a nivel wan.

Si a alguien le interesa .
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #6  
Antiguo 14-11-2005
ferysil2003 ferysil2003 is offline
Miembro
 
Registrado: abr 2004
Posts: 26
Poder: 0
ferysil2003 Va por buen camino
Cierto, lamento mi error, no se en que estaba pensando, si tenemos una velocidad de subida en la conexion del servidor de la base de datos de 128k significa que nos puede servir como máximo 16000 bytes por segundo, y si es de 256k nos serviria como máximo 32000 bytes por segundo, aun así, o se optimiza mucho el sistema de consultas sobre la base de datos o el manejo de la aplicacion sería muy lenta sobre todo si trabajan muchos usuarios al tiempo. Pienso que terminal server o su superior tanto en prestaciones como en coste Citrix sería la mejor solucion. Todo está en evaluar concienzudamente la cantidad de datos que devolverian las consultar de nuestra aplicacion y así estimar tiempos de respuesta.
Responder Con Cita
  #7  
Antiguo 14-11-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 23
rastafarey Va por buen camino
Resp

Te recomiendo hacer conexiones directas a al abase dedatos en lan y para salir qu ela comunicacion se establesaca entre servidores y no con clientes
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #8  
Antiguo 14-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
Creo que estáis confundiendo conceptos... o no me entero bien de lo que habláis

El Terminal Server, al igual que otros programas del estilo, como el RAdmin (Remote Administrator), trabajan como si fuesen una pantalla, teclado y ratón con unos cables muuuuuuuuuuuuuy largos conectados al ordenador que deseemos.

O sea, los únicos datos que circulan por la red son las pantallas que nos muestran y nuestras pulsaciones de teclas y clicks del ratón, pero todo el programa se estará ejecutando en el servidor. No sé si me explico bien.
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 08:06:55.


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