Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 08-02-2013
code88 code88 is offline
Registrado
NULL
 
Registrado: feb 2011
Posts: 5
Poder: 0
code88 Va por buen camino
Smile

Al gracias por el interes , voy a tratar de explicar lo mejor posible todo. Aclaro antes de empezar, por si notan algo medio raro, que es la primera vez que manejo cosas como ClientDataSet, DataSnap, modelo cliente servidor, transmisión de datos en red / web, etc.

Para empezar trabajo con Delphi XE3 Update 1, Firebird 2.5 y dbExpress.

La idea del proyecto es que permita sincronizar bases de datos entre sucursales de una empresa. Desde casa central se debe enviar cada X cantidad de tiempo los cambios que haya sufrido la base de datos (Insert, Update o Delete) al Datasnap que estaría en un servidor Web. A su vez, las sucursales deben bajar estos cambios cada cierto periodo de tiempo. Esto esta pensado para empresas que no tienen conexión a internet permanentemente, cuando vuelvan a conectarse preguntar al Web services por los cambios y bajarlos.

Para esto la idea es: Como Web Service un Servicio Datasnap TCP/IP. Y para los clientes (Casa central / sucursales) un servicio de windows común. Para ir desarrollando y probando la sincronización de las BD trabajo sobre mi propia PC. El proximo paso será probar el envio de datos.

Ahora bien los pasos de la sincronización es:
El cliente inicia la conexión con el DS y le solicita el listado de tablas a actualizar y fecha de última actualización. Con esta info hago las consultas en la BD del cliente y traigo los datos actualizados que cargo en un ClientDataSet por cada tabla. Luego le envio los XMLData al DS y corto la conexión entre ambios. Ahora comienzo a cargar estos XMLData a ClientDataSet dentro del DS para actualizar su Base de datos.

Antes de todo esto trate de hacer cosas mas simples como enviar el ClientDataSet o TStream con la info pero siempre me daba problemas para recuperar los datos en el DS y por lo que investigue es por la limitación de JSON para manejar tipos de datos mas complejos como por ejemplo punteros.

Todo esto me sirve, y funciona perfectamente. Ahora bien, vuelvo a lo que plantee en el primer post. Cuando trato de asignar XMLData muy grandes al cds, ese paso, puede llegar a tardar 20 minutos si el server DataSnap es un servicio. Pero si el DS lo creo como formularios entonces la asignación se produce en segundos.

Bueno creo que explique todo lo pedido, espero no haber pasado nada por alto.
Responder Con Cita
 



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
buscar registros de un ClientDataSet a otro clientDataSet novato_erick Conexión con bases de datos 2 02-02-2013 20:48:09
Error Abriendo ClientDataSet con parametros DataSnap XE3 dison Providers 1 17-11-2012 08:02:29
Como arrancar o parara un servicio en funcion de otro servicio ?? QuarkBcn API de Windows 12 15-06-2011 14:46:11
¿Lentitud en arranque de servicio? Angel Vicente Firebird e Interbase 4 19-11-2010 07:04:01


La franja horaria es GMT +2. Ahora son las 17:52:22.


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