vtortola.NET Logo
Modelado en capas.

Modelado en capas.

por vtortola jueves, 13 de septiembre de 2007

El modelado en capas de un sistema representa como se planea dividir el código en partes lógicas ó grupos. La abstracción del código en capas permite mejorar, reparar y reemplazar partes de la aplicación de forma sencilla y sin que afecte a las demás. Además provee una representación lógica y clara de la aplicación.

El modelo en capas más comun es el de tres capas, presentación, lógica de negocio y base de datos. El model n-capas extiende este modelo de forma que cualquier capa puede dividirse en subcapas, aportando así mayor claridad.

La capa más alta es en la que se interactua con el usuario, la capa más baja donde los datos son almacenados/recuperados y las capas intermedias son las encargadas de realizar el procesado de datos, el movimiento de estos de la base de datos al usuario y el control del estado de la aplicación.

El número de capas que ha de tener una aplicación viene definido por los requerimientos de calidad de servicio, a más altos y exigentes, más capas, pero esto también aumenta el tiempo de desarrollo.

Las capas que comunmente pueden conformar una aplicación Windows son:

  • Interfaz de usuario: Provee la interfaz con la que interactua el usuario. Es responsable de obtener datos de la capa siguiente, mostrarlos, validar entradas de datos, enviarlos a la siguiente capa. Puede dividirse en:
    • Pesentación: Define únicamente la parte de presentación de la interfaz de usuario. Normalmente esta en los archivos *.Designer.cs.
    • Código de la interfaz de usuario: Donde los programadores ubican el código para interactuar con la interfaz de usuario respondiendo a eventos.
    • Código de interacción con la lógica de negocios (Business Façade): Esta capa podría usarse para separar totalmente la intefaz de usuario de la lógica de negocio, de forma que podría ser facilment substituible.
  • Capa Intermedia: Donde se ubica la lógica de negocio, aunque también suele incluir cosas como cacheo de datos, registro de actividad, gestión de errores ... etc.... Enterprise Library es un ejemplo de esto. Puede dividirse en:
    • Capa de negocios: En esta capa se ubican los objetos de dominio y sus reglas de negocio, formados por componentes carentes de estado (stateless) que trabajan con System.EnterpriseServices, objetos que son pequeños programas para procesar información, DTOs a través de Remoting, ..etc..
    • Capa de aplicación (ó Servicios de aplicación): Es la capa de mantenimiento general, se encarga normalmente de los requerimientos de calidad de servicio, como las caches, la gestión de excepciones, rendimiento, ..etc.. Enterprise Library es un ejemplo de este tipo de capa.
    • Capa de acceso a datos (ó Servicios de datos): Abstrae la obtención y almacenamiento de datos en la base de datos. Una forma de aislarse más de la Capa de datos real.
  • Capa de datos: Representa como se gestionan los datos en la base de datos a través de la aplicación. Normalmente es una base de datos relacional como SQL Server.
    • Capa de acceso a datos: Igual que la capa de datos de la base intermedia.
    • Procedimientos almacenados: Representa los procedimientos almacenados nativos ó administrados con los que se manejan datos en la base de datos.
    • Servicios de integración: Representa como la base de datos trabaja con otras fuentes de datos.
    • Tablas, logs y indices de la base de datos: Los datos en la base de datos.

Una vez definidas las capas es importante ubicarlas bien dependiendo de la arquitectura del sistema y los requerimientos. Por ejemplo, si nuestra aplicación será un SmartClient que se distribuye por internet y no puede acceder directamente a la base de datos, podemos hacer que el cliente conecte a la capa de negocios de un servidor mediante, por ejemplo, Remoting, de forma que la parte servidor pueda validar todas las entradas/salidas de la BD.

Resumen de la lección 2.2 del libro oficial de Microsoft para obtener el MCPD:WinApps.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , ,

MCPD | WinApps

Related posts

Comentarios

septiembre 13. 2007 17:47

trackback

Trackback from vtortola

Modelado en capas.

vtortola

Comments are closed

Powered by BlogEngine.NET 1.1.1.8
This theme is a variation of Mads Kristensen by Valeriano Tórtola

Valeriano Tórtola

Personal Ver perfil
E-mail Enviar correo
LinkedIn LinkedIn
Fotos Fotos
MCPD

Publicidad

Posts recientes

Disclaimer

Las opiniones mostradas aqui son mis opniones y no representan el punto de vista de mi empresa en ninguna forma.

Creative Commons License

Esta obra está bajo una licencia de Creative Commons

Locations of visitors to this page

© Copyright 2008

Sign in

Calendario

<<  noviembre 2008  >>
lumamijuvido
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

Ver en calendario extendido