OSLO & el OMG!

Aunque normalmente es nuestro colega Miguel LLopis quien escribe sobre estos temas, quería compartir con vosotros este estupendo artículo de Charles Young en el que se comparan las ideas y conceptos de Oslo con los del Object Management Group (OMG). El artículo, que podéis leer en este enlace, es realmente instructivo desde el principio en el que se detallan los fundamentos de conceptos como modelos, metamodelos, para pasar a la arquitectura de metamodelos que define la OMG e ir poco a poco llegando a los conceptos e implicaciones propias de OSLO.

image

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

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: