Windows 7: Un par de vídeos demostrativos!

Buenos días desde Los Ángeles. A punto de comenzar la tercera jornada del PDC 2008, y como aperitivo a otra jornada que esperamos que sea espectacular en cuanto a contenidos y novedades, en esta ocasión os dejamos un par de vídeos demostrativos de Windows7 que conseguimos grabar en el keynote de la jornada de ayer. Aunque la calidad del sonido no es demasiado buena (los vídeos se han grabado con una cámara de fotos), creo que la calidad de imagen es suficiente como para apreciar las capacidades de Windows 7. Ambos vídeos muestran las capacidades multitouch de Windows 7:

  • Windows 7 en el mundo real: aplicación en Autodesk (creador de productos, entre otros, como Autocad).

 Tecnología Multitouch!
Windows 7: Tecnología Multitouch!

  • Demostración de las capacidades multitouch realizada por Scott Guthrie.

 Tecnología Multitouch (II)
Windows 7: Tecnología Multitouch (II)

Silverlight: Novedades y futuro!

Buenas noches desde Los Ángeles. Para cerrar esta segunda jornada del PDC 2008 tan pródiga en cuanto a novedades, no quería dejar pasar la oportunidad de contaros lo nuevo en torno a Microsoft Silverlight, la tecnología creada por Microsoft para construir la nueva generación de aplicaciones web más interactivas, ricas y dinámicas. En este sentido, en el keynote inicial de esta mañana Scott Guthrie (Vicepresidente de la división de desarrollo de Microsoft) hizo varios anuncios en torno a Silverlight. El primero es que desde ya tenemos disponible la primera release del Silverlight Toolkit (como no, el toolkit se encuentra disponible en Codeplex). Esta primera release incluye una serie de nuevos controles que permitirán enriquecer aún más las aplicaciones que creemos con Silverlight:

  • Charting.
  • TreeView.
  • DockPanel.
  • ViewBox.
  • Expander.
  • Autocomplete.

Controls Example

Estos nuevos controles permite a los diseñadores y desarrolladores añadir de manera rápida y eficiente nuevos controles. En esta primera release se incluyen un total de 12 controles, cubriendo la funcionalidad en torno a gráficos, entradas de usuario, cambios de estilo y plantillas. Finalmente, comentar que el toolkit se ha liberado bajo Microsoft Public License.

¿Y qué nos depara el futuro de Silverlight? Pues varias novedades. La primera que me gustaría destacar es la relativa al diseñador de Silverlight que se integrará en Visual Studio 2010 (que por cierto, está construido con WPF).

179

La segunda de las novedades es que en 2009 tendremos una nueva versión de Silverlight en la que se hará hincapié en torno a dos aspectos principales:

  • Más características y capacidades multimedia.
  • Más soporte de capacidades gráficas y de integración de datos.

La idea es que la futura versión de Silverlight se caracterice por alcanzar un grado de madurez similar al que ya tiene ASP.NET en la actualidad de manera que permita modelar e implementar de manera sencilla aplicaciones de negocio complejas. En este sentido, se espera que la nueva versión de Silverlight añada capacidades como:

  • Validación de datos.
  • Filtrado en el lado del servidor.
  • Paginación de datos.
  • Lógica de negocio.
  • Autenticación.

207

Toda esta funcionalidad estará disponible en la forma de controles (algunos de los cuáles se pudieron ver en el PDC) que conformarán el Silverlight Business Logic Framework. Este framework permitirá añadir mecanismos de validación en nuestras aplicaciones Silverlight, aplicar patrones de lógica de negocio, implementar de manera sencilla la navegación, o proporcionar un acceso unificado a los datos. Sin duda, el futuro de Silverlight promete y mucho.

209

OSLO: Algunos detalles!

