Delphi - Perifericos

 
Vista:

Perifericos

Publicado por allison (15 intervenciones) el 16/02/2003 00:39:19
Saludos foro.
Necesito la sugerencia de los distinguidos miembros de este foro,

tengo una tienda principal y en el deseo de expandirnos se tiene proyectado abrir una sucursal, deseo ke ambas tiendas compartan la misma informacion.

Ke solucion podria platear?
Tenemos una aplicacion en Delphi 6 con interbase 5.0

Gracias por su gentil Atencion
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Perifericos

Publicado por Ernesto D'Spirito (706 intervenciones) el 17/02/2003 06:43:23
Te diría que básicamente existen dos soluciones a ese problema:

1) Contar con un enlace permante entre la sucursal y casa central. Ventajas: las transacciones se procesan en tiempo real contra el servidor de la casa central; y la aplicación cliente-servidor que ya tienes realizada funcionaría. Desventajas: normalmente estos enlaces son muy caros, o muy lentos, o ambas cosas (podría llegar a llevarte a tener que retocar tu aplicación para adaptarse a una red lenta); y estos enlaces suelen tener altas probabilidades de caerse (hay que contar con uno o más enlaces alternativos, preferentemente de naturaleza muy diferente, o no podrás procesar operaciones en la sucursal si se cae el enlace).

2) Trabajar de manera descentralizada, sincronizando las bases de datos cada tanto (varias veces al día, una vez al día, cada dos días, o lo que sea aceptable según el caso). Ventajas: velocidad en el procesamiento de las transacciones; y no dependes de un enlace costoso y que puede caerse. Desventajas: requiere de un servidor en la sucursal; la sincronización por lo general no resulta ser tarea sencilla y hay varias cuestiones en el diseño de tu aplicación que deben cambiar para que este esquema pueda ser implementado satisfactoriamente (íncluyendo que posiblemente la aplicación que se usa en la sucursal deba ser una versión limitada de la aplicación que se usa en la casa matriz); y las bases nunca están sincronizadas, excepto por unos instantes (después de cada sincronización), aunque normalmente esto último no es mucho problema (operativamente suelen ser aceptables varias horas de demora en la actualización de los datos).

Bueno, como sea, estas son generalidades. Hay que ver cada caso en particular, los requerimientos reales y las soluciones técnicas disponibles, con sus respectivos costos y beneficios.

Espero que al menos te sirva como guía.

Ernesto D'Spirito
http://www.latiumsoftware.com/es/index.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Perifericos

Publicado por allison (15 intervenciones) el 17/02/2003 17:45:13
Bueno ernesto te agradesco por tus sugerencias.
me interesaria la pirmera propuesta,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Perifericos

Publicado por Ernesto D'Spirito (706 intervenciones) el 18/02/2003 05:00:23
Bueno, entonces por un lado tienes que evaluar el costo de adaptar tu aplicación para que tenga un rendimiento aceptable sobre una red lenta (para el caso consideremos una conexión a Internet como la conexión más lenta y económica).

Básicamente tendrás que trabajar con pequeños paquetes de registros a comparación de lo que estabas acostumbrada en una red de 10/100 mbps. Si por ejemplo tu red ahora será de 256 kbps, imagínate que si antes transferir 10.000 registros por la red era demasiado tráfico para una conexión de 100 mbps, entonces 25 registros serán demasiado tráfico para una red de 256 kbps. (256 kbps es 0,25% de 100 mbps). En realidad la situación es peor porque en una red lenta comienzan a pesar las pequeñas idas y vueltas entre cliente y servidor por el protocolo de comunicación, y que antes pasaban desapercibidas, pero que en una red lenta consumen preciosos segundos.

Por ejemplo si trabajabas con consultas que devolvían unos cientos de registros deberás cambiar de enfoque. Por caso, en lugar de permitir al usuario buscar un registro en un DbGrid de cientos de registros, ahora primero deberá ingresar suficientes criterios de filtro para hacer una consulta SQL que devuelva sólo uno o cuanto mucho unos pocos registros para que el usuario seleccione. Por ejemplo tus formularios con DbGrids deberán cambiar por formularios de búsqueda y fichas de edición de registros individuales.

Las tablas pequeñas y que sufren pocas actualizaciones deberían estar cacheadas, para evitar traerlas cada vez.

Bueno, todo eso por un lado, y por el otro habría que evaluar el costo de soluciones de comunicación veloces, pues podrías llegar a evitarte modificar tu aplicación, lo que sería bueno pues ya sabes que cuando algo funcionaba bien, cualquier intento de mejorarlo sólo hara que deje de funcionar :)

Habría que ver la distancia entre la central y la sucursal (¿están a pocas cuadras de distancia? ¿se pueden divisar dos personas paradas en las azoteas de los locales o en las azoteas de dos edificios altos vecinos a cada local? ¿están en la misma ciudad? ¿están en distintas ciudades?) y las soluciones de comunicación que pudiera haber disponible para cada caso, con sus respectivos costos de instalación y/o uso mensual.

También necesitarás un plan de contingencia en caso que se caiga la conexión entre la casa central y la sucursal, pues ya debes conocer lo implacable que es la Ley de Murphy, y no puedes darte el lujo de tener parada la facturación o la operatoria comercial en la sucursal porque se te cayó la línea. Tal vez deberías tener disponible un medio de comunicación alternativo, o un sistema de emergencia como por ejemplo la vuelta a lo tradicional, con facturación a mano, comunicación verbal para conocer existencias de stock en la casa central y hacer reservas de mercaderías, etc. Es bueno hacer simulacros cada tanto, no sólo para que estas situaciones no te tomen de sorpresa, sino que también sirven para sacar de la rutina al personal con un trabajo más en equipo.

Bueno, espero que mis comentarios te sirvan.

Ernesto D'Spirito
http://www.latiumsoftware.com/es/index.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Perifericos

Publicado por Allison (15 intervenciones) el 19/02/2003 16:39:51
Saludos
Oye Hermanon te estoy muy agradecido con tu sugerencias, ke voy a ponerlas en practica.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar