La solución Contact Manager

de Jason Lee

Esta serie de tutoriales usa una solución de ejemplo, la solución Contact Manager, para representar una aplicación a escala empresarial con un nivel de complejidad realista. En este tema se presenta la solución Contact Manager, se describen los componentes clave de la solución y se identifican los desafíos de implementar este tipo de aplicación en varias plataformas de destino en un entorno empresarial.

A medida que trabaje en los temas de estos tutoriales, puede usar la solución Contact Manager como una implementación de referencia que muestra cómo puede cumplir desafíos específicos en escenarios de implementación empresarial. En el tema siguiente, Configuración de la solución Contact Manager, se describe cómo descargar y ejecutar la solución en la estación de trabajo del desarrollador.

Información general de la solución

La solución Contact Manager consta de cuatro proyectos individuales:

The Contact Manager solution consists of four individual projects.

  • ContactManager.Mvc. Se trata de un proyecto de aplicación web ASP.NET MVC 3 que representa el punto de entrada de la solución. Ofrece algunas funcionalidades básicas de aplicaciones web, como proporcionar a los usuarios la capacidad de crear y ver los detalles de contacto. La aplicación se basa en un servicio de Windows Communication Foundation (WCF) para administrar contactos y una base de datos de servicios de aplicaciones ASP.NET para administrar la autenticación y la autorización.
  • ContactManager.Database. Se trata de un proyecto de base de datos de Visual Studio. El proyecto define el esquema de una base de datos que almacena los detalles de contacto.
  • ContactManager.Service. Se trata de un proyecto de servicio web WCF. El servicio WCF expone un punto de conexión que permite a los autores de llamadas realizar operaciones de creación, recuperación, actualización y eliminación (CRUD) en la base de datos ContactManager. El servicio se basa en la base de datos ContactManager y en el ensamblado ContactManager.Common.dll.
  • ContactManager.Common. Se trata de un proyecto de biblioteca de clases. El servicio WCF se basa en los tipos definidos en este ensamblado.

La solución también incluye una carpeta de solución denominada Publish. Contiene varios archivos de proyecto personalizados y archivos de comandos que muestran cómo puede controlar y manipular el proceso de compilación e implementación. Estos se tratan con más detalle más adelante en este tutorial.

En un nivel conceptual, los componentes de la solución encajan de la siguiente manera:

How the components of the solution fit together at a conceptual level.

Nota:

Aunque la aplicación web ASP.NET MVC 3 usa el proveedor de pertenencia ASP.NET, todas las páginas de la aplicación web permiten el acceso anónimo. Esto no es claramente una configuración realista. Sin embargo, la solución se configura de esta manera para facilitar la implementación y prueba de la solución sin configurar las cuentas de usuario y los roles.

Desafíos de implementación

La solución Contact Manager muestra varios desafíos de implementación comunes a muchos escenarios de implementación empresarial:

  • La solución consta de varios proyectos dependientes. Debe implementar estos proyectos simultáneamente.
  • Conectar cadenas y puntos de conexión de servicio deben actualizarse para cada entorno y, en muchos casos, esta información no estará disponible para el desarrollador.
  • Al implementar la base de datos ContactManager en entornos de ensayo y producción, debe conservar los datos existentes en las implementaciones posteriores.
  • Al implementar la base de datos de servicios de aplicaciones de ASP.NET, debe implementar algunos datos de configuración, pero omitir los datos de la cuenta de usuario.
  • Los proyectos incluyen algunos archivos y carpetas que no se deben implementar. Debe excluir estos archivos y carpetas del proceso de implementación.
  • La solución debe admitir la implementación automatizada desde un servidor de compilación de Team Foundation Server (TFS).

Conclusión

En este tema se proporciona información general de alto nivel de la solución Contact Manager y se identifican algunos de los desafíos de implementación inherentes que son comunes a muchos escenarios de implementación empresarial. En los temas restantes de este tutorial se describen algunas de las técnicas que puede usar para cumplir estos desafíos.

En el tema siguiente, Configuración de la solución Contact Manager, se describe cómo descargar y ejecutar la solución en la estación de trabajo del desarrollador.