Si ayer os adelantaba la noticia de la liberación de las primeras CTP’s por parte de Microsoft de algunos de los elementos y componentes clave de OSLO, hoy he tenido la ocasión de ver alguno de estos elementos en acción. En esta ocasión, la ponencia en torno a OSLO ha estado dirigida por Douglas Purdy (Program Unit Manager en Microsoft), que antes de presentarnos las interioridades de OSLO ha realizado un pequeño repaso y reflexión, en mi opinión adecuados por la controversia que está generando OSLO en el mundo del desarrollo de software, en torno a por qué OSLO o lo que es lo mismo, por qué nos encontramos ante una plataforma preparada para el desarrollo de software en base a modelos (Model-Driven Software Development). De echo, en palabras de Douglas (y estoy de acuerdo), podemos hablar desde dos puntos de vista cuando hablamos de desarrollo en base a modelos:

  • Por una parte, tenemos el desarrollo en sí de software basado en modelos, que no es nuevo, sino que ya está presente en tecnologías conocidas como HTML, CSS, XAML o BPEL…se trata de proporcionar definiciones abstractas para la construcción de aplicaciones. De hecho, podemos hablar de que a OSLO hemos llegado tras una evolución del desarrollo de software basado en modelos.

195

  • Por otro lado, las aplicaciones basadas en modelos no son una idea o concepto nuevo sino que ya tenemos ejemplos reales como Microsoft SharePoint Services y Microsoft Dynamics CR, caracterizadas por:
    • Disponen de un lenguaje específico de dominio textual (CAML y X++).
    • Disponen de una herramienta de diseño visual (SharePoint Designer 2007 y Morphx).
    • En ambos casos la definición de la aplicación se almacena en la BD.

Por lo tanto, el desarrollo de software basado en modelos y las aplicaciones basadas en modelos no suponen un concepto nuevo, sino que ya es algo palpable y que tiene sentido en cuanto a qué los modelos proporcionan transparencia, flexibilidad y productividad a la hora de definir e implementar aplicaciones. Y es aquí donde OSLO tiene todo su sentido al proporcionar estas ventajas, de ahí que se defina como la plataforma para desarrollo en base a modelo.

Los pilares de OSLO

Como podréis leer en varios en la red acerca de OSLO, tres son los elementos clave de OSLO:

196

  • Un lenguaje para la creación de modelos, denominado M. Es importante recordar que no estamos hablando de XML, ni de código…hablamos de modelos.
  • Una herramienta para interactuar con los modelos y los DSLs (Domain Specific Languages), denominada Quadrant. Esta herramienta se incluirá como parte de la familia de herramientas de desarrollo que forman parte del paquete de Visual Studio.
  • Un repositorio dónde almacenar los modelos. Este repositorio se ubicará en SQL Server.

De acuerdo a estos elementos clave de OSLO, es necesario conocer cuáles son sus conceptos clave:

  • Visual DSL’s, o lo que es lo mismo, capacidad para trabajar visualmente con  modelos.
  • Textual DSL’s, es decir, poder trabajar con modelos utilizando el lenguaje M en modo textual.
  • Los modelos en sí.
  • Los motores de ejecución sobre los que se ejecutarán los modelos.

A partir de estos conceptos y los elementos anteriores, Douglas nos presentó la arquitectura de OSLO…realmente ilustrativa:

198

Y acto seguido, Douglas con la colaboración de Vijaye Raji nos hizo una primera demo en la que pudimos ver el lenguaje M en acción desde el punto de vista textual, así como que pinta tiene Quadrant:

  • Con respecto al lenguaje M, la idea pasa por definir primero un modelo utilizando la sintaxis específica de M y posteriormente almacenar dicho modelo en el repositorio de modelos (al hilo de esto, comentaros que Microsoft internamente ya dispone de la friolera de 500 modelos propios). Lógicamente, para llevar el modelo a la BD se tienen que genera las correspondientes sentencias T-SQL (estas sentencias se pueden ver en modo preview antes de ser enviadas a la BD).
199 200
  • Pero incluso podemos ir más allá, OSLO nos permitirá definir a partir de una serie de sentencias en modo declarativo, una gramática para las mismas y el modelo correspondiente…realmente impresionante.

202

  • En cuanto a Quadrant (no se ha anunciado la fecha exacta de disponibilidad), nos permitirá trabajar con modelos desde una perspectiva visual y olvidándonos del modo de trabajo en modo textual. En mi opinión, es aquí dónde OSLO tendrá uno de sus aspectos más fuertes y destacables.
203 204

Sin duda, OSLO no ha hecho más que empezar a andar, pero creo que en los próximos años va a ser una de las piezas clave en la nueva forma de concebir el desarrollo de aplicaciones en base a modelos…porque al fin y al cabo, estamos rodeados de modelos, y los modelos nos permiten ser más flexibles, productivos y hacer lo mismo que antes hacíamos.

