You are on page 1of 10

Arquitectura de Software Arquitectura de capas

Componentes en las Estructuras de capas

Integrantes:

Juan Osorio Covarrubias Alex Abd-elkader

Profesor: Asignatura:

Jimmy Morales Arquitectura de Software

Noviembre 2012
1

Arquitectura de Software Arquitectura de capas ndice Pg. Introduccin Qu es una arquitectura por capas? Arquitectura de 2 capas Arquitectura de 3 capas Capa de presentacin Capa de negocios Capa de acceso a datos Arquitectura de n capas Conclusin Bibliografa 3 4 5 6-7 6 7 7 8 9 10

Arquitectura de Software Arquitectura de capas Introduccin El desarrollo de Software ya es considerado prcticamente un arte. Desde recoger requisitos previos hasta entregar un ejecutable, todo el proceso involucrado responde fuertemente a un trabajo creativo y minucioso. Una parte importante dentro de esta sucesin de algoritmos, es lo que compete al Arquitecto de Software, quien en base a diferentes arquitecturas de programacin (modelos) tendr que ser capaz de plasmar de la mejor forma posible lo que se necesita y entregar satisfaccin al usuario. Dentro de las tcnicas ms utilizadas para poder dividir sistemas complejos, encontramos el patrn de Arquitectura por capas (tema del cual se hablar en el siguiente trabajo). Si hacemos una analoga con nuestra realidad cotidiana, la arquitectura en capas podramos imaginarla como un pastel, el cual tambin consiste en una capa sobre otra. Esta dinmica de trabajo, utilizada por los arquitectos de software, nos entrega varios beneficios: Identificamos a una capa como un todo, sin necesidad de considerar las dems. Se reducen las dependencias entre capas Se posibilita la estandarizacin de servicios Una vez que una capa es construida, puede ser utilizada por otros servicios de mayor nivel. En un nivel genrico, hablamos de Arquitectura en capas; sin embargo, existen principalmente 3 modelos importantes: Arquitectura de 2 capas Arquitectura de 3 capas Arquitectura de n capas

En las siguientes lneas, explicaremos en qu consiste una arquitectura por capas, sus principales modelos y forma de trabajo.

Arquitectura de Software Arquitectura de capas Qu es una Arquitectura por capas?

Bsicamente, una arquitectura en capas es un estilo de programacin, en el cual el objetivo principal a lograr es separar los diferentes aspectos del desarrollo de software, es decir, diferenciar lo que es la presentacin, la lgica de negocios, los mecanismos de almacenamiento, entre otros. A travs del tiempo, la necesidad de contar con porciones de la aplicacin que se puedan intercambiar sin tener la necesidad de modificar el resto de la aplicacin, es uno de los pilares del impulso del desarrollo en capas. Ventajas

Reutilizacin de capas Facilita la estandarizacin Dependencias se limitan a intra-capa Contencin de cambios a una o pocas capas

Desventajas

A veces no se logra la contencin del cambio y se requiere una cascada de cambios en varias capas Prdida de eficiencia Trabajo innecesario por parte de capas ms internas o redundante entre varias capas Dificultad de disear correctamente la granularidad de las capas

A continuacin, explicaremos en detalle los modelos de 2, 3 y n capas.

Arquitectura de Software Arquitectura de capas Arquitectura de 2 capas

A pesar de que tambin existe una arquitectura de 1 capa, no es considerada formalmente dentro de la arquitectura de capas. La primera vlida que encontramos, es la de 2 capas, que se caracteriza por tener 2 asociaciones lgicas, es decir, prestan servicios y son capas.

En la primera capa, se incluye la presentacin (GUI) y la lgica de negocios. Toda la lgica la escribimos en las formas y accedemos a un servicio de datos para la gestin de los mismos, generalmente un servidor de BD. A menudo, esta arquitectura recibe el nombre de cliente-servidor, ya que el programa fuente puede estar en un servidor y n clientes pueden tener acceso a l para ejecutar una copia del programa. Sin embargo, si tuvisemos que realizar ajustes de implementacin en la lgica de negocios, tendramos que hacerlo en toda la aplicacin, de lo cual se desprende una de sus falencias importantes y que es corregido con la siguiente arquitectura en capas (3 capas).

Arquitectura de Software Arquitectura de capas Arquitectura de 3 capas

