lunes, 20 de junio de 2011

Crear una solución con SFS Tools en Visual Studio 2010

Este post es para describir a detalle el Tutorial de introducción de SFS Tools.

Pre-requisitos

  1. Microsoft Visual Studio 2010 y Microsoft Visual Studio 2010 SP1
  2. ASP.NET MVC 3
  3. Base de datos para este ejemplo “AdventureWorks” o bien usar cualquier otra.
  4. De preferencia instalar Nuget (opcional)

Guía detallada Paso a paso

Instalar SFS VS Add-in

  1. Descargar e instalar la ultima versión de SFS VS Addin

Crear la solución

  1. Inicia Microsoft Visual Studio 2010 y crea una solución en blanco (hazlo en una ruta corta como c:\Projects o d:\Projects por ejemplo ).
    image
  2. En el explorador de soluciones, hacer clic derecho sobre la solución y seleccionar del menú contextual “Enable SFS in solution”.
    image
  3. En el explorador de soluciones hacer clic derecho sobre la solución y seleccionar “Add / Create Application Module”, y escribir el nombre de espacio en del proyecto en el campo de “Namespace”: SFS.AdventureWorks (Para este ejemplo) y haz clic en el botón “Add”.
    image  image
    Espera unos segundos… sé paciente.
  4. Selecciona “Discard” de la ventana de conflicto que aparecerá al terminar el proceso, y posteriormente selecciona “Reload”.
    image  image
    Observa y conoce  la solución que se ha generado automáticamente:
    image

Crear el modelo de datos

  1. En el proyecto SFS.AdventureWorks.BusinessObjects.EF4 elimina los siguientes dos archivos: ModuleNameModel.edmx y ModuleNameModel.sfsedmx y renombra la carpeta ModuleNameModel a “SFSAdventureWorksModel”.
  2. Haz clic en el icono de “Show all files” e incluye dos archivos: ”SFSAdventureWorksModel.edmx” y “SFSAdventureWorksModel.sfsedmx” haciendo clic derecho y seleccionando “Inlcude in project”.
     image  image
  3. Haz clic derecho sobre “SFSAdventureWorksModel.edmx” y selecciona “Properties” y elimina el contenido del campo “Custom Tool”.
    image  image
  4. Abre el archivo App.Config y cambia los valores del string de conexión a la base de datos y guarda los cambios:
    ( en mi caso, la base de datos se llama AdventureWorks, el usuario es “sfsdev” y la contraseña es “sfsdev” )
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
    <connectionStrings>
    <add name="SFSAdventureWorksContext" connectionString="metadata=res://SFS.AdventureWorks.BusinessObjects.EF4/SFSAdventureWorksModel.csdl|res://SFS.AdventureWorks.BusinessObjects.EF4/SFSAdventureWorksModel.ssdl|res://SFS.AdventureWorks.BusinessObjects.EF4/SFSAdventureWorksModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=(local);Initial Catalog=[Database];Persist Security Info=True;User ID=[username];Password=[password];MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
    </connectionStrings>
    <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
    </startup>
    </configuration>

  5. Haz doble clic en el archivo SFSAdventureWorksModel.edmx y se abrirá el modo diseño. Haz clic derecho sobre el documento y selecciona “Update model from database…”
    image

  6. En la pestaña “Add”  seleccionar la raíz de “Tables” (Pero quita la selección a AWBuildVersion, DatabaseLog,  ErrorLog y sysdiagrams) y “Pluralize or singularize generated object names” y haz clic en “Finish”.
    image
    Guarda los cambios. Haz clic en “Save” una vez terminado el mapeo de entidades.

  7. Haz clic derecho sobre el archivo “SFSAdventureWorksModel.edmx” en el explorador de soluciones, y seleciona “Create Entity Framework Model” del menú contextual.
    image
    Observa como el archivo “SFSAdventureWorksModel.sfsedmx” ahora contiene una estructura basada en todas las entidades de Entity Framework.

