Revista Tecnología

Arquitectura en Tres Capas

Publicado el 23 junio 2015 por Instintobinario

En este artículo hablaré sobre uno de los tipos de arquitecturas más utilizados para desarrollar software. Se trata de la arquitectura en tres capas.

¿Qué es la arquitectura software?

La arquitectura del software es el diseño de más alto nivel de la estructura de un sistema. Consiste en un conjunto de abstracciones que forman el “marco” del software. La arquitectura se diseña en la fase posterior a la de requisitos, la llamada fase de diseño.

Arquitectura en tres capas

La arquitectura en tres capas es un tipo de arquitectura usada en la gran mayoría de sistemas. Se suele usar en sistemas que implementan un modelo de negocio como podría ser una tienda online, una aplicación para gestionar ciertos datos, etc. Sin embargo no es recomendable usarla en sistemas de tiempo real como los de los coches o aviones.

Todo sistema que gestiona datos tendrá una base de datos para guardar esos datos y una interfaz de usuario que será con la que interactúan los usuarios. Además, una parte del sistema se encargará de procesar los datos y gestionar lo que se hace con ellos. La arquitectura en tres capas lo que hace es dividir el sistema en tres partes diferenciadas, de tal forma que cada capa solo se comunique con la inferior. Esas tres capas se denominan:

  • Persistencia: Esta capa se encarga de guardar los datos. Será donde se gestione todo lo relativo a la base de datos y a la creación, edición y borrado de datos de ésta.
  • Negocio: En esta capa se gestiona la lógica de la aplicación. Es donde se dice que se hace con los datos. Por ejemplo para una aplicación de gestión de una biblioteca será donde se gestione cuántos préstamos puede tener un usuario, que ocurre si un usuario se retrasa al devolver un libro, etc. Estará conectada con la capa de persistencia para poder realizar sus funciones.
  • Presentación: En esta capa se crea la interfaz del usuario. Su única función es pasarle las acciones que realice el usuario a la capa de negocio.

Al hacer que cada capa se comunique solo con la inmediatamente inferior, conseguimos que si hay que realizar un cambio no nos volvamos locos tocando todo el sistema. Si por ejemplo tenemos que cambiar la forma en la que se guardan los datos (el tipo de base de datos por ejemplo), solo tendríamos que tocar la capa de persistencia.

Para finalizar os mostraré un ejemplo de una aplicación sencilla y seguro que lo entenderéis todo mucho mejor.

Ejemplo de arquitectura en tres capas
Diagrama de componentes que muestra una arquitectura en tres capas

Este diagrama muestra el diseño arquitectónico de una aplicación para gestionar el impuesto de circulación de los vehículos registrados en un ayuntamiento. Cabe destacar que es una aplicación muy sencilla y de ejemplo, una aplicación real con el mismo propósito sería más compleja.

Como podéis ver está dividida en tres capas con dos componentes en cada capa. Los componentes finalizados en DAO son los de la capa de persistencia y se encargan de guardar los vehículos y los contribuyentes. Los componentes de gestión son los que realizan la llamada a los DAO para obtener, editar, crear y borrar vehículos y contribuyentes. Además será donde se calcule el precio que tiene que pagar cada contribuyente en función de ciertos parámetros. Eso es lo que llamamos lógica de negocio. Finalmente tenemos la capa de presentación que en este caso tiene una vista web a la que accederá el funcionario y un servicio web. Los componentes se comunican mediante interfaces y como podéis ver la capa de presentación no se relaciona con persistencia, solo lo ahce con la de negocio y esta a su vez con la de persistencia.

De momento lo dejamos aquí. En otros artículos profundizaremos un poco más. Espero que esta introducción os haya servido para entender uno de los tipos de arquitecturas más utilizados.

El artículo Arquitectura en Tres Capas apareció por primera vez en Instinto Binario.


Volver a la Portada de Logo Paperblog