PDA

Ver la Versión Completa : Cliente servidor vs aplicación distribuida


felixgo
18-10-2006, 16:34:58
Hola,

Actualmente tengo una apliacaión cliente/servidor, me gustaria saber si
merece la pena pasar a auna apliacación en capas, sobre todo me interesa el
tama del rendimiento, será más ràpida? o más lenta al haber más
comunicaciones.
Ahora tengo casi todos los procesos como procedimientos almacenados en la
BD, Ganaría velocidad moviendolos a una capa de negocio?

gracias

Neftali [Germán.Estévez]
18-10-2006, 16:47:01
Ahora tengo casi todos los procesos como procedimientos almacenados en la BD, Ganaría velocidad moviendolos a una capa de negocio?

Donde más rápidos van a ser es en el servidor; A cualquier otro sitio donde los muevas van a ser más lentos. Puede ser que ganes otras cosas, pero no en rapidez.

felixgo
18-10-2006, 16:49:43
pero cuando el número de clientes es grande, ¿no se descargaría al servidor de base de datos de trabajo?

gracias por la respuesta

Neftali [Germán.Estévez]
18-10-2006, 17:15:50
¿no se descargaría al servidor de base de datos de trabajo?

El trabajo es el mismo; Si hay que hacer 50 inserts, al final los va a tener que hacer el servidor; Tal vez algunos preparativos los puedas pasar al cliente (si es que son muchos), pero es tanta la diferencia entre los que tarda en hacerse en el Servidor y en el Cliente, que muchas cosas deberías estar haciendo para que sacándolas notaras diferencia.

felixgo
18-10-2006, 17:29:59
entonces?
compensa una aplicación en n capas si el rendimiento va a ser menor?:(

roman
18-10-2006, 17:51:13
No entiendo. ¿Quiere esto decir que es mejor programar toda la lógica de negocios con procedimientos almacenados?

// Saludos

mamcx
18-10-2006, 18:05:36
Eso depende que metricas usas.

Estas pueden ser rendimiento, disponibilidad, velocidad, escalabilidad, parelerizacion, etc..

Una aplicacion distribuida puede tener mayor disponibilidad, escalabilidad y paralerizacion pero por que estas usando el cable largo, menor rendimiento y velocidad.

Pero el caso es que mayor escalabilidad y paralerizacion *pueden* generar mayor rendimiento.

Por ejemplo, cuando se va a renderizar una imagen es mejor tener decenas de equipos muy lentos que uno muy rapido.

Lo que tienes que hacer es mirar los numeros y las metricas. Este es el numero mas importante:

# de usuarios/llamadas concurrentes.

Este determina los demas.

Neftali [Germán.Estévez]
18-10-2006, 18:09:12
¿Quiere esto decir que es mejor programar toda la lógica de negocios con procedimientos almacenados?

Por mi parte sólo he dicho que en la mayoría de los casos será más rápido.
¿Quien ha hablado de mejor?

Programar aplicaciones en ASM será más rápido (eso es seguro). ¿Mejor?
A eso me refería.

La rapidez no es la única cualidad deseable.

roman
18-10-2006, 18:15:09
Ok, entonces reformulo yo la pregunta. ¿En tú opinión que ventajas y desventajas ves a una aplicación distribuida sobre una cliente servidor?

// Saludos

felixgo
18-10-2006, 18:23:22
Según me experiencia los usarios que son los que pagan quieren velocidad en
el tiempo de desarrollo y en la ejecución del programa. Una aplicación distrubida es más compleja de programar con una C/S implica mayor coste, y si encima va a ser más lenta...
Por lo menos las empresas para las que trabajo, que tienen como máximo 30-40 puestos. si tienen cientos de ordenadores trabajando ya no me meto.

oscargt90
27-10-2006, 20:21:47
Una aplicación distribuida es más compleja de programar, pero a mayor número de clientes conectados, se le puede sacar mayor rendimiento, y sobre si el acceso es através de internet y no de una lan red local.