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.
- 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:
- 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:
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).
- 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.
- 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.
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.
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).