Validación de Arquitectura en VS2010

Que tal mis amigos, he estado un poco desconectado y fuera de onda (suele suceder en algunos períodos del año).  Pero ahora he vuelto nuevamente y después de haber ido al Microsoft Technet realizado en Chile les traigo algunas novedades sobre Windows 7, Visual Studio 2010 y SOA (Cloud Computing).  Pero voy a partir mostrándoles algo que a mi me llamó mucho la atención dentro de las nuevas características que vienen incorporadas en Visual Studio 2010, les hablo de las herramientas nuevas para crear y validar arquitecturas dentro del mismo IDE (Herramientas de modelado UML, validación, diagramas de capas, relaciones, etc etc).  Partamos entonces:

1.- Lo primero que haremos es obviamnete ingresar al entorno de desarrollo (Visual Studio 2010 Team System), para aquellos que aún no han bajado la versión BETA, les dejo el link:

Visual Studio 2010 Team System BETA1

2.- El resultado final de este trabajo será el que se vé en la imágen de mas abajo.

Vamos a crear 5 proyectos.  Uno para el modelo de la arquitectura con sus capas, otro para el proyecto de datos, otro para el modelo de objetos del dominio, otro para los objetos de negocio y otro para la presentación, que en este caso la haremos con WPF (Windows Presentation Foundation).

Paso2 - Abrir entorno de desarrollo

3.- Primero creamos una solución en blanco y le ponemos el nombre Solucion3CapasVS2010 o el que ustedes quieran y le dan la ruta donde se almacenará la carpeta de la solución y los distintos tipos de proyectos.

Solucion y proyectos VS2010

4.- Creamos los proyectos para las distintas capas, tipos de proyecto “ClassLibrary” para los proyectos DAO, DOM y DTO y WPF para la capa de presentación.

Paso2 - Abrir entorno de desarrollo

De manera adicional, vamos a crear un proyecto de modelamiento de arquitectura y vamos a eliminar las clases por defecto de los proyectos ClassLibrary porque las crearemos utilizando un diagrama de clases.  (Esto se pone interesante!!!)

Modeling Project

5.- Como ya tenemos creado el proyecto de modelamiento, vamos a proceder a crear un diagrama de capas, en este caso vamos a tomar el template denominado “Layer Diagram”, agregándolo como un nuevo item dentro del proyecto de modelamiento y le dejaremos el mismo nombre o el que ustedes quieran.

Layer Diagram

6.- Ahora crearemos el diagrama que va a representar nuestra solución de arquitectura, en este caso vamos a crear un estilo arquitectónico en 3 capas.  Para lo cual arrastraremos desde el toolbox el elemento con el nombre “Three Layer” hacia nuestro entorno.  El resultado se debería ver mas o menos así:

Three Layers

7.- Ahora nuestro modelamiento va tomando mas forma.  Lo que debemos hacer ahora es crear una nueva capa donde pondremos los contratos de las clases u objetos de negocio que van a interactuar con las otras capas.  Y es aquí donde debemos conocer si la relación que haremos es direccional o bidireccional.  Expliquemos un poco mas a fondo esto.  Supongamos que tenemos 2 clases (claseA y claseB).


namespace ProjectDTO
{
class claseA
{
ProjectDTO.claseB b = new claseB();
}
class claseB
{
ProjectDTO.claseA a = new claseA();
}
}

Como nos podemos dar cuenta desde la claseA se genera una instancia hacia la claseB y viceversa, a esto se le denomina una relación bidireccional, si la relación solo existiera desde la claseA a la claseB o desde la claseB hacia la claseA entonces estaríamos hablando de una relación direccional.  No voy a entrar mas en detalles porque incluso hay patrones de diseño que permiten dar otra solución a este tipo de relaciones entre las clases.

En nuestro caso, vamos a crear una capa que es transversal a nuestro modelo (DTO), ya que hacen uso de los objetos de negocio tanto la capa de datos (DAO) como la capa de negocios (DOM), pero su relación es direccional (Acá tienen que empezar a usar su imaginación).

DTO Layer

Perfecto!!.   Ahora ya tenemos nuestro modelo de capas, bien básico, pero modelo al fin y al cabo.

Ahora vamos a crear algunas clases de ejemplo dentro de los proyectos y veremos en funcionamiento la validación de arquitectura que nos ofrece VS2010.  Por ejemplo, desde el proyecto DTO creamos una clase llamada “ClienteDTO.cs” que contandrá su Rut, Nombre y Apellido:

public class ClienteDTO
{
#region campos
private String rut;
private String nombre;
private String apellido;
#endregion

#region propiedades
public String Rut
{
get
{
return rut;
}
set
{
rut = value;
}
}
public String Nombre
{
get
{
return nombre;
}
set
{
nombre = value;
}
}
public String Apellido
{
get
{
return apellido;
}
set
{
apellido = value;
}
}
#endregion
}

Y le vamos a decir a nuestro modelo que el proyecto DTO se corresponde con la capa DTO de nuestro diagrama de modelo de arquitectura.  Y lo mismo haremos con cada uno de los proyectos que hemos creado anteriormente (DOM, DAO y WPF).  El resultado debería quedar mas o menos así:

Project Link

Como se puede apreciar ahora las capas cuentan con un icono de acceso directo el cual identifica que el proyecto de nuestro modelo está enlazado con un proyecto real de nuestra solución.  Y que además podemos verlo en nuestro “Layer Explorer”.

Layer Explorer

Damos click derecho sobre nuestro modelo y presionamos sobre la opción “Validate Architecture”.  Y VS2010 nos devuelve los siguientes mensajes:

12-10-2009 20:45:05: Layer validation is starting.
12-10-2009 20:45:06: Layer validation succeeded.

Y como ejercicio para los lectores de este tutorial, creen las referencias necesarias según el modelo planteado inicialmente y desde el proyecto WPF (Code Behind) creen una referencia directa hacia su modelo de datos por ejemplo (DAO), luego vuelvan a validar la arquitectura y vean los resultados.

Suerte a todos y nos vemos en la próxima!!!!  les adjunto el proyecto de ejemplo.

Modeling3LayersArchitecture (Renombrar a RAR)

Anuncios

2 comentarios

Archivado bajo Arquitectura de Software

2 Respuestas a “Validación de Arquitectura en VS2010

  1. cibernauta

    bien!

    por fin algo interesante en el blog…
    en la casa vamo a tasarlo bien bien…pero pinta pa weno…

    salud y libertad!

  2. Pingback: Los números de 2010 « Juanjo's Blog

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s