Las famosas n capas.

11/04/2005 - 11:13 por manolo | Informe spam
Hola,

¿Alguien tiene algún enlace en el cual se expliquen las aplicaciones en
n capas?
Yo estoy interesado en las de 3 capas, ya que estoy muy liado, me
confundo sobre todo entre que poner en la capa de datos y en la capa de
negocio. La capa superior está más bien clara, ya que es la más fácil de
implementar.

Muchas gracias y un saludo.

Preguntas similare

Leer las respuestas

#21 Alfredo Novoa
12/04/2005 - 21:15 | Informe spam
On Tue, 12 Apr 2005 15:15:54 -0300, "Eduardo A. Morcillo [MS MVP VB]"
<emorcillo .AT. mvps.org> wrote:

Esto también se lo he explicado a Carlos. Eso lo solucionas usando
vistas o usando la instrucción Prepare desde las aplicaciones.



Prepare tiene sentido solo si usas el comando en un bucle o varias veces
seguidas.



No, no tienen por que ser seguidas. Puedes usar Prepare al arrancar la
aplicación y la consulta quedará compilada hasta que salgas de la
aplicación.

No tiene sentido forzar la compilacion del comando cada vez que se
ejecuta si se va a compilar de todos modos al ejecutarse ¿no?



Es que prepare solo hay que usarlo una vez.

Es todo lo contrario, es muchísimo más complicado. Los mecanismos de
seguridad de los SGBD están precisamente para resolver estas cosas, y
no los procedimientos almacenados.



Los procedimientos almacenados no estan para resolver problemas de
seguridad, nadie ha dicho eso. Pero si facilitan la administracion de
seguridad.



A lo mejor en algún caso muy concreto puede ser, pero en general se
debe de usar el sistema de seguridad que está especificamente diseñado
para eso.

Respecto a lo que decías que era muy pesado dar privilegios a cada una
de las tablas y a cada uno de los usuaros, con la mayoría de los SGBD
se pueden crear grupos de usuarios y dar privilegios a un montón de
usuarios distintos de forma muy sencilla.


Saludos
Respuesta Responder a este mensaje
#22 Braulio Diez
12/04/2005 - 21:33 | Informe spam
Hola Manolo,

De "n" capas hay mucha controversia, hasta hace poco se hablaba de 3 capas,
y en los ultimos años se habla de 4 capas (una más, la de navegación... un
follón).

Un tipo de arquitectura que nos fue muy bien en un proyecto que
desarrollamos fue:

- Capa de presentación (aquí incluía las validcaciones que se podían hacer
en el lado de clietne con Java script).

- Capa de Negocios: Cada página/control asp tenía asociado una clase de
negocios, en la que se realizaban validaciones de servidor, y se recopilaba
la información de la capa de datos necesaria, y se actualizaba información
(usando la capa de datos).

- Capa de datos: Esta era generada automáticamente por una herramiente
(ahora mismo hay incluso gratuitas que te la generan automáticamente), y
simplemente consistia en una clase por cada stored procedure que había en la
base de datos.

Aparte de esto a la base de datos se accedía mediante stored procedure, nada
de querys hechas en tiempo de ejecución (intenta evitar eso en elo posible).

Si te interesa, te sigo dando la matraca sobre el tema :-)

Saludos
Braulio

"manolo" escribió:

Hola,

¿Alguien tiene algún enlace en el cual se expliquen las aplicaciones en
n capas?
Yo estoy interesado en las de 3 capas, ya que estoy muy liado, me
confundo sobre todo entre que poner en la capa de datos y en la capa de
negocio. La capa superior está más bien clara, ya que es la más fácil de
implementar.

Muchas gracias y un saludo.



Respuesta Responder a este mensaje
#23 Eduardo A. Morcillo [MS MVP VB]
12/04/2005 - 21:37 | Informe spam
¿Puedes nombrarme algun SGBD?

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
https://mvp.support.microsoft.com/p...4EF5A4191C
Respuesta Responder a este mensaje
#24 Eduardo A. Morcillo [MS MVP VB]
12/04/2005 - 21:44 | Informe spam
Respecto a lo que decías que era muy pesado dar privilegios a cada una
de las tablas y a cada uno de los usuaros, con la mayoría de los SGBD
se pueden crear grupos de usuarios y dar privilegios a un montón de
usuarios distintos de forma muy sencilla.



Los grupos no facilitan mucho. Igual tienes que setear en cada tabla los
permisos de SELECT, INSERT, DELETE y UPDATE. Y si vamos a hablar bien de
seguridad, es muy probable que algunos usuarios no puedan (o no deban)
acceder a ciertas columnas, con lo cual ademas deberas setear que columnas
puede acceder el grupo/usuario. Todo muy lindo si tienes solo dos tablas,
pero ese no suele ser el caso. Con SPs te olvidas de eso, solo asignas quien
puede ejecutarlos y listo, ese usuario no podra hacer nada mas que los que
los SP le permitan.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
https://mvp.support.microsoft.com/p...4EF5A4191C
Respuesta Responder a este mensaje
#25 manolo
13/04/2005 - 13:38 | Informe spam
Hola,

Dios mío! la que se ha liado! Me gusta, de vez en cuando debería haber
una discusión así de fuerte para aprender todos un poco más. He estado fuera
y no pude leer mensajes.

Yo utilizo sp en sql server por la razón de que se pueden compilar y la
ejecución es más rápida, a parte de que en cada sp se pueden controlar los
datos que se insertan, como por ejemplo el formateo que hay que dar en
algunos casos a algunos campos.
En cuanto a utilizar sp o querys creo que todos teneis algo de razón,
por ejemplo, utilizando consultas directamente se pueden leer más variedad
de datos, como por ejemplo: consultar todos los clientes de una zona,
consultar los clientes que son empresa, consultar los clientes de una
población en concreto, consultar todos los clientes que tengan fax, etc, ya
que haría falta una función específica para cada consulta, mientras que veo
más factible que para leer un registro de la tabla clientes y actualizarlo,
crearlo y eliminarlo veo mejor utilizar un sp, ya que tendría un control más
preciso y omogéneo sobre los datos. Utilizando sp, si tengo que hacer alguna
modificación o restricción a la hora de insertar un dato en un campo, con
hacerlo en el sp ya lo implementarían todas las aplicaciones.

No soy experto en el tema, he estado leyendo multitud de libros,
tutoriales, etc, que por cierto, uno de los que me ha gustado más y no tiene
que ver nada con las capas, es el de Fernando G. Guerrero (Sql server a
fondo, creo que se llama), y siempre hay controversia entre 2, 3 o 4 capas.
Según me recomendais, es que haga la capa de presentación y la capa
empresarial, pero discutís a cerca de consultar los datos por sp que por
sentencias, pero el final son 3 capas: sql server, librería abstracta con
funciones de acceso al sistema gestor de bases de datos y una última capa,
bien sea windows o sea web, que utilice la librería para acceder a la base
de datos.

Gracias a Carlos, Alfredo, Eduardo, Braulio, etc... que me han ayudado
mucho en cuanto a decisión. Un saludo.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida