Tema: ¿procedure?
Ver Mensaje Individual
  #15  
Antiguo 20-02-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Reputación: 24
guillotmarc Va por buen camino
Respecto a las aplicaciones de 3 capas, són aquellas en que las aplicaciones que utilizan los usuarios no se conectan directamente con la base de datos, sinó que pasan sus solicitudes a otra aplicación especial (a la que se suele llamar servidor de aplicaciones) que será la que se conectará a la base de datos, consultará los datos, los tratará si es necesario (hara los filtrados correspondientes, cruce de datos, cálculos, etc ....) y finalmente devolverá a la aplicación del usuario los datos solicitados, debidamente tratados para que no tenga que hacer ningún cálculo con ellos, solo mostrarlos.
De esta forma viajan menos datos por la red, ya que solo viajan los datos imprescindibles, en cambio los datos que solo se requieren para hacer cálculos, etc... pero que no están destinados a que los vea el usuario, no viajarán por la red, puesto que ya habrán sido tratados en el servidor de aplicaciones.

Como puedes ver, de esta forma también se disminuye el volumen de datos que viajan por la Red. Además esta opción es mejor que la del uso de procedimientos almacenados, puesto que muchos cálculos no se pueden realizar dentro de un procedimiento almacenado, pero si que se pueden hacer en una aplicación Delphi (mezcla de datos de dos bases de datos distintas, ....). De esta forma, al hacerse más cálculos en el Servidor (las famosas reglas de negocio), se reduce la cantidad de datos que hay que enviar a la aplicación de usuario.

Aunque como puedes adivinar, tiene el mismo problema que habiamos comentado con los procedimientos almacenados. Para hacer una inserción, tienen que viajar por la Red todos los datos a insertar, por lo que el rendimiento será parecido al de una consulta INSERT. Y si queremos cargar en una grid 1000 registros, el rendimiento también es el mismo puesto que tanto da bajar todos esos datos directamente de la base de datos, de un procedimiento almacenado, o de un servidor de aplicaciones.

Por lo que otra vez tienes que estar pensando en diseñar una aplicación que reduzca la cantidad de información que se debe mover (de la misma forma que habiamos comentado antes, limitando la cantidad de registros que se envian, así como la cantidad de campos).

Como puedes ver, en una aplicación sencillla practicamente no se obtiene ninguna mejora de utilizar procedimientos almacenados, o 3 capas. Pero cuento más complejas sean las reglas de negocio, mas ventajas obtendremos de aplicar estas técnicas. (Me refiero a casos, como que cada vez que se da de alta un producto, se debe crear automáticamente un registro de fecha y usuario de creación, un entrada de stock, ...)

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).

Última edición por guillotmarc fecha: 20-02-2004 a las 18:27:08.
Responder Con Cita