Arquitectura en 3 capas, para expertos

26/07/2004 - 00:40 por Zeus | Informe spam
Hola, voy a realizar un nuevo proyecto en VB .Net (una
típica facturación, pedidos, albaranes y facturas de
compras y ventas), bueno he oído hablar de la
arquitectura de tres capas o n capas, me he puesto a
buscar información y he encontrado en MSDN, y te explica
las distinta capas: IU, la lógica de aplicación o
negocio y la de los datos. Todo lo entiendo en la teoría
pero no lo veo en la práctica, como se comunica IU con la
capa de la lógica del negocio o aplicación, está claro
que en la capa de aplicación mediante lo clase de ADO.Net
y el gestor de base de datos es el encargado de
comunicarse entre estas dos capas. Estoy dando un
cursillo de ASP. Net y he visto los servicios Web, esto
se podría decir que la IU a realizar llamadas a los
servicio Web es la comunicación entre esta dos capas, es
decir, Una capa es la IU y la otra capa (lógica del
negocio) es la parte de la aplicación realizada en los
servicios Web. Si no me equivoco esto es lo que propone
Microsoft como arquitectura a la hora de diseñar o crear
un proyecto.

¿Estoy encaminado o lo he entendido mal?
¿Me aconsejáis que realice mi aplicación en esta
arquitectura?
¿O es mejor en dos capas cliente/servidor para este tipo
de proyecto para no complicarme?
Solo quiero que me aconsejéis, hablarme más sobre esta
arquitectura e indicarme donde puedo haber algún ejemplo
simple de una aplicación entre capas (código fuente, me
da igual que sea C# o VB .net) ya que en la práctica se
ve mejor todo lo que se dice en la teoría. También donde
podría encontrar más información sobre esta arquitectura.

Un saludo
Zeus

Preguntas similare

Leer las respuestas

#1 DJ_MIAO
26/07/2004 - 02:49 | Informe spam
Flaco tienes un regero en esa mente que te aconsejo lo
hagas como lo has echo hasta hora.


Comprate un libro



MIAO...





Hola, voy a realizar un nuevo proyecto en VB .Net (una
típica facturación, pedidos, albaranes y facturas de
compras y ventas), bueno he oído hablar de la
arquitectura de tres capas o n capas, me he puesto a
buscar información y he encontrado en MSDN, y te explica
las distinta capas: IU, la lógica de aplicación o
negocio y la de los datos. Todo lo entiendo en la teoría
pero no lo veo en la práctica, como se comunica IU con


la
capa de la lógica del negocio o aplicación, está claro
que en la capa de aplicación mediante lo clase de


ADO.Net
y el gestor de base de datos es el encargado de
comunicarse entre estas dos capas. Estoy dando un
cursillo de ASP. Net y he visto los servicios Web, esto
se podría decir que la IU a realizar llamadas a los
servicio Web es la comunicación entre esta dos capas, es
decir, Una capa es la IU y la otra capa (lógica del
negocio) es la parte de la aplicación realizada en los
servicios Web. Si no me equivoco esto es lo que propone
Microsoft como arquitectura a la hora de diseñar o crear
un proyecto.

¿Estoy encaminado o lo he entendido mal?
¿Me aconsejáis que realice mi aplicación en esta
arquitectura?
¿O es mejor en dos capas cliente/servidor para este tipo
de proyecto para no complicarme?
Solo quiero que me aconsejéis, hablarme más sobre esta
arquitectura e indicarme donde puedo haber algún ejemplo
simple de una aplicación entre capas (código fuente, me
da igual que sea C# o VB .net) ya que en la práctica se
ve mejor todo lo que se dice en la teoría. También donde
podría encontrar más información sobre esta arquitectura.

Un saludo
Zeus

.

Respuesta Responder a este mensaje
#2 DJ_MIAO
26/07/2004 - 04:14 | Informe spam
Que paso voludo. El tipo esta mal cual es tu problema la
siceridad?

Miao...
No le hagas caso al gil este !, dame un tiempo que tengo


un mensaje que explica lo que vos necesitas

Codigo47
Analista en Sistemas
Argentina, Buenos Aires
"Zeus" escribió


en el mensaje news:3d4d01c47298$7043e630
$
Hola, voy a realizar un nuevo proyecto en VB .Net (una
típica facturación, pedidos, albaranes y facturas de
compras y ventas), bueno he oído hablar de la
arquitectura de tres capas o n capas, me he puesto a
buscar información y he encontrado en MSDN, y te


explica
las distinta capas: IU, la lógica de aplicación o
negocio y la de los datos. Todo lo entiendo en la


teoría
pero no lo veo en la práctica, como se comunica IU con


la
capa de la lógica del negocio o aplicación, está claro
que en la capa de aplicación mediante lo clase de


ADO.Net
y el gestor de base de datos es el encargado de
comunicarse entre estas dos capas. Estoy dando un
cursillo de ASP. Net y he visto los servicios Web,


esto
se podría decir que la IU a realizar llamadas a los
servicio Web es la comunicación entre esta dos capas,


es
decir, Una capa es la IU y la otra capa (lógica del
negocio) es la parte de la aplicación realizada en los
servicios Web. Si no me equivoco esto es lo que


propone
Microsoft como arquitectura a la hora de diseñar o


crear
un proyecto.

¿Estoy encaminado o lo he entendido mal?
¿Me aconsejáis que realice mi aplicación en esta
arquitectura?
¿O es mejor en dos capas cliente/servidor para este


tipo
de proyecto para no complicarme?
Solo quiero que me aconsejéis, hablarme más sobre esta
arquitectura e indicarme donde puedo haber algún


ejemplo
simple de una aplicación entre capas (código fuente,


me
da igual que sea C# o VB .net) ya que en la práctica


se
ve mejor todo lo que se dice en la teoría. También


donde
podría encontrar más información sobre esta


arquitectura.

Un saludo
Zeus

Respuesta Responder a este mensaje
#3 Pablo Fabian Savino
26/07/2004 - 09:45 | Informe spam
Hola, yo estaba en tu misma situacion hasta que en el Web del guille lei un
articulo y me aclaro la cuestion, ahora yo hago mis tres capas asi :

Una es la parte visual de la aplicacion, forms, botoncitos y toda esa cosa
La del medio son mis Reglas de negocio , validaciones , ETC ETC ETC donde
todo esto esta en una clase que yo llame "Reglas" y ahi tengo absolutamnte
todas las validaciones de mi aplicacion.
Y la tercera es otra clase que me hice que es la conexion al server , no es
mas ni menos que ejecutar Sp, etc etc

Ej:
en un form debo validar que un textbox que el usuario pondria un precio que
no sea mayor que 1000, entonces al momento de que el usuario oprime el boton
de Guardar yo tengo una rutinita en cada form que llama la clase Reglas y
valida, si la clase "Reglas" lo da como valido, entonces va directo al
server y si no es valido me retorna un False y el Form no guarda nada (dando
el mensaje que corresponda claro)
Y para validar el form yo hago un for each mirando el tipo de control y si
es textbox valido el dato con la clase Reglas, ahora, como sabe la clase
reglas que es ese textbox, bueno jejejej, cuando hago un Form y pongo
textbox , en el TAG de este textbox pongo un numero de identificacion para
que cuando la clase Reglas valide, vea es numero de identificacion y sepa
contra que Validar el dato, entonces en la clase Reglas tengo un select case
del TAG del Textbox y ahi se que debo validar.

Bueno, la cuestion es que yo lo hago asi y con MINIMO codigo hago el Form,
claro, antes hice las clases correspondientes y eso llevo tiempo, pero ahora
que esta todo armado, el Form lo haces muy rapido.

Bueno, asi son mis capas...lo casi ideal es que la capa de
validaciones o Reglas sea una DLL , pero no tenia ganas de hacerla jejeje,
entonces si en un futuro cambia alguna regla, tu solo modificarias esa DLL y
se la mandas al cliente y ya!!!


Bueno, saludos y espero haber sido claro .
Respuesta Responder a este mensaje
#4 Lázaro
26/07/2004 - 10:45 | Informe spam
Es bastante delicado tomar una decisión acertada.

Lo primero que tienes que evaluar es si tu aplicación es distribuida, o sea
si tienes diferentes componentes que se ejecutan en máquinas separadas,
imáginate un objeto en un servidor de aplicaciones, otro componente en un
servidor web, etc...Si esta es la arquitectura está claro que deberías
construir en n-capas.

Lo segundo que tienes que mirar es si tu aplicación es para múltiples
clientes, o si siendo para un cliente es posible que en el futuro cambien
determinadas reglas de negocio. Si fuera así, entonces las n-capas también
te pueden ayudar, ya que como bien te han dicho, modificarías la regla u
otro objeto y sólo tienes que distribuir esa parte.

Y la tercera, es analizar si para los administradores de sistemas de donde
se vaya a implantar es mejor tener los componentes en un solo sitio y
controlados. Imaginate que tienes 500 usuarios, es posible que si pones una
aplicación de 2 capas, cada cliente tenga que saber concretamente como
conectar y con que datos al servidor, quizás al personal de sistemas le
interesa más que los clientes se conecten a un objeto remoto que será el
único que sabe donde está la BD u otras fuentes de información.

El tema de tener divididas las reglas de los formularios, o de negocio, o un
interface a la BD, es más una técnica de programación que te quitará trabajo
en el mantenimiento, que la traducción de la arquitectura en capas. O sea
puedes tener esa división en reglas, formularios, etc... y ejecutar en
cliente/servidor de 2 capas.

Si vas a hacer una aplicación .NET en WebForms, por ejemplo, lo más
importante para que el rendimiento sea bueno es la velocida de ejecución de
las peticiones, y los datos que manejan. Si por ejemplo ahí, para validar un
dato tienes que instanciar otra DLL, aunque sea en el mismo servidor,
estarías penalizando el Site cuando tengas muchos usuarios.

Mi consejo, si la aplicación es distribuida, o sea si usa fuentes externas,
o parte de la aplicación está en un servidor y otra parte en otro. Usa
n-capas. Si no, escribe tú código de la manera más flexible y cómoda para
realizar el mantenimiento.

No sé si te habré ayudado

Salu2

"Zeus" wrote in message
news:3d4d01c47298$7043e630$
Hola, voy a realizar un nuevo proyecto en VB .Net (una
típica facturación, pedidos, albaranes y facturas de
compras y ventas), bueno he oído hablar de la
arquitectura de tres capas o n capas, me he puesto a
buscar información y he encontrado en MSDN, y te explica
las distinta capas: IU, la lógica de aplicación o
negocio y la de los datos. Todo lo entiendo en la teoría
pero no lo veo en la práctica, como se comunica IU con la
capa de la lógica del negocio o aplicación, está claro
que en la capa de aplicación mediante lo clase de ADO.Net
y el gestor de base de datos es el encargado de
comunicarse entre estas dos capas. Estoy dando un
cursillo de ASP. Net y he visto los servicios Web, esto
se podría decir que la IU a realizar llamadas a los
servicio Web es la comunicación entre esta dos capas, es
decir, Una capa es la IU y la otra capa (lógica del
negocio) es la parte de la aplicación realizada en los
servicios Web. Si no me equivoco esto es lo que propone
Microsoft como arquitectura a la hora de diseñar o crear
un proyecto.

¿Estoy encaminado o lo he entendido mal?
¿Me aconsejáis que realice mi aplicación en esta
arquitectura?
¿O es mejor en dos capas cliente/servidor para este tipo
de proyecto para no complicarme?
Solo quiero que me aconsejéis, hablarme más sobre esta
arquitectura e indicarme donde puedo haber algún ejemplo
simple de una aplicación entre capas (código fuente, me
da igual que sea C# o VB .net) ya que en la práctica se
ve mejor todo lo que se dice en la teoría. También donde
podría encontrar más información sobre esta arquitectura.

Un saludo
Zeus
Respuesta Responder a este mensaje
#5 Martin
26/07/2004 - 11:11 | Informe spam
Supongo que a ti nunca te hace falta ayuda.
Una cosa es sinceridad y otra falta de educacion, si no quieres compartir
tus, supongo, vastos conocimientos pues sencillamente no entres en el foro.
Aqui he visto contestar preguntas bastante simples a gente que sabe mucho
como el propio guille o mcpegasus o tristan y amigo mio nunca les he visto
faltar a nadie o tratarlo con desconsideracion, asi que podrias aprender un
poco de ellos, miento, mucho.

"DJ_MIAO" escribió en el mensaje
news:3e2101c472b6$59cb8160$
Que paso voludo. El tipo esta mal cual es tu problema la
siceridad?

Miao...
No le hagas caso al gil este !, dame un tiempo que tengo


un mensaje que explica lo que vos necesitas

Codigo47
Analista en Sistemas
Argentina, Buenos Aires
"Zeus" escribió


en el mensaje news:3d4d01c47298$7043e630
$
Hola, voy a realizar un nuevo proyecto en VB .Net (una
típica facturación, pedidos, albaranes y facturas de
compras y ventas), bueno he oído hablar de la
arquitectura de tres capas o n capas, me he puesto a
buscar información y he encontrado en MSDN, y te


explica
las distinta capas: IU, la lógica de aplicación o
negocio y la de los datos. Todo lo entiendo en la


teoría
pero no lo veo en la práctica, como se comunica IU con


la
capa de la lógica del negocio o aplicación, está claro
que en la capa de aplicación mediante lo clase de


ADO.Net
y el gestor de base de datos es el encargado de
comunicarse entre estas dos capas. Estoy dando un
cursillo de ASP. Net y he visto los servicios Web,


esto
se podría decir que la IU a realizar llamadas a los
servicio Web es la comunicación entre esta dos capas,


es
decir, Una capa es la IU y la otra capa (lógica del
negocio) es la parte de la aplicación realizada en los
servicios Web. Si no me equivoco esto es lo que


propone
Microsoft como arquitectura a la hora de diseñar o


crear
un proyecto.

¿Estoy encaminado o lo he entendido mal?
¿Me aconsejáis que realice mi aplicación en esta
arquitectura?
¿O es mejor en dos capas cliente/servidor para este


tipo
de proyecto para no complicarme?
Solo quiero que me aconsejéis, hablarme más sobre esta
arquitectura e indicarme donde puedo haber algún


ejemplo
simple de una aplicación entre capas (código fuente,


me
da igual que sea C# o VB .net) ya que en la práctica


se
ve mejor todo lo que se dice en la teoría. También


donde
podría encontrar más información sobre esta


arquitectura.

Un saludo
Zeus

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