RSS
Facebook
G+

Buscador de IntercambioSOS:


Retroceder   Foro de Ayuda IntercambiosvirtualeS > Soporte Sobre: Educación & Entretenimiento > Zona Académica > Programación
Comunidad

Respuesta
 
Herramientas Desplegado
Antiguo 29-jul-2010     #1
Ehh? Programacion de Aplicaciones en Capas

Algo que no se consigue mucho en la internet, son casos reales de aplicaciones desarrolladas con una arquitectura en N-capas, seria bueno que algun usuario/miembro de esta comunidad que supiera algo al respecto, pues nos echaria un poco la mano a quienes andamos iniciandonos en esta area...
espero que mas de algunas personas les interese esto tambien....
saludos
Responder Citando
Los siguientes 5 usuarios agradecen a liorocker por este mensaje:
baduser (29-jul-2010), cardavid (29-jul-2010), Hunted (02-ago-2010), jchierro (03-ago-2010), wolfito (03-ago-2010)
Antiguo 02-ago-2010     #2
Predeterminado

Excelente Pregunta amigo.

Ahora comenzamos, me imagino que muchos han oido hablar de dicho termino "Programacion por Capas o N - Capas", pero que es.
Es un termino acuñado hace ya años, para ser preciosos, desde los lenguajes orientados a objetos (c++, java, objetive-c, c#) es una practica de buena programacion, la cual pretende realizar codigo utilizable o reutilizable, no confundamos Capas con Niveles, lo que esta buena practica de programacion nos dice, es lo siguiente:

Debemos de separar la Capa Logica de la Capa de Negocios y de igual manera la Capa de Datos, pero que entendemos por capa de Negocios:

Capa de negocio: Es donde residen los programas que se ejecutan, se reciben las peticiones del usuario y se envían las respuestas tras el proceso. Se denomina capa de negocio (e incluso de lógica del negocio) porque es aquí donde se establecen todas las reglas que deben cumplirse. Esta capa se comunica con la capa de presentación, para recibir las solicitudes y presentar los resultados, y con la capa de datos, para solicitar al gestor de base de datos almacenar o recuperar datos de él. También se consideran aquí los programas de aplicación. Muy importante entender este termino "Nuestras reglas o reglas del programa" ya que esto nos permite mudar o trasladar nuestra aplicacion a otra plataforma (Web o movil) pero con exactamente esta misma Capa.

Capa de presentación: Es la que ve el usuario (también se la denomina "capa de usuario"), presenta el sistema al usuario, le comunica la información y captura la información del usuario en un mínimo de proceso (realiza un filtrado previo para comprobar que no hay errores de formato). Esta capa se comunica únicamente con la capa de negocio. También es conocida como interfaz gráfica y debe tener la característica de ser "amigable" (entendible y fácil de usar) para el usuario.

Capa de datos: Es donde residen los datos y es la encargada de acceder a los mismos. Está formada por uno o más gestores de bases de datos que realizan todo el almacenamiento de datos, reciben solicitudes de almacenamiento o recuperación de información desde la capa de negocio.

Todas estas capas pueden residir en un único ordenador, si bien lo más usual es que haya una multitud de ordenadores en donde reside la capa de presentación (son los clientes de la arquitectura cliente/servidor). Las capas de negocio y de datos pueden residir en el mismo ordenador, y si el crecimiento de las necesidades lo aconseja se pueden separar en dos o más ordenadores. Así, si el tamaño o complejidad de la base de datos aumenta, se puede separar en varios ordenadores los cuales recibirán las peticiones del ordenador en que resida la capa de negocio.

Si, por el contrario, fuese la complejidad en la capa de negocio lo que obligase a la separación, esta capa de negocio podría residir en uno o más ordenadores que realizarían solicitudes a una única base de datos. En sistemas muy complejos se llega a tener una serie de ordenadores sobre los cuales corre la capa de negocio, y otra serie de ordenadores sobre los cuales corre la base de datos.


A resumidas cuentas la Programacion en Capas:

-Basada o practicada por los lenguajes orientados a objetos.

Como nota, no siempre existiran 3 capas, pueden elevarse a 4 o mas separando las diferentes areas como por ejemplo:

Capa de usuario (Nuestas interfaz)
Capa de Negocios (Los calculos necesarios y reglas que debemos seguir)
Capa de Datos (Imagenes, archivos o base de datos necesarios)
Capa de Validaciones (Estamos separando la capa de validaciones para tener un mayor orden)

Claro, todo lleva un orden y existen otras tecnicas para realizar este como los son los patrones de diseno y creacion que estan muy ligados a este termino.


UPDATE 03/08/2010

Algo importante de conocer para aplicar correctamente la programacion multicapa son los patrones.

Voy a dejar una emplicacion de un tema talvez no muy discutido, pero si importante poque a veces se puede confundir...

DIFERENCIA entre MVC (Modelo Vista Controlador) y MultiCapa..

El patrón MVC propone el uso de tres componentes para separar el aspecto lógico, de los datos y de la interfaz misma.
La idea es que cada componente sea independiente del otro. Estos componentes actuan de "fachada" hacia los objetos específicos de sus respectivas capas.

El patrón solo propone independencia de uno a otro. Existen 3 capas:
Interfaz
Logica o de Dominio
Datos

Por el otro lado, la programación multicapa, lo que propone el patrón Layers (Capas )es "dividir" y organizar la aplicación en N-capas. Cada capa se centraliza en algún aspecto, desde lo general hacia lo particular o específico a la aplicación. Por lo general las posibles capas son:
Presentacion
Aplicación
Dominio(s)
Infraestructura del Negocio
Servicios Técnicos
Base

El patrón no indica que deban emplearse todas las capas, no lo exige. Simplemente propone que se estructure el diseño en capas. Es responsabilidad del desarrollador definir que capas le son útiles. Lo importante es que se mantenga en equilibrio la Cohesión y el Acoplamiento.
Es decir, que si el desarrollador lo considera, puede asumir que, por ejemplo, la capa Aplicación y Dominio sea una sola. Las necesidades dictarán hasta que "niveles" son deseables.

El uso del patrón Capas es aconsejable para casos en los que se necesita o se requiere de mayores independencias entre lo que concierne al aspecto lógico.


To Be Continue...





















Última edición por Manybadilla; 03-ago-2010 a las 23:42
Enviar un mensaje por MSN a Manybadilla Enviar un mensaje por Yahoo  a Manybadilla Enviar un mensaje por Skype™ a Manybadilla Responder Citando
Los siguientes 4 usuarios agradecen a Manybadilla por este mensaje:
cardavid (02-ago-2010), Hunted (02-ago-2010), jchierro (03-ago-2010), WELNN (03-mar-2011)
Antiguo 03-ago-2010     #3
Predeterminado

Excelente información, espero con ansias la continuación y hasta tal vez algún ejemplito.
Responder Citando
Los siguientes 2 usuarios agradecen a Automatico por este mensaje:
cardavid (03-ago-2010), jchierro (03-ago-2010)
Antiguo 03-ago-2010     #4
Predeterminado

Manybadilla muchas gracias por contestar a esta pregunta.... yo tambien estoy ansioso de la continunacion y si seria genial que pusieras un ejemplillo real en donde se implementen todas las capas..... en cualquier lenguaje OOP de los mas usados.
Responder Citando
Los siguientes 2 usuarios agradecen a liorocker por este mensaje:
cardavid (03-ago-2010), jchierro (03-ago-2010)
Antiguo 17-oct-2010     #5
Predeterminado

Gracias. Esperando la continuación....
Responder Citando
Respuesta

Etiquetas
capas, programacion


(0 miembros y 1 visitantes)
 

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado

Ir al Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
problemas con el programador de tareas windows 7 vicho Windows Vista & 7 20 12-nov-2010 03:58
Eres Nuevo en Symbian S60v3??? Entra y descubre los misterios... byronrodri Celulares, PDA & Tecnología Móvil 2 16-may-2010 14:18


Desarrollado por: vBulletin® Versión 3.8.1
Derechos de Autor ©2000 - 2025, Jelsoft Enterprises Ltd.
Ad Management by RedTyger