Walter, tomando el tema, porque tengo dudas a este respecto también... si cuando se ejecuta el sistema "baja" los datos del servidor a tablas locales, entonces somo se hace para mantener la congruencia de la información con otras sucursales o equipos que están simultaneamente realizando transacciones a la misma base de datos, y si hay que estar verificando en las tablas del servidor si hay nuevos datos para actualizarlos, ¿ no sería la misma carga de datos que estaría viajando por la red ? o por lo menos, habría que crear algún socket que se dispare cuando algo pase en la BD del servidor y estar actualizando las tablas del equipo conectado ?....
Pienso que sería mejor enviar la consulta o proceso a realizar pero para solo para el registro en cuestión, de esa forma no viajaría mayor información que la que corresponde a los datos a modificar/actualizar/procesar y el procesamiento sí se haría en el servidor.
No sería lo mismo estar verificando 2000 registros para tener los clientes actualizados que consultar solo por uno que es en el que estoy interesado en saber y procesar.
Digo esto porque no me queda muy claro el asunto de tener datos en el equipo si estamos con un servidor a donde concurren varias terminales, y donde los datos se ocupan conocer su estado actual en el momento, como sería saldos de una cuenta o stock en inventario de artículos.
Espero tus aportes, gracias.
Saludos.
------------------
rfsalasb
2011-07-07
-------------------------------------------------------------
Remitente:Walter R. Ojeda Valiente
Fecha:2011-07-07 10:29:55
Destinatario:publice...@googlegroups.com
CC:
Asunto:RE: [vfp] VISUAL FOXPRO 9 CON Firebird 2.5
Hola Antonio
En SQL_DEMO se utiliza la técnica recomendada para Cliente/Servidor.
1. Los datos de todos los clientes (que están en el Servidor) se copian en una tabla local, UNA SOLA VEZ, al instalar la aplicación en esa computadora
2. La validación de los datos de los clientes se realiza en la tabla local, que es muchísimo más rápida
3. Antes de realizar esa validación se verifica que no haya clientes nuevos en el Servidor. Si los hay, solamente los datos de los clientes nuevos se copian en la tabla local.
La razón para hacerlo de esta manera es para que por la red circulen la menor cantidad de datos posibles. Y por lo tanto, que todas las validaciones se realicen muy rapidamente. Aunque tengas 2.000 estaciones de trabajo actualizando datos, igualmente todo funcionará velozmente porque el tráfico por la red es mínimo.
Saludos.
Walter.
Date: Thu, 7 Jul 2011 11:04:13 -0500
Subject: Re: [vfp] VISUAL FOXPRO 9 CON Firebird 2.5
From:
sasys...@gmail.com
To:
publice...@googlegroups.com
Gracias Walter y Carlos por sus excelentes respuestas, la duda me surgue por que en el ejemplo de SQLdemo veo que se transportan los datos de los productos al cliente para ser validados y no se realiza por un store proc, entonces yo me pregunto si fueran varias estaciones de trabajo haciendo esto osea transportando datos de los maestros de productos, clientes, etc.., desde el servidor a los clientes no conlleva a una sobrecarga?.
Como suelen trabajan los ERP de las grandes corporaciónes financieras o de los grades grupos empresariales en donde es probable que cada una de sus sucursales esten conectadas todas a un mismo servidor?
Gracias amigos. y disculpen si mis apreciaciones puedan estar desefocadas. saludos Antonio.
El 6 de julio de 2011 20:46, Walter R. Ojeda Valiente <
wr...@hotmail.com> escribió:
Hola Antonio
Si vas a usar Bases de Datos SQL entonces te conviene que TODOS LOS PROCEDIMIENTOS que leen o escriben en las tablas se encuentren dentro de ellas, o sea como procedimientos almacenados.
Dentro de tus .PRG, formularios y clases, NO DEBERÍAS TENER funciones o procedimientos que lean o escriban datos en las tablas.
Esa es la forma correcta de trabajar con Cliente/Servidor, debes seguir con la filosofía: "todo lo que puede hacerse dentro de la Base de Datos debe hacerse dentro de la Base de Datos"
Y también: "por la red debe viajar la menor cantidad posible de datos"
Saludos.
Walter.
Date: Wed, 6 Jul 2011 12:34:25 -0500
Subject: Re: [vfp] VISUAL FOXPRO 9 CON Firebird 2.5
From:
sasys...@gmail.com
To:
publice...@googlegroups.com
Walter he estado analizando y tratando de aprender de tu excelente trabajo, quiero desarrollar un aplic con un motor sql y queria preguntarte que vventajas o desventajas se tienen a la hora programar de esta manera, ya que en el caso de los proc almacenados unicamente se tienen para actualizar las tablas del servidor, los procedimientos ya mas complejos deberia tenerlos siempre en un prg y no en un proc almacenados?, siendo asi no estaria perdiendo las bondades que me ofrece el servidor ? o estando en un prg se ejecutan con la misma velocidad que estando almacenados en la bd?.
Saludos,
Tony
El 5 de julio de 2011 20:43, Adolfo Leon Quintero Hoyos <
todoso...@gmail.com> escribió:
Gracias Walter, me parece excelente voy a buscar mas para saber que tengo que tener en cuenta
Saludos
Adolfo
El 5 de julio de 2011 20:09, Walter R. Ojeda Valiente <
wr...@hotmail.com> escribió:
Puedes descargar SQL_DEMO, allí tienes los códigos fuentes y la explicación de una aplicación completa que usa Firebird.
http://www.mediafire.com/?dugbqkqt4tx6bdl
Saludos.
Walter.