Visual Studio 2010 y Parallel Computing!

Saludos de nuevo desde el Convention Center de Los Ángeles. Aunque el anuncio del que os voy a hablar ya se comentó en la primera jornada del PDC 2008, quería hacerme eco del mismo por su importancia y para poner un punto de atención en otra de las líneas futuras en lo que al desarrollo de software se refiere: el computación en paralelo (Parallel Computing). Como muchos sabréis, este es el nombre que recibe la iniciativa de Microsoft para construir aplicaciones capaces de ejecutarse en arquitecturas multi-core, es decir, formadas por más de un procesador.

Pues bien, en lo que a Parallel Computing se refiere, el pasado lunes se anunció que tanto Visual Studio 2010 como .NET Framework 4.0 incluiran los modelos de programación, librerías .NET (como Task Parallel Library y Parallel LINQ) y elementos (como herramientas de profiling y debugguing) necesarios para desarrollar aplicaciones que se ejecuten de manera eficiente sobre hardware multi-core,

Por supuesto, estas características de computación paralela las podéis probar en la reciente CTP de Visual Studio 2010 y .NET Framework 4.0 (liberada también el pasado lunes).

Microsoft Surface, Surface Computing o el poder del usuario!

Sin duda, y aunque no es una novedad como tal, uno de los aspectos destacables del PDC 2008 ha sido la promoción y empuje que se la ha pretendido dar a Microsoft Surface, la tecnología creada por Microsoft en el año 2007 para romper las barreras entre la tecnología y las personas (en palabras de Steve Ballmer, CEO de Microsoft). Durante los cuatro días de este PDC, hemos tenido la oportunidad de jugar con la tecnología a través de las 16 Microsoft Surfaces repartidas por el Convention Center de Los Ángeles.

Asociado a Microsoft Surface, tenemos el término de Surface Computing, o lo que es lo mismo, como construir aplicaciones para Microsoft Surface que acerquen a los usuarios a la tecnología de una forma sencilla y natural. Precisamente, tal y como nos comentaba Diego Gomez en este post, durante este PDC se ha liberado un SDK para desarrollar soluciones para Microsft Surface de acuerdo a las características propias de una aplicación para Microsoft Surface:

  • Interacción directa, es decir, los usuarios puedan literalmente “tocar” la información digital con sus manos a través de gestos.
  • Multi-touch, es decir, se puedan reconocer múltiples puntos de contacto de manera simultanea en la superficie.
  • Multi-Usuario, es decir, se permita que varios usuarios interaccionen de manera simultanea con Microsoft Surface.
  • Reconocimiento de objetos, o lo que es lo mismo, cualquier objeto físico  depositado sobre la superficie de Microsoft Surface genere respuestas digitales, incluyendo la transferencia de contenidos

En definitva, Microsoft Surface y Surface Computing permiten que sean las personas quienes tengan el control de una manera familiar, sencilla e intuitiva. Y como prueba, aquí os dejo una serie de vídeos con aplicaciones que hemos podido probar en el Convention Center de Los Ángeles. Happy Surfacing!

Compositor de música de Microsoft Surface

En este vídeo podéis ver como componer música electrónica añadiendo los tonos instrumentales que tengan sentido de cara a producir una “pieza” aceptable.

 Componiendo Música (I)
Microsoft Surface: Componiendo Música (I)

La verdad es que este compositor me llamó bastante la atención, y por eso aquí os dejo otro vídeo realmente cool.

 Componiendo Música (II)!
Microsoft Surface: Componiendo Música (II)!

Configurador de vehículos de BMW

Para los aficionados a los coches, aquí os dejo este interesante configurador de vehículos para BMW. Podemos ir cambiando los acabados del vehículo, ver el modelo elegido al detalle, etc.

 BMW Configurator!
Microsoft Surface: BMW Configurator!

PDC 2008: las otras novedades!

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:

287

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:

283

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.

285 286

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.

Microsoft Research: Algunos proyectos relevantes!

Buenas tardes desde Los Ángeles. Para intentar cerrar la tercera jornada del PDC 2008, me gustaría volver de nuevo al comienzo de la misma y en particular al keynote centrado en Microsoft Research dirgido por Rick Rashid. Si por algo ha destacado este keynote, ha sido por la presentación de distintos proyectos de investigación que actualmente se están llevando a cabo desde Microsoft Research en áreas como la educación, la energía, o el cuidado de la salud. Si esta mañana os presentaba un vídeo sobre la última versión de Windows Telescope, en esta ocasión me gustaría mostraros un par de vídeos en torno a dos proyectos de investigación que actualmente está realizando Microsoft Research y que por supuesto pueden acabar convirtiéndote en productos reales.

Proyecto Boku

Dentro del área de Educación, Microsoft Research está llevando a cabo varios proyectos interesantes. Uno de estos proyectos es Boku, cuyo objetivo es dotar a los niños de las herramientas y capacidades para diseñar y crear sus propios juegos, de manera que se estimule su creatividad e inteligencia. La idea de BOku es permitir que un niño pueda crear su juego de manera totalmente visual y utilizando un entorno intuitivo como es el de la XBox.

 Proyecto Boku!
Microsoft Research: Proyecto Boku!

Proyecto SecondLight

Si ayer os enseñaba la tecnología multitouch que vendrá con Windows 7, hoy os tengo que decir que la cosa no se quedará aquí, sino que Microsoft Research continúa trabajando en tecnologías que faciliten la interactividad del usuario con las aplicaciones. En este caso, el proyecto más destacado y que dará mucho que hablar es SecondLight…juzgar vosotros mismos lo que se puede hacer con SeconLight…os adelanto que una de las claves está en el material líquido usado para la pantalla.

 Proyecto SecondLight!
Microsoft Research: Proyecto SecondLight!

En este otro vídeo sobre SecondLight, podemos ver otras capacidades de la tecnología comentada:

 

Espero que disfrutéis de los vídeos aunque la calidad del sonido no sea buena. Nos vemos pronto!

 Proyecto SecondLight (II)!
Microsoft Research: Proyecto SecondLight (II)!