Este patrn es importante porque simplifica la comprensin y la organizacin del desarrollo de sistemas complejos, reduciendo las dependencias de forma que las capas ms bajas no son conscientes de ningn detalle o interfaz de las superiores. Adems, nos ayuda a identificar qu puede reutilizarse, y proporciona una estructura que nos ayuda a tomar decisiones sobre qu partes comprar y qu partes construir. La aplicacin se divide en tres capas lgicas distintas, cada una de ellas con un grupo de interfaces perfectamente definido. La primera capa se denomina capa de presentacin y normalmente consiste en una interfaz grfica de usuario de algn tipo. La capa intermedia, o capa de empresa, consiste en la aplicacin o lgica de empresa, y la tercera capa, la capa de datos, contiene los datos necesarios para la aplicacin. La capa intermedia (lgica de aplicacin) es bsicamente el cdigo al que recurre la capa de presentacin para recuperar los datos deseados. La capa de presentacin recibe entonces los datos y los formatea para su presentacin. Esta separacin entre la lgica de aplicacin de la interfaz de usuario aade una enorme flexibilidad al diseo de la aplicacin. Pueden construirse y desplegarse mltiples interfaces de usuario sin cambiar en absoluto la lgica de aplicacin, siempre que presente una interfaz claramente definida a la capa de presentacin. A continuacin, daremos una breve explicacin de cada una de las capas y su principal funcin. Capa de presentacin Es la que se encarga de que el sistema interacte con el usuario y viceversa, muestra el sistema al usuario, le presenta la informacin y obtiene la informacin del usuario en un mnimo de proceso. En el mundo de la informtica es conocida como interfaz grfica y debe tener la caracterstica de ser amigable, o sea, entendible y fcil de usar para el usuario. Esta capa se comunica nicamente con la capa intermedia o de negocio.

Arquitectura de Software Arquitectura de capas Capa de negocio Es donde residen las funciones que se ejecutan, se reciben las peticiones del usuario, se procesa la informacin y se envan las respuestas tras el proceso. Se denomina capa de negocio o capa de lgica del negocio, porque es aqu donde se establecen todas las reglas que deben cumplirse. Esta capa se comunica con la de presentacin, para recibir las solicitudes y presentar los resultados, y con la capa de acceso a datos, para solicitar al gestor de base de datos almacenar o recuperar datos de l. Capa de acceso a datos Esta capa es la encargada de almacenar los datos del sistema y de los usuarios. Su funcin es almacenar y devolver datos a la capa de negocio, aunque para esto tambin es necesario en algunos casos, que tengan procedimientos almacenados y funciones dentro de la capa. En una arquitectura de tres capas, esta capa es la nica que puede acceder a los mismos. Est formada por uno o varios sistemas gestores de bases de datos, localizados en un mismo servidor o en varios. Estas capas, pueden estar localizadas todas en un mismo ordenador, si el programa o software informtico que se desarrolla es de baja complejidad, porque si, por el contrario, fuera de gran complejidad tanto los datos como la lgica de negocio, entonces cada una de las capas pudiera estar situada en diferentes ordenadores, para mejorar la funcionalidad de las mismas, incluso, en productos de gran complejidad, existen varios ordenadores para la capa de acceso a datos, y varios ordenadores para la capa de negocio.

Arquitectura de Software Arquitectura de capas Arquitectura de n capas

Esta arquitectura se desprende de la de 3 capas y bsicamente lo que hace es ir haciendo las especifico el desarrollo. Podramos ir separando nuestra aplicacin en ms niveles lgicos, por ejemplo, podramos querer que nuestra aplicacin tenga mltiples interfaces, es decir, una GUI y una Interface Web. Lo recomendado bajo estas condiciones es separar el servidor web (encargado de alojar las pginas) en una capa adicional, con lo cual ya tendramos un modelo de 4 capas.

De esto, podemos deducir que a medida que nuestra aplicacin tenga ms servicios y siga escalando, se tendrn que agregar ms capas lgicas a la arquitectura (Arquitectura de n capas).

Arquitectura de Software Arquitectura de capas Conclusin

Como se ha podido apreciar en el trabajo, la arquitectura en capas, representa una excelente forma para realizar desarrollos de Software,

principalmente por la capacidad de: Realizar desarrollos paralelos (en cada capa) Aplicaciones ms robustas debido al encapsulamiento Mantenimiento y soporte ms sencillo (es ms simple cambiar un componente que tener que modificar una aplicacin completa) Mayor flexibilidad (se pueden agregar nuevos mdulos al sistema y dotarlo de nuevas funcionalidades) Alta escalabilidad (como se mostraba en el modelo de 4 capas)

Todos estos conceptos, tienen fuerte relacin con las tendencias de programacin de nuestros das, que apuntan hacia la masificacin de los sistemas distribuidos (ya que el trabajo hoy en da no se hace en una sola mquina) y la fuerte programacin orientada a objetos dominante (liderada por el lenguaje Java), con su premisa inalterable de la reutilizacin de componentes y aprovechar al mximo lo que se desarrolla. La arquitectura escogida, ciertamente debe ser la indicada para el tipo de desarrollo, recordando siempre que su flexibilidad ante cambios nos entregar siempre una importante cuota de ventaja frente a otros paradigmas de programacin.

Arquitectura de Software Arquitectura de capas Bibliografa

Introduccin al patrn de Arquitectura por capas Mara Eugenia Arvalo, Diciembre 2010 http://arevalomaria.wordpress.com/2010/12/02/introduccion-al-patron-dearquitectura-por-capas/

Aplicaciones de 2, 3 y n capas Deysi Hernndez, Febrero 2011 http://dysihdez.blogspot.com/2011/02/113-aplicaciones-de-23-y-n-capas.html

Arquitectura de capas en sistemas de informacin EcuRed, Noviembre 2012 http://www.ecured.cu/index.php/Arquitectura_de_capas_en_sistemas_de_informac i%C3%B3n

10

You might also like