205 206

Para finalizar, y continuando con la serie de novedades de este PDC 2008, Douglas nos comentó que desde hoy tenemos disponible la CTP de el SDK (Software Developemt Toolkit) de OSLO. También recordó la promesa que os adelantaba ayer de que la especificación del lenguaje M y otros elementos de OSLO sean liberados en un futuro como OSP (Open Specification Promise).

Primeras novedades en torno a Office 14: Office Web Applications!

Saludos de nuevo desde el Convention Center de Los Ángeles. Como sucedió ayer,la segunda jornada del PDC 2008 viene cargada de novedades. Se ha hablado de Windows 7 (del que ya tenéis noticias en el blog sobre el PDC 2008 habilitado porlos MICs de España), de Live Mesh, de Visual Studio 2010, vamos que hay novedades para dar y tomar…en mi caso voy a empezar por el final de las novedades que se han introducido en el primer keynote de esta mnañana. Se tratan de las primeras novedades de Office 14 y su capacidad para poder trabajar con documentos word, excel, power point o one note desde el navegador, estamos ante una novedad muy esperada en plataforma: las Microsoft: Office Web Applications.

189 188

La idea en torno a Office Web Applications va más allá del mero trabajo en el navegador. Se trata de fomentar el trabajo colaborativo en los tres entornos por excelencia que nos podemos encontrar hoy en día: el PC, la web y los dispositivos móviles.

187

Además, las Office Web Application tendrán caractarísticas multiplataforma, de manera que podremos trabajar con nuestros documentos word, excel, power point o one note desde Internet Explorer, Firefox o Safari. Por supuesto, por debajo vamos a tener una plataforma de sincronización perfecta que nos permitirá trabajar con nuestros documentos en los tres entornos comentados, sin pérdida de datos y con actualización instantánea de datos.

191 192

Otras novedades que hemos visto en torno a Office Web Applications y que os dejarán con ganas de poder probarlo cuanto antes son:

  • Soporte completo de funcionalidad de Microsoft Excel. Las fórmulas funcionan sin problemas. Además, a la hora de guardar un documento excel puedes elegir que quiere publicar…sin duda, se está aprovechando algo ya introducido con Microsoft Office SharePoint Server 2007: Excel Services.
  • La funcionalidad de edición estará disponible en Office Live Workspace…ya veremos a que coste.

Sin duda, el cierre del keynote por Ray Ozzie resume lo que se pretende con las Office Web Applications: poder utilizar el paquete office sin ningún tipo de barrera o límite. Para mi ha sido uno de los grandes anuncios de esta mañana.

193

Microsoft libera los primeros componentes de OSLO!

Sin duda, el primer día del PDC 2008 ha sido realmente pródigo en cuanto a novedades recién salidas del horno de Redmond. La última novedad de la que he tenido constancia en la primera jornada del PDC es qué Microsoft ha liberado componentes del proyecto OSLO en la forma de Community Technology Previews (CTPs). OSLO es el nombre en clave de la estrategia de modelado de aplicaciones de MIcrosoft que permitirá diseñar y codificar aplicaciones con un alto nivel de abstracción. OSLO se compone de tres elementos clave:

  • Herramientas que permitan definir como interactuar con los modelos de manera visual e intuitiva.
  • Un nuevo lenguaje que ayude a la creación y uso de modelos usando domain.specific languages.
  • Un repositorio relacional que permita que los modelos estén disponibles tanto para herramietnas como para componentes de la plataforma.

Microsoft ha liberado CTP’s para los tres elementos anteriores:

  • Repositorio de modelos.
  • Lenguaje declarativo de modelado conocido como M.
  • Nueva herramienta de modelado conocida como Quadrant.

Además, Microsoft no sólo ha liberado CTPs de estos elementos, sino que planea incluir a OSLO dentro de su Open Specification Promise (OSP). Todos estos anuncios han sido realizados por el director de la división Microsoft Connected Systems, Burley Kawasaki. Por si no fueran pocas las novedades en torno a OSLO, se ha anunciado también la liberación de un nuevo Developer Center en torno a OSLO en MSDN.

