Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-02-2009
URBANO URBANO is offline
Miembro
 
Registrado: jul 2003
Ubicación: Huelva
Posts: 126
Poder: 21
URBANO Va por buen camino
Question Como comunicar Cliente-Servidor via internet?

Hola Foro, estoy realizando un programa el cual debe funcionar en dos oficinas separadas geograficamentes. Ambas oficinas debe de disponer del programa con la base de datos actualizada, pero en ambas oficinas debe existir la base de datos completa, ya que el cliente no quiere trabajar on-line.
Lo que se prentende es que cada x tiempo cada oficina envie la información de que dispone a la otra y esta se actualice. Aunque ambas oficinas necesitan toda la base de datos para trabajar, en la oficina 1 solo puede modificar el contenido de una tabla y en la oficina 2 se puede modificar toda la base de datos menos la tabla que modifica la oficina 1.
Bueno espero haber explicado la situacion

Como es normal esto debe de ser de forma automatica y transparente al usuario. Nunca se me habia planteado esta situación y no se como solucionarlo.

Se me ocurre una prima opcion:

Por medio de ftp. Es decir, desde la oficina 1 se genera un fichero cada x tiempo con los datos de la tabla que puede modificar y se envia al servidor de ftp de la compañia. Desde la oficina 2 cada x tiempo se conecta al ftp y comprueba si existe un nuevo fichero con el que actualizarse. Si es asi, se actuaiza con la nueva información. Y esto tambien al contrario desde la oficina 2 a la 1. Espero que todo esto no sea muy complicado de entender
Creo que esta puede ser una buena solución, pero no se de que manera puedo automatizar este proceso. Como me conecto con delphi a un ftp y busca un fichero concreto?

Bueno si alguien puede ayudarme se lo agradezco. O si alguién piensa en otra posible solución, estoy abierto a cualquier sugencia.

Gracias y saludos.
__________________
El saber no ocupa lugar.
Responder Con Cita
  #2  
Antiguo 06-02-2009
DANY DANY is offline
Miembro
 
Registrado: nov 2003
Posts: 145
Poder: 21
DANY Va por buen camino
me parece que la solucion que le quieres dar por FTP es incorrecta, el tema pasaria por sincronizacion de bases de datos distribuidas. En ese contexto es sumamente importante el motor de base de datos con el que estes trabajando y las herramientas de sincronizacion que esten disponibles.
Otra opcion es simplemente una VPN entre las 2 oficinas, que la BD este alojada fisicamente en una y desde la otra accedan con escritorio remoto o algo por el estilo.
Saludos...
Responder Con Cita
  #3  
Antiguo 06-02-2009
Avatar de Kipow
Kipow Kipow is offline
Miembro
 
Registrado: abr 2006
Ubicación: Guatemala
Posts: 329
Poder: 18
Kipow Va por buen camino
ufff este tema es extenso ya hay algunas ideas por el foro seria de buscarlas, pero para orientarte un poco. podrias.

1. Crear una VPN como te subiere DANY y por terminal services dar acceso a la sucursal. (esta es la facil).

2. Deberias de crear todo un sistema de replicacion, primero crear las bitacoras necesarias por medio de triggers en tu aplicacion para saber que debes de hacer llegar al otro punto. luego sera de que hagas llegar esa informacion hacia el otro punto por cualquier medio, email, ftp o bien directamente hacia la otra base. como ?, pues depende de tu base de datos pero en general abriendo el o los puertos que utiliza la base y haciendo el forwarding del mismo en ambos puntos.

Seria bueno que indicaras que base de datos utilizas

Saludos.
Responder Con Cita
  #4  
Antiguo 08-02-2009
URBANO URBANO is offline
Miembro
 
Registrado: jul 2003
Ubicación: Huelva
Posts: 126
Poder: 21
URBANO Va por buen camino
Primero que nada gracias por vuestras respuetas. Os comento:

- La idea de la VPN e instalar la bd en un servidor y acceder por terminal server es buena, pero el cliente no la quiere ya que quiere darle autonomia de trabajo a los clientes. Vamos quiere que si el servidor se estropea el cliente pueda seguir trabajando.

- La idea de replicación es la que veo que es mas apropiada para este caso.
Voy a simplificar la idea para explicarla mejor. Supongamos que el programa solo tiene dos tablas: clientes y pesadas. En la oficina central se dan de alta a los clientes, pero no se hacen pesadas. En la sucursal solo se hacen pesadas (no se pueden crear clientes) pero solo pueden hacer pesadas aquellos clientes que esten creados en la base de datos. Luego tengo claro que en una oficina solo pueden tocar la tabla cliente y en la otra la tabla pesadas.
La idea que yo estoy estudiando es la de generar dos fichero de texto con una estructura determinada (una para mandar la informacion de clientes y otro para mandar la informacion de pesadas). El proceso seria:

Cada x tiempo en la oficina central se genera un fichero de forma automatica con los datos de los clientes y lo envia a un ftp.

Cada x+5 tiempo en la oficina secundaria se realiza una consulta al ftp y revisa si hay una nueva actualizacion. Si la hay, descarga el fichero de clientes, borra su tabla de clientes e introduce los nuevos datos de clientes.