Generar el código de todas las capas



  1. Genera el código de la capa de objetos de negocio.
    image  image

  2. Genera el código de la capa de EF4.
  3. Genera el código de la capa de EFPococAdapter
    image  image

  4. Genera el código de la capa de reglas de negocio
    image

  5. Genera el código de la interface de usuario
    image

  6. Incluir en el proyecto los archivos generados de las carpetas “Controllers”, “Models”, “Views” y “Resources” seleccionándolos,  haciendo clic derecho y seleccionando la opción “Include in project”.
    image

  7. Los archivos de recursos también deben incluirse y posteriormente generar sus clases haciendo clic derecho sobre ellos y seleccionado “Run custom Tool
    image

Crear la base datos de SFS Framework



  1. Crear una base de datos para el SFS Framework y correr el script que crea los objetos, en este ejemplo se crea una base de datos llamada SFS_Database
    image  image
  2. Crear un usuario en la instancia de MS SQL Server y asignarlo como dueño a la base de datos SFS_Database.(Ej.: usuario: sfsdev, password: sfsdev123)

Cambiar las cadenas de conexión a la base de datos



  1. En el proyecto SFS.AdventureWorks.Web.Mvc, abrir el archivo SFSAdventureWorks.config y cambiar el nombre de la base de datos, el usuario y la contraseña.
    image

  2. Hacer lo mismo en los proyectos SFSdotNet.Framework.My.Web.Mvc (El archivo SFSdotNetFrameworkMy.config) y SFSdotNet.Framework.Security.Web.Mvc (El archivo SFSdotNetFrameworkSecurity.config), apuntando a la base de datos del Framework (SFS_Database) y usando las credenciales del usuario que previamente se creó (Ejemplo, usuario: sfsdev, password: sfsdev123)

Compilar y correr la aplicación



  1. Compilar los proyectos de los tres módulos, hacer clic derecho seleccionando los tres proyectos (SFS.AdventureWorks.Web.Mvc, SFSdotNet.Framework.Security.Web.Mvc y SFSdotNet.Framework.My.Web.Mvc) y seleccionar “Build” del menú contextual.
    image 
  2. Establecer el proyecto SFSdotNet.Framework.Web.Mvc como proyecto de inicio y correr la aplicación sin inspeccionar, como se ve en las imágenes siguientes.
    image  image
    Observa que después de identificarse con las credenciales por defecto (usuario: emir.trevino, password: pass.word1) no se verá ningún menú en el árbol de navegación.
    image 
  3. Regresa  a la solución en Microsoft Visual Studio y cambia el valor del nodo de configuración “AutoInjectPermissionsOnStartup” de “false” a “true” en el archivo web.config del proyecto  SFSdotNet.Framework.Web.Mvc y guarda los cambios.
    image  image
  4. Regresa a la ventana del navegador y refresca la pantalla de la aplicación. Espera unos segundos, pueden ser minutos, sé paciente! se están inyectando los permisos y los objetos de negocio en la base de datos del Framework (SFS_Database) una vez cargada la página, debes volver a poner el valor de “AutoInjectPermissionsOnStartup” en “false”, es importante!.
  5. Ahora ya puedes ver el menú (si es necesario cierra sesión y vuelve a entrar), en el menú “catálogos”  haz clic sobre la opción de “PRODUCTS” y observa su funcionalidad.
    image image  image

Listo! la aplicación se ha terminado en su primer etapa, ahora sigue lo más importante, terminar la aplicación.. sigue los tutoriales.

Conclusión


Con la herramienta SFS para Microsoft Visual Studio es posible construir de principio a fin una solución funcional con una serie de características valiosas y con una arquitectura robusta.


Siguientes pasos


Revisa los tutoriales para ver como se llevan a cabo las demás tareas de programación para hacer de esta solución una aplicación completa.


La ayuda de las herramientas SFS no termina aquí, la parte más importante es cómo agregar la funcionalidad especial, reglas de negocio, configuración de las pantallas, validación, entre otras cosas.


Sigue los tutoriales: http://es.sfsdotnet.com/herramientas/docs/tutoriales

No hay comentarios.:

Publicar un comentario