Colabora
 

Aplicaciones en N-Capas

Artículo # 1 Componentes Aplicaciones N-Capas

 

Fecha: 30/Abr/2008 (29-04-08)
Autor: Príapo Nicolas Rodriguez Terrero ([email protected])

 


 

Paradigmas del Desarrollo del Software en N-Capas

En la última década el crecimiento de las empresas a nivel tecnológico y su interacción con un mundo globalizado, ha provocado grandes cambios en sus sistemas de información. Estos cambios, van desde la automatización de los procesos operativos de la organización hasta la construcción de sistemas altamente escalables. Esta escalabilidad, depende de los claros conceptos que tengan el arquitecto del software y la infraestructura tecnológica de la compañía.

En ese sentido, el desarrollo del software ha evolucionado en la medida que las empresas incrementan su demanda de crecimiento. Inicialmente, el desarrollo de software estaba orientado a la elaboración de aplicaciones que operaran todos sus componentes en un mismo computador (Este tipo de aplicaciones fueron denominadas aplicaciones monolíticas). En consecuencia, este tipo de esquema o paradigma reflejaba limitaciones de arquitectura y ofrecía pocas posibilidades de escalabilidad.

Las limitaciones de las aplicaciones monolíticas definieron un Ciclo de vida muy corto. En consecuencia, surgió un nuevo modelo “Aplicaciones Cliente – Servidor”, este modelo proponía la creación de un almacén de datos y una aplicación cliente que utilizaba estos datos. La aplicación cliente, era la encargada de contener la lógica de negocio, validaciones, seguridad, etc. No obstante, a pesar de sus grandes ventajas sobre las aplicaciones monolíticas su paradigma estaba destinado a ser descontinuado.

Los grandes avances que representó la era de las aplicaciones cliente servidor, dieron origen a un nuevo concepto “Aplicaciones en Capas”. Este paradigma, propone un desarrollo de aplicaciones utilizando un equipo de trabajo para incrementar su productividad. Los miembros de este equipo se pueden enumerar de la siguiente manera:

Diseñador Gráfico, de formularios, o de páginas web.

  • Las personas que desempeñan estas funciones, tienen la responsabilidad de crear la capa de presentación. Esta es la capa que vende, impresiona a los usuarios y la que el equipo de mercadeo y publicidad enfocaran sus esfuerzos en la captura de nuevos clientes (si la aplicación fuera a ser comercializada). Generalmente, esta capa está compuesta por una combinación de tecnologías como HTML, CSS, PHOTOSHOP, FLASH, junto a cualquier otra herramienta para enriquecer la interface. Capa de Presentación

Rules Developers.

  • Este equipo tiene la responsabilidad de traducir las reglas del negocio o procedimientos, en funciones dentro del sistema en desarrollo. Por tanto, este equipo debe estar compuesto por los desarrolladores con mayor visión de negocios. Esta capa es denominada Capa de Lógica de Negocios

Administradores de base de datos.

  • Este equipo tiene como finalidad crear un modelo relacional de base de datos. Garantizando, la integridad de la data, un buen performance de las consultas y un alto rendimiento en la utilización de los recursos del servidor.
    En colaboración con este equipo, generalmente hay desarrolladores encargados de crear la capa de Acceso a datos. De modo, que sea transparente para la capa de Lógica de Negocios el almacén de datos que utiliza.

Básicamente estas son las capas más utilizadas en el desarrollo de aplicaciones de este paradigma. Sin embargo, la principal ventaja de este modelo de programación, es ser altamente escalable. Brinda la posibilidad de incrementar el número de capas en función de las necesidades del arquitecto de software.

Este modelo, ha sobrevivido a los grandes cambios en los paradigmas a lo largo de los años. El no estar atado a un lenguaje de programación, garantiza una fácil adaptación por parte del equipo de desarrollo. Permitiendo su implementación en .net, java, php, etc. De hecho, su principal fortaleza es que puede hacer convivir aplicaciones creadas en distintos lenguajes.

Es importante destacar dos aspectos importantes del paradigma de N-Capas:

  • Microsoft, desde su versión del Framework 3.0, ha dejado evidenciado que apuesta a este modelo de desarrollo 100%. En este, se definió un componente acorde con las tres capas principales de dicha arquitectura (Windows Presentation Foundation, Windows Comunication Foundation, Windows WorkFlow Foundation).
  • A pesar de las grandes ventajas de este modelo, no debe darse por sentado que es la mejor opción para todo desarrollo. Cada proyecto tiene sus características inherentes que definen y exigen un modelo en particular.

La principal desventaja de este paradigma, es la mala aplicación de su uso. Es decir, tiene grandes impactos en escalabilidad. Sin embargo, representa un costo elevado si lo comparamos con el modelo cliente servidor o el monolítico. Además, de un mayor tiempo de desarrollo si no se cuenta con todo el personal requerido. Por ejemplo, un mantenimiento para una base de datos con 4 tablas, no requiere aplicar N-Capas. ¿Por qué? simplemente porque en el 98% esta aplicación no necesitara ser escalable. En cambio, N-Capas podría traducirse en más trabajo innecesario por parte del equipo de desarrollo.

Los escenarios adecuados para la implementación en N-Capas, son aquellos donde se requiere integración con diversas tecnologías. Así, como un regular cambio en las reglas de negocios, interface de usuario o posiblemente interacción con diversos almacenes de datos.

 



Compromiso del autor del artículo con el sitio del Guille:

Lo comentado en este artículo está probado (y funciona) con la siguiente configuración:

El autor se compromete personalmente de que lo expuesto en este artículo es cierto y lo ha comprobado usando la configuración indicada anteriormente.

En cualquier caso, el Guille no se responsabiliza del contenido de este artículo.

Si encuentras alguna errata o fallo en algún link (enlace), por favor comunícalo usando este link:

Gracias.



Ir al índice principal de el Guille