Cada x+10 tiempo en la oficina secundaria se genera un fichero de forma automatica con los datos de las pesadas y lo envia a un ftp.

Cada x+15 tiempo en la oficina central se realiza una consulta al ftp y revisa si hay una nueva actualizacion. Si la hay, descarga el fichero de pesadas, borra su tabla de pesadas e introduce los nuevos datos de las pesadas.


Creo que el sistema es bueno, pero lo que no se es como automatizar el proceso. La creación de los ficheros en el equipo local si se como hacerlo, pero no se como enviar de forma automatica ese fichero a un ftp y como de forma automatica conectarme a un ftp y buscar un fichero determinado para descargarmelo. Alguna idea??

Espero no haber sido muy extenso. Por cierto la base de datos que estoy utilizando es paradox y utilizo delphi 5.

Gracias de nuevo y saludos.
__________________
El saber no ocupa lugar.
Responder Con Cita
  #5  
Antiguo 20-02-2009
hvus hvus is offline
Registrado
 
Registrado: sep 2006
Posts: 1
Poder: 0
hvus Va por buen camino
Bases de Datos en un Hosting

Lo que yo haria amigos, es instalar en MySQL los datos en un hosting que cuesta alrededor de 6 dlls al mes.. con servicio de backup y seguridad.. y por otra parte hacer los programas que se vinculen a ese IP fijo tomando los datos de ahi..

Que les parece?
Responder Con Cita
  #6  
Antiguo 10-12-2009
URBANO URBANO is offline
Miembro
 
Registrado: jul 2003
Ubicación: Huelva
Posts: 126
Poder: 21
URBANO Va por buen camino
Smile

Perdonad, pero se me habia olvidado comentar la opción que al final he utilizado.

Al final la base de datos es MySQL y ya he encontrado la forma de automatizar el envio de ficheros a un FTP. Para esto utilizo el componente "TidFtp".
Asi pues he conseguido de forma transparente al usuario, enviar desde el ordenador1 un fichero con la información a un ftp y desde el ordenador2 descargo ese fichero y introduzco la informacion en la base de datos.

Gracias por sus ideas.
__________________
El saber no ocupa lugar.
Responder Con Cita
  #7  
Antiguo 10-12-2009
Avatar de Arcioneo
Arcioneo Arcioneo is offline
Miembro
 
Registrado: jul 2006
Ubicación: Tierra
Posts: 583
Poder: 18
Arcioneo Va por buen camino
Menuda tontería

Busca hacer clustering, y de esta forma todo queda como si hubiera un solo pool de conexiones y así funcionaría como si solo fuera un único servidor conectado a la BD y estaría sincronizada.
__________________
"Porque es tan idiotamente sorda la fé y tan ciego el que cree?".
Responder Con Cita
  #8  
Antiguo 11-12-2009
URBANO URBANO is offline
Miembro
 
Registrado: jul 2003
Ubicación: Huelva
Posts: 126
Poder: 21
URBANO Va por buen camino
No entiendo lo de clustering.
__________________
El saber no ocupa lugar.
Responder Con Cita
  #9  
Antiguo 11-12-2009
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Pues en wikipedia encontraras el significado de clustering , aunque yo no me complicaria tanto.
Yo lo que haria es utilizar las funcionalidades que un servidor de base de datos(que es Bueno y potente) posee.
En el caso de usar MySQL ,pues sencillamente optaria por tener otro servidor esclavo de esa manera lograria una replicacion(los mismos datos) entre los dos servidores..
Para el caso de que solo cierto usuario pueda insertar a una cierta tabla y no en otra(s), pues en MySQL se puede dar privilegios a nivel de tablas.
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por rgstuamigo fecha: 11-12-2009 a las 19:00:42.
Responder Con Cita
  #10  
Antiguo 15-12-2009
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

A propósito de Replicacion, seria muy, pero muy bueno que el Club Delphi contara con uno o varios servidor(es) esclavo(s) para evitar perdidas de datos en el futuro.
Ya saben: "Es mejor prevenir que lamentar".
Es mi humilde sugerencia para los Administradores de este Sito Web, que reune a toda Iberoamérica y mucho mas....
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por rgstuamigo fecha: 15-12-2009 a las 21:56:35.
Responder Con Cita
  #11  
Antiguo 17-12-2009
URBANO URBANO is offline
Miembro
 
Registrado: jul 2003
Ubicación: Huelva
Posts: 126
Poder: 21
URBANO Va por buen camino
Smile

Estudiare lo del servidor esclavo y vere si lo aplico.

Gracias por los comentarios.

Saludos.
__________________
El saber no ocupa lugar.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Comunicar app con mySQL vía internet MaMu Internet 5 04-04-2008 05:51:50
como hacer una aplicacion cliente/servidor kurono Varios 3 18-10-2007 05:53:07
Crear programa Cliente / Servidor Como?? Mc_Hacks Conexión con bases de datos 4 16-11-2006 19:40:05
Aplicacion Cliente Servidor sobre Internet chokito Internet 5 30-06-2006 16:18:58
Cliente servidor sobre Internet Leonardo Varios 0 02-06-2006 01:47:11


La franja horaria es GMT +2. Ahora son las 13:17:30.


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