sábado, 25 de julio de 2009

Arquitectura de 4 capas

Un aspecto básico cuando se enseña programación de aplicaciones, para diferenciarla de la enseñanza limitada a aprender a desarrollar algoritmos, es la arquitectura en capas.

El concepto básico de la arquitectura en capas es separar la aplicación en componentes que se sitúan en diferentes niveles funcionales. Cuando se habla de la arquitectura en capas mucha gente piensa en: capa de datos, capa de negocio y capa de interfaz de usuario.
  1. Capa de datos. En esta capa se encuentra todos aquellos componentes cuya funcionalidad está centrada en recuperar y/o almacenar los datos con los que trabaja nuestra aplicación.
  2. Capa de negocio. Es la que soporta toda la lógica de negocio. En esta capa encontramos todas aquellas funciones que hacen algún tipo de tratamiento de los datos, se aplica las reglas de negocio, etc.
  3. Capa de interfaz de usuario. Orientada a soportar la interactividad de los usuarios con las funcionalidades brindadas por la capa de negocio. En esta capa se encuentran los controles visuales, formularios, etc.

No pretendo en esta entrada explicar la arquitectura de 3 capas, sino que debemos considerar una capa más llendo a una arquitectura de 4 capas.

Hoy en día es más apropiado considerar una arquitectura de 4 capas. ¿Cuál es la nueva capa a considerar? La capa de servicio. Esta capa permite desacoplar la interfaz de usuario del resto de capas, permitiendo que las funcionalidades de nuestra aplicación sean accesible por otras aplicaciones u servicios.


La arquitectura de 3 capas también desacopla la interfaz de usuario del resto de capas. Por supuesto, pero con el enfoque de 3 capas se desarrolla aplicaciones monolíticas donde la interfaz de usuario se presenta como una interfaz orientada a unas funcionalidades concretas y no una interfaz integradora que permite que el usuario pueda acceder a todos los servicios de su organización. Además, con la arquitectura de 3 capas, tarde o temprano se tiende a producir un fuerte acoplamiento entre la capa de negocio y la de interfaz de usuario que complicará el mantenimiento de nuestra aplicación.

Con una arquitectura de 4 capas no nos planteamos el desarrollo de una aplicación al uso, sino el desarrollo de un sistema compuesto por servicios que interactúan.

Consultar Application Architecture Guide 2.0, Microsoft.

2 comentarios:

RecargasVirtuales Online dijo...

Interesante su aporte, me gustaria que explicara mas la capa de servicio por favor.

Marcelo Chas Cruz dijo...

Muy buena entrada.