Sobre las aplicaciones multicapa

31/05/2005 - 22:36 por Benton | Informe spam
Hola,

Estoy analizando un ejemplo de aplicación en tres capas, para usarlo como
modelo en un proyecto que tengo enfrente.

La capa de más bajo nivel es la que realiza las operaciones en la base de
datos, esta capa la constituyen básicamente un montón de procedimientos
almacenados que se encargan de insertar, modificar, elinimar y extraer
registros de la tablas.

La capa intermedia (en C#) manda llamar a estos procedimientos con los
parámetros adecuados.

Ahora bien, mi idea es eliminar la capa "baja" y hacer que la capa
intermedia, en vez de llamar procedimientos almacenados, genere
dinámicamente el SQL que necesita en cada operación y lo ejecute. De esta
manera me evito crear y mantener cuatro o cinco procedimientos por cada
tabla.

¿Alguien tiene alguna opinión sobre lo atinado o desatinado de mi idea?

Saludos,

-Benton

Preguntas similare

Leer las respuestas

#11 Benton
01/06/2005 - 17:16 | Informe spam
Y si por casualidad cambian mi SGBD por algun motivos, entonces toda la
logica de >mi negocio se va junto con el servidor y la trendria que
"reescribir" nuevamente ?



Lo he pensado. Por eso consideré conveniente generar sentencias SQL en el
lado del cliente, evitando depender de los procedimientos almacenados.

Y, aunque los procedimientos almacenados para las operaciones CRUD los
obtengo fácilmente con un generador de scripts, también dependo de muchos
otros procedimientos de muy diversa naturaleza. Así que, viéndolo bien,
siempre tengo mucha lógica de negocios en el SGBD que nunca se me ocurriría
programarla en el cliente. :-(

Saludos,

-Benton
Respuesta Responder a este mensaje
#12 Alfredo Novoa
01/06/2005 - 17:45 | Informe spam
On Wed, 1 Jun 2005 09:28:11 -0500, Guillermo González A.
<gugonzar(arroba)epm.net.co> wrote:

Don Alfredo ...

Y si por casualidad cambian mi SGBD por algun motivos, entonces toda la logica de mi negocio se va junto con el servidor y la trendria que "reescribir" nuevamente ?



Pues las partes que no sean compatibles entre los dos DBMS claro que
hay que adaptarlas. Eso cae de cajón.

Digame por favor en la frase anterior donde encaja la palabra desacoplamiento ?



El SGBD sirve para desacoplar a las aplicaciones de la base de datos.


Saludos
Respuesta Responder a este mensaje
#13 Alfredo Novoa
01/06/2005 - 17:50 | Informe spam
On Wed, 1 Jun 2005 09:26:14 -0500, Guillermo González A.
<gugonzar(arroba)epm.net.co> wrote:

Como es posible que digas que un procedimiento almacenado no sirve para nada ?¿



Pues por que algunos procedimientos almacenados no sirven para nada.

Por cierto, no hace falta citar cientos de lineas para escribir un par
de frases.


Saludos
Respuesta Responder a este mensaje
#14 Alfredo Novoa
01/06/2005 - 17:57 | Informe spam
On Wed, 1 Jun 2005 10:02:05 -0500, "Benton"
wrote:

Ahora bien, esto último me trae a la memoria el asunto del "Prepare" que
debe hacer el SGBD, esa especie de "caché del plan" que evita analizar la
misma sentencia cada vez que se ejecute. ¿Resolvería esto la cuestión de si
los procedimientos almacenados son mejores?



La velocidad de ejecución no es el único factor a tener en cuenta, ni
siquiera es de los más importantes. Lo realmente imortante es cumplir
los requerimientos en el menor tiempo y con el menor coste posibles.

Y sí. Usando "Prepare" obtenemos la misma velocidad que usando
procedimientos almacenados.


Saludos.
Respuesta Responder a este mensaje
#15 Jose Antonio
01/06/2005 - 19:34 | Informe spam
Que es eso del Prepare y donde se utiliza?


"Alfredo Novoa" escribió en el mensaje
news:
On Wed, 1 Jun 2005 10:02:05 -0500, "Benton"
wrote:

Ahora bien, esto último me trae a la memoria el asunto del "Prepare" que
debe hacer el SGBD, esa especie de "caché del plan" que evita analizar la
misma sentencia cada vez que se ejecute. ¿Resolvería esto la cuestión de
si
los procedimientos almacenados son mejores?



La velocidad de ejecución no es el único factor a tener en cuenta, ni
siquiera es de los más importantes. Lo realmente imortante es cumplir
los requerimientos en el menor tiempo y con el menor coste posibles.

Y sí. Usando "Prepare" obtenemos la misma velocidad que usando
procedimientos almacenados.


Saludos.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida