A punto de acabar un PDC 2008 lleno de novedades y anuncios, entre los que sin duda destacan Windows Azure y Windows 7, pero en el que también hemos tenido constancia de otras novedades quizás de menos calado desde el punto de vista informativo, pero que van a significar mucho trabajo para todos los que nos relacionamos de alguna manera con las tecnologías y productos de Microsoft. Con este artículo pretendo hacer un pequeño recopilatorio de esas otras novedades que he podido conocer en el PDC. Empemos con ellas.
Proyecto Astoria «Offline»
Seguro que más de alguno se quedará sorprendido con el nombre del proyecto y sobre todo con el objetivo que hay por detrás: ser capaces de implementar aplicaciones basadas en servicios que no siempre estará accesible. Y fue precisamente Pablo Castro (arquitecto de software en Microsoft), uno de los integrantes claves del equipo de Astoria, quien nos presentó este nuevo proyecto, muy reciente en cuanto a desarrollo (de echo, no tendremos una primera versión alfa hasta finales de año, y habrá que esperar a el año que viene para poder disponer de las primeras CTP’s. La idea del proyecto Astoria Offline es permitir la sincronización bidireccional de datos entre cliente y servidor en escenarios en los que puedan darse situaciones de trabajo offline. Desde el punto de vista tecnológico, Astoria Offline se apoya en ADO.NET Entity Framework y en la demo preliminar del producto pudimos comprobar que la clave de la sincronización entre cliente y servidor consiste en crear una réplica en local de la estructura que tenemos en el servidor (BD y modelo de entidades). Esta réplica en local constará de los elementos necesarios (procedimientos almacenados, scripts T-SQL) para que la sincronización se realice de manera perfecta. Por supuesto, pensar en qué la réplica en local se puede realizar en una BD SQL Compact Edition (CE), opción sin duda muy atractiva. El modelo de aplicación que tiene en mente el equipo de Astoria Offline es el siguiente:
De echo, lo que se pretende con Astoria Offline es poder tener los servicios offline en una solución end-to-end en la que:
- Nos aprovechemos de la experiencia de Visual Studio en el modelado de la solución completa (cliente y servidor).
- Dispongamos de unas API’s de sincronización (una estará en ADO.NET EF), algoritmos, formatos y protocolos.
- Modelamos a nivel de entidades conceptuales.
Mas información sobre Astoria Offline en el blog del equipo de Astoria y en el blog de Pablo Castro.
Programación de Live Services con tecnologías no Microsoft
Por increíble que parezca, este es el título de una de las sesiones del PDC. En palabras de Nishant Gupta (Program Manager de Live Services), lo que se pretende con Live Services es que sea una platafomra abierta de tal manera que se puedan construir aplicaciones sobre ella utilizando tecnologías no necesariamente Microsoft…y como ejemplo valga esta imagen:
La idea es que la plataforma Live se convierta en un entorno unificado en el que se puedan programar servicios de Live utilizando cualquier plataforma, tecnología, dispositivo o lenguaje de programación. Y para que esto sea posible, se han aplicado unos principios de diseño claves:
-
Carácter abierto a través del uso de tecnologías estándar y abiertas: HTTP, XML, ATOM, RSS.
-
Simple, de manera que se de una simetría entre cliente y servidor, y exista una cierta complicidad en la forma de sincronización.
-
Se disponga de una fuente de modelos única.
A partir de estas premisas, podremos acceder a los elementos que tengamos en Live Mesh usando herramientas y tecnologías tan dispares como Fiddler, Curl, Phyton, PHP, …con ellas podremos consultar información sobre datos, objetos, dispositivos, etc. Y si vamos un paso más adelante, podremos integrar por ejemplo WordPress con Live para insertar datos de nuestros contactos de Live en la gestión de usuarios de WordPress a través de un Add-In personalizado para WordPress. Del mismo modo, podríamos crear objetos de Mesh desde PHP. ¿Y cómo es posible todo esto? Pues sencillamente porque dialogar con Live Services implica enviar una petición HTTP…y este dialecto es ampliamente entendido y fácil de utilizar desde .NET, Java, PHP, Ruby, etc.
Novedades posibles en la versión 2 de ADO.NET Entity Framework
En este caso, he de reconocer que me sentí un poco decepcionado porque las posibles novedades que se contaron en torno a la versión 2 de ADO.NET Entity Framework ya las conocía. Aún así, pudimos ver en acción algunas de estas novedades:
-
Posibilidad de usar objetos POCO.
-
Definición y uso de objetos complejos.
-
Crear objetos en la BD (esta si fue una gran novedad, ovacionada por la sala).
-
Se habilitan las Table Value Functions.
ASP.NET 4.0 & Visual Studio 2010
Aparte de la novedad de que Visual Studio 2010 está implementado con WPF, durante la keynote del martes se habló sobre la versión 4.0 de ASP.NET (formará parte de .NET Framework 4.0), y que tendrá algunas de las siguientes características:
-
Mejoras en formularios web.
-
MVC soportado por defecto.
-
Cacheado distribuido.
-
AJAX.
-
Herramientas para AJAX / JavaScript en Visual Studio 2010.
-
Soporte para CSS2.
-
Funcionalidades Publish & Deploy.