RE:Otra prueba de red ¿Qué opinan?
Con dbf se puede esperar mas que un buen rendimiento o planear un buen diseño, algo mas bien milagroso, con un amigo mio fuimos a un hospital en donde tenian una aplicacion compartida es decir una carpeta compartida junto con su programa que todos los departamentos del hospital usaban dandole doble click, lo tenian desde hace 5 años, y cuando lo vimos el dijo una gran verdad . -Funciona por que Dios es grande- (aunque yo no soy creyente), pense que era cierto.
se que cuesta algo de trabajo cambiarse a instrucciones sql-server, o mysql pero es necesario, recuerden que las dbf existen desde xbase y tambien en dbase 1,2,3 plus, y aunque el que las hizo verdaderamente rapidas fue foxpro en sus primeras verciones y clipper, ya era evidente que no hiban a ser buenas en red.
cuanto tomaria aprender a un programador nuevo un lenguaje sql como mysql o sqlserver, oracle 10g para los mas exigentes interbase en fin. no mucho por que estos lenguajes se basan en el lenguaje universal SQL. y por que no practicar un poco aventurarse a crear una aplicacion cliente servidor e ir practicando y aprendiendo en el desarrollo.
BUENO MIS PASOS.
Primero creo la base de datos toda la planea y los importante es ir pensando en que tareas, son muy frecuentes calculos o insert de auditoria para usuarios y tambien creo su tigers o disparadores. bueno este le dara un mejor rendimiento a la base de datos, todo esto lo hago en foxpro con tablas dbf.
Segundo utilizo una herramienta que se llam dbfmysql que me migra toda mi base de datos a mysql, una vez migrada recreo los indices por que no lo hace la herramienta y verifico que todo este bien.
Tercero: Aqui ya empieza la red, en mysql Admin, le creo los usuarios de las pcs, que van a usar la base de datos, y le doy los permisos correspondientes sobre la base de datos.
Cuarto: Ahora si en el codigo de la programacion en el prg principal tengo un form que es el login del usurio, en ese formlogin tambien tengo un boton en particular que se llam configuracion.
Lo que hace el form es ver si en una tabla llamada miconexion existen un usuario y una contraseña, si de ser asi, intenta conectarse usando esos parametros con mysql, con un try catch si logra conectarse carga los usuario y contraseñas con sus debidos permisos de mysql. de no poderse conectar le pide al usuario que registre 2 cosas.
la primera que registre como se llama la estacion y quien la puede usar, aqui el programa va a validar que sea un usuario valido de mysql (no de la base de datos sino de el sistema administrador mysql), ademas tambien le pide que valide como un usuario registrado de la base de datos en cuestion, digamos los de la refaccionaria.
si no existe el usuario una vez creada o conectada con el motor logeando como administrador va a poder crear los usuario que el quiera.
aqui la clave de todo este show, y lo bonito de los motores de bases de datos cliente-administrador es que unicamente tienes que crear usuarios en mysql por ejemplo igual podria ser sql-server o interbase en fin. es que ya con eso basta y no tenemos que preocuparnos por ver si una tabla o una base de datos esta siendo usada por otro usuario. sino que nosotros le solicitamos la informacion y el motor sql se encarga de gestionar la informacion segun las peticiones de los clientes es todo, no hay que hacer nada mas. para poder seguir usando los calculos como iff o los comandos de foxpro, lo unico que necitamos hacer es que el resultado de una consulta lo guardemos en un cursor que podemos usar como si fuera una tabla de foxpro.
yo tengo un programa en una maquina que el servidor es un athlon 3000+ con 1gb en ram y un disco duro sata de 360 que ademas el dueño usa para ver listas de precios y cosillas de ese tipo, y este servidor tiene instalado un xp professional y el mysql 5.1, y le sirbe a 5 equpos que atienden una refaccionaria, y jamas se ha bloqueado o a tenido problemas de respuesta en los datos, o en la creacion de las facturas en los ingresos de mercancia, en los pagos al proveedor, es una maravilla, y que me da ese buen comportamiento del software, me da mas clientes recomendados por el dueño. una frase muy comun. desde que el Sr. Victor me instalo este sistema jamas tenemos problemas te lo recomiendo, cobra caro pero no te vas a arrepentir.
y otra cosa a mi ningun cliente me ha dicho, oye pero quiero el programa me lo hagas en visual foxpro en 4 capas de dasarollo y que el motor sea sql server express edition ... ellos te dicen quiero un programa que controle esto que de estos datos que me permita capturar rapido una venta y que disminuya mis costos de papelera y agilize los calculos mensuales semanales de venta y tambien que me diga cual es el mejor vendedor para darles incentivos, ellos no les importa y la mayoria no entienden que herramientas o tecnologias uno puede usar para que su empresa trabaje bien.
en conclusion intenta hacer un sistema pequeño en un motor cliente servidor y vee la enorme la gigantesca diferiencia sin necesidad de grandes equpos en poder.
usa un quadcore para jugar o para un servidor de internet, pero para una red local un p4 3 o superior o equivalente bastara.
saludos.