image

La idea de este Developer Center es fomentar  el desarrollo de nuevos domain specific languages (DSLs) sobre la base del lenguaje de modelado M.

Más información en torno a esta serie de novedades de OSLO:

Windows Workflow Foundation 4.0: Características y aplicaciones en el campo de la ciencia!

Para cerrar la primera jornada del PDC 2008, he asistido a una ponencia sobre la nueva versión de la tecnología de creación de flujos de trabajo en plataforma windows: Windows Workflow Foundation 4.0 (WF 4.0). En la ponencia, realizada por Kenny Wolf (Arquitecto de Software para WF) hemos podido asistir a algunas de las novedades más interesantes que aparecerán con la nueva versión de WF:

Novedades en el diseño e implementación de workflows

  • Nuevo diseñador de workflows, mucho más intuitivo y sencillo de utilizar. Con este diseñador se ha tratado de mejorar la usabilidad a la hora de crear flujos de trabajos.
  • Nuevas actividades para WF 4.0.
081 086
  • Mejoras en las ventanas que permiten diseñar, modelar e implementar el flujo de trabajo:
    • Ventana de argumentos para el flujo de trabajo.
    • Ventana para propiedades del flujo de trabajo.
    • Ventana de propiedades de los distintos elementos que constityen el flujo de trabajo.
084 085

Pero no sólo se mejora la experiencia del diseñador de flujos de trabajo, sino que con la nueva versión de WF se simplifica la creación de flujos de trabajo y de actividades de flujos de trabajo. Se evoluciona a un modelado de flujos de trabajo más declarativo (vs code behind). Otras mejoras en cuanto a herramientas de creación de flujos de trabajo que vendrán con WF 4.0 son:

  • Mejoras en el rehosting de flujos de trabajo.
  • Experiencia unificada de depuración de flujos de trabajo.

Novedades en el runtime de WF

WF 4.0 introduce una serie de mejoras en el motor de ejecución de flujos de trabajo:

  • Aumento del rendimiento en un orde de 10-100 órdenes de magnitud con respecto a versiones previas.
  • Facilita un control total de la persistencia.
  • Soporte para partial trust.
  • Soporte para Flow-in transactions.
  • Plenamente integrado con WCF, WPF, y ASP.NET.

¿Y cómo paso de WF 3.0 / 3.5 a WF 4.0?

En este punto, Kenny tranquilizó a la audiencia en cuanto a que se está realizando un trabajo de apoyo a la migración de workflows en versiones previas de WF a la versión 4.0:

  • A través del uso de actividades de WF 3.0 en WF 4.0.
  • Mediante una serie de guías descriptivas sobre como pasar de workflows de la versión 3.0 / 3.5 a la 4.0.
  • Usando una actividad especialmente diseñada para facilitar la interoperabilidad entre flujos de trabajo de WF 3.0/3.5 y flujos de trabajo de WF 4.0.

Una aplicación práctica de WF 4.0 : Flujos de trabajo científicos

Como cierre de la ponencia, se presentó una aplicación realista de WF 4.0 en el campo de la ciencia. En concreto se presentaron dos proyectos desarrollados por Microsoft Research:

  • Neptune, de aplicación en oceanografía, campo que tiene una serie de requerimientos clave como:
    • Redes de sensores altamente escalables.
    • Visualización bajo demanda.
    • Catálogo de actividades de flujo de trabajo preparadas para este entorno.
  • PanSTARSs, de aplicación en astronomía, campo en el que los requerimientos son:
    • Ejecución en clusteres.
    • Necesidad de un alto rendimiento.
    • Gran cantidad de flujos de trabajo en ejecución.
    • Monitorización de los flujos de trabajo.

Pues bien, Microsoft Research con estos proyectos ha demostrado la validez y aplicabilidad de WF4.0 para tratar con entornos tan complejos como los citados. De echo, como muestra de su extensibilidad, se mostró un diseñador de flujos de trabajo específicamente creado para estos entornos denominado Trident:

089 090

C# 4.0…el futuro ya está aquí!

De nuevo desde el Convention Center de Los Ángeles, y después de la conmoción que ha despertado el lanzamiento de Microsoft Windows Azure, ahora le toca el turno a la nueva versión de C # (ya vamos por la 4.0) y a la conferencia que sobre esta nueva versión ha dado un genial Andres Hejlsberg (Technical fellow en Microsoft, uno de los padres de la criatura y arquitecto principal). Tras una pequeña introducción sobre la evolución de C #, y antes de dejar encandilada a la audiencia, Anders ha realizado un pequeño repaso de las tendencias actuales en cuanto a lenguajes de programación:

  • Programación más declarativa.
  • Programación dinámica.
  • Programación concurrente (multicore), ya que como todos sabéis, la tendencia actual (una vez que la ley de Moore podemos decir que se ha parado) es añadir más y más procesadores…¿Cómo construimos aplicaciones para este nuevo escenario en el que la concurrencia es necesaria? En plataforma .NET la respuesta la tenemos en las Parallel Extensions para .NET, que formarán parte de la nueva versión de Visual Studio (VS 2010) y de .NET Framework (4.0).

068 

Después de esta introducción, Anders pasó a detallarnos las principales novedades de C # 4.0. Estas son las que os resumo y detallo a continuación.

Programación Dinámica

Para ello,  C# tendrá una serie de características dinámicas que permitan esta programación dinámica:

  • Objetos tipados de manera dinámica. La clave estará en una nueva palabra clave que aparece en escena: dynamic.
  • Mejorada la interoperabilidad COM.
  • Optinal and named parameters.
  • Co-and Contra-Variance.

Tendremos un nuevo runtime para C# 4.0 que nos habilitará esta programación dinámica sobre la base de innovaciones ya existentes como los árboles de expresión y las expresiones lambda de C# 3.0, pero añadiendo nuevas innovaciones:

  • Dynamic trees.
  • Dynamic Dispatch invocer.
  • Call Site Caching.

Sobre este nuevo runtime, tendremos los lenguajes de programación tradicionales de .NET, C# y VB.NET, pero también lenguajes dinámicos como IronRuby y IronPhyton, y por supuesto cualquier otro lenguaje que cumpla la correspondiente CLS (Common Language Specification). Pero además, podremos hacer desde cualquier lenguaje comentado un binding con otro de los lenguajes, es decir, podremos llamar de manera sencilla código Phyton desde C# y utilizarlo. Tendremos bindings para .NET (Object), para JavaScript (Silverlight), para Phyton, Para Ruby y otros.

Las novedades al detalle

Como os comentaba,  a través de la palabra clave dynamic y otras innovaciones, C# 4.0 adquiere una dimensión dinámica que nos permite hacer conversiones dinámicas de tipos y hacer llamadas dinámicas a métodos:

069

Todas las características dinámicas de C# 4.0 vendrán en un nuevo ensamblado: System.Dynamic.

La segunda de las novedades con las que la audiencia se mostró gratamente sorprendido es la de los parámetros opcionales y nombrados. Lo mejor para entender esta novedad es ver un ejemplo (seguro que a más de uno le suena familiar).

public StreamBuilder OpenTextFile(

                        string path,

              Encoding encoding=null,

              Bool  DetectEncoding =true,

              Int BufferSize=1024)

 

Creo que las ventajas de usar este tipo de parámetros está claro. Finalmente, la tercera y última novedad que voy a comentar es la relativa a las mejoras en la interoperabilidad COM…y en este caso una imagen vale más que mil palabras para ver en que consiste esta novedad:

073

…y un gran final al más puro estilo Anders Hejlsberg

Como no podía ser de otra forma, para cerrar su intervención Anders nos dejó un gran regalo en sintonía con este día lleno de novedades en el PDC: se trata del Compiler as Service…es decir, Microsoft está trabajando en una nueva versión de su compilador para C#, pero con vistas a eliminar la caja negra modelada e implementada en C++ por otra mucha más abierta y que permita evaluar código de manera dinámica:

076

La idea de este nuevo compilador es abrir todo lo que tiene el compilador para poder embeber código C# en otros entornos dinámicos. Se trata de compilar directamente en código manejado. Y como prueba y cierre de la sesión, Anders nos hizo una demo espectacular de un prototipo de evaluador de C# capaz de entender e implementar de manera dinámica código C#.

078

Más información sobre C# 4.0 en la sección C# future de MSDN Code Gallery.