Hola Comunidad!!!
En esta oportunidad les doy visibilidad de un evento que tuvimos la oportunidad de ejecutar en las ciudades de Barquisimeto, Valencia y Caracas. Se trató del evento "Desarrollando Aplicaciones Web en Capas: IVR Virtual". En este evento, nuestro objetivo fue presentar un ejemplo real, un caso que pudiera tener semejanza con los problemas a los cuáles se enfrentan los desarrolladores en su rutina diaria.
Básicamente, lo que hicimos fue basarnos en el "Application Architecture Guidance 2.0- Designing Applications on the .NET Platform" el cuál es una guía para la comprensión y el mejoramiento de las arquitecturas de las aplicaciones que ustedes construyen. La guía de arquitectura, provee de un módelo agnóstico que permite diseñar aplicaciones con base en la siguiente arqiutectura:

Resaltamos en color amarillo, los componentes que desarrollamos para la aplicación IVR:
- Data Access Components / Data Helpers / Utilities: Se utilizaron para desarrollar los componentes de acceso a datos, las facilidades que brinda el Entity Framework, incluídas en el .NET Framework 3.5. Este componente, a través de esta capa, expone los servicios del "Contexto de Datos" (DataContext), provisto por el Entity Framework, para ser consumidos por una capa de servicios que utiliza la demostración.
- Business Workflows / Business Components: Se utilizaron para desarrollar los componentes de negocios las capacidades ofrecidas por Windows Workflow Foundation, incluídas en el .NET Framework 3.0. Este es el componente "maestro" de toda la demostración, ya que implementa secuencias de flujo de trabajo de estado para manejar las opciones del IVR.
- UI Components / Service Interfaces: En la capa de presentación, no utilizamos Windows Presentation Foundation, para simplificar la demostración (lo vamos a hacer en el próximo evento :)). En su lugar, implementamos una interfaz muy sencilla utilizando ASP .NET AJAX para ejemplificar el uso del control UpdatePanel con GridViews y utilizamos un cotrol de Silverlight específicamente el control MediaPlayer, para mostrar algunos videos en la demostración.
La pantalla de la demostación se presenta de la siguiente manera:

Cada uno de los proyectos los pueden descargar de las siguientes direcciones:
- LayerEntityFramework.zip: Este es el proyecto que enmarca la información del acceso a datos.
- WFWebService.zip: Este es el proyecto que implementa la interfaz del contexto de datos y los expone a través de servicios web.
- DEMOIVR.zip: Este es el proyecto que implementa la capa de flujos de trabajo (Windows Workflow Foundation), de estilo Aplicación de Consola.
- Presentacion.zip: Este es el proyecto que imeplementa la intefaz en ASP .NET 3.5, AJAX y el control Silverlight 2. Además, consume los servicios web expuestos por la capa WFWebService.zip.
Es mi deseo que este ejemplo pueda ayudarlos a comprender cómo implementar mejores aplicaciones web, a través del modelo de desarrollo en capas, y utilizando algunas características de los distintos frameworks.
Si desean trabajar en este ejemplo, para mejorarlo conjuntamente con la comunidad, por favor, escríbanme para coordinar dicha actividad.
Estamos en contacto!!!
Néstor Guadarrama
Gerente Unidad de Desarrollo de Software
Microsoft Venezuela
