Vistas

D 1.1.3 Documento de Líneas Futuras Tecnológicas

De MorfeoWiki

PROFIT

Morfeo-EzWeb

Área Temática: 350405 Strategic Action on Open Source Software
FIT-340503-2007-02 EzWeb



Morfeo project EzWeb

Entregable:

D 1.1.3 Documento de Líneas Futuras Tecnológicas






Versión: 1.0
Fecha de preparación: 20/11/07
Editores: CTIC
Revisores: CodeSyntax, ITI


Tabla de contenidos

Introducción

Conjuntamente con los líderes de los distintos paquetes de trabajo y en el transcurso de proyecto se realizará investigación sobre nuevas tecnologías y estándares susceptibles de ser aplicados en cualquiera de las áreas tecnológicas utilizadas en el proyecto (Web Semántica, MashUps, Web 2.0, Modelos de Negocio y Licenciamiento etc..)

La plataforma que surja de este proyecto pretende no sólo sentar las bases para resolver problemas con los sistemas de información de las empresas, sino tambien facilitar la creación de ecosistemas de componentes y aplicaciones para solventar problemas a los que se enfrentan PYMES, colectivos o incluso individuos en su uso de las tecnologías de la información. Por lo tanto el conjunto de conceptos y tecnologías que se lleguen a manejar será grande, y es necesario desde un primer momento establecer guías en la investigación.


Identificación de tecnologías emergentes y nuevos estándares

En esta sección se repasa el panorama tecnológico en las distintas áreas que toca el proyecto EzWeb, identificando aquellas tecnologías que están configurándose como referentes o tendencias para los próximos años. En algunos casos estas nuevas propuestas están surgiendo en el contexto de un proceso de estandarización que trata de ordenar la innovación, lograr interoperabilidad entre agentes y evitar la fragmentación tecnológica. En otros casos no se ha alcanzado aún la fase de estandarización.

Para un mejor seguimiento de estas propuestas, el repaso se realiza siguiendo las actividades del proyecto EzWeb. Naturalmente, sólo se incluyen las actividades de desarrollo tecnológico, es decir:

  • Actividad 2: Semántica para describir contextos y recursos.
  • Actividad 3: Plataforma de Mashup.
  • Actividad 4: Plataforma Marketplace de Recursos.

Quedan fuera de este repaso las tareas administrativas y no-tecnológicas:

  • Actividad 1: Arquitectura y adquisición de requisitos de usuario.
  • Actividad 5: Experimentación y validación.
  • Actividad 6: Explotación y Difusión de Resultados.

Dentro de este repaso se mencionan tecnologías y estándares que aunque no sean de aplicación directa a día de hoy en algunas de las tareas dentro de la plataforma, son susceptibles de ser estudiadas y vigiladas.

Tecnologías Emergentes

  • Actividad 2: Semántica para describir contextos y recursos.
    • Microformatos. Los microformatos comenzaron a utilizarse dentro de la comunidad de bloggers, pero han ganado popularidad recientemente. Su objetivo es mejorar la descripción semántica de la información presente en las páginas web, para facilitar su reutilización. La sencillez de uso ha ayudado a que los microformatos se hayan implantado rápidamente. Aunque se considera que los microformatos son un paso adelante hacia el despliegue de la web semántica, sin embargo también se ha indicado que carecen de interpretación semántica formal, no se integran con el resto de la web, y responden a un modelo de desarrollo centralizado. El W3C no sólo está culminando RDFa (una alternativa al uso de microformatos), sino que ha publicado GRDDL, una tecnología que, entre otras cosas, permite extraer semántica formal de los microformatos.
    • Folksonomías. Las folksonomías no son en realidad una "nueva tecnología", sino más bien una extensión de las técnicas de anotación y clasificación ya conocidas. Lo que es realmente novedoso es la escala a la que resulta posible aplicar estas técnicas ahora. En el entorno web resulta posible tener miles (millones, incluso) de usuarios con todo tipo de motivaciones, procedentes de distintos lugares geográficos, y que anotan recursos de todo tipo, tanto contenidos producidos por ellos mismos como otros que encuentran en la web. Algunos portales basados en folksonomías se han constituido en poco tiempo en referentes fundamentales de la web, y sus folksonomías son valiosos recursos lingüísticos y muy útiles para facilitar la recuperación de contenidos (por ejemplo, para localizar videos o fotografías etiquetados de cierta forma). Pero el auténtico potencial futuro de las folksonomías pasa por explotar más su naturaleza colaborativa, de manera que permitan generar sugerencias, no sólo para encontrar recursos, sino para anotar nuevos recursos.
  • Actividad 3: Plataforma de Mashup.
    • JSR 311: JAX-RS: The JavaTM API for RESTful Web Services. Esta especificación definirá el conjunto de APIs Java para el desarrollo de Servicios Web construidos de acuerdo con el patrón arquitectural REST. Dicha especificación tendrá como objetivos el funcionamiento a través de Plain Old Java Objects (POJOS) para exponer los recursos Web, el funcionamiento alrededor de HTTP como protocolo fundamental de comunicación, la independencia de formato respecto al contenido de las entidades HTTP, la independencia de contenedor Web y la inclusión en la rama empresarial de java JAVAEE. Es de esperar que debido al gran porcentaje de utilización de la tecnología Java en la parte servidora de muchas aplicaciones Web, la creación de una especificación sea adoptada y seguida por la industria, con lo que será de gran relevancia realizar un seguimiento de las soluciones y patrones adoptados en esta especificación para su posible uso y/o adaptación dentro de la plataforma EzWeb.
    • Lenguajes para la descripción de servicios REST. Aunque existe disensión acerca de su necesidad, actualmente existen varias propuestas para ayudar en la descripción de los servicios REST (además de la posibilidad de utilizar WSDL2.0). Dos de las principales son WADL y WRDL.
      • WADL, la primera propuesta, es similar a WSDL y se centra en describir entradas y salidas de cada servicio de forma que se pueda automatizar la creación de esqueletos de aplicación para trabajar con el recurso. La tecnología está relacionada con la JSR-311 y de momento parece gozar de cierto soporte por parte de la industria.
      • WRDL, por el contrario, se basa en que el modelo de servicio Web REST está descrito como webs de recursos enlazados. Principalmente un servicio será definido a través de documentos XML, cuya estructura será definida a través de esquemas XML. Sin embargo, de dicha forma sólo tenemos una representación parcial ya que no se describen las transiciones entre recursos que son las que fijan el comportamiento del servicio. WRDL se centra en describir dichas transiciones.
    • Tecnologías relativas a seguridad: Uno de los requisitos de la plataforma es el de la seguridad. Es necesario evaluar nuevas tecnologías en el ámbito de la seguridad para ver si es factible aplicarlas dentro de EzWeb. Dentro de ese grupo de tecnologías se pueden incluir; OpenID, OpenSSO, Security Assertion Markup Language (SAML), XML Access Control Markup Language (XACML) o Service Provisioning Markup Language (SPML) entre otros, algunos de ellos comentados en el proyecto Morfeo EzForge.
  • Actividad 4: Plataforma Marketplace de Recursos.
    • Tecnologías para la obtención del contexto. Uno de los requisitos principales de EzWeb consiste en proporcionar al usuario un entorno flexible y que se adapte a sus necesidades en la medida de lo posible. Dentro de ese escenario, cobran importancia las tecnologías relacionadas con el acceso al contexto en el que se desarrollan las acciones, y que puede definir preferencias, proporcionar acceso a nuevos recursos, etc. Dentro de ese grupo de tecnologías se encuentran los algoritmos de matching, el uso de semántica (ontologías, folcsonomías, etc) y los protocolos que permitan transmitir el contexto dentro de la plataforma.
    • Servicios Web Semánticos. Los servicios web semánticos son una solución integrada para la siguiente generación web. Se basan en la conjunción de la tecnología proveniente de la web semántica (formalización del conocimiento mediante ontologías + información procesable automáticamente por las máquinas) y de los servicios web actuales (descubrimiento automático, selección, composición, etc. ejecutados sobre la web). Por lo tanto las tecnologías y conceptos que utilizan pueden servir como de base en el desarrollo de técnicas de match-making, descubrimiento de recursos y adaptación al contexto que se utilizarán dentro del marketplace.
    • Modelos de negocio basados en el uso de servicios. Aunque no sea en su definición estricta una tecnología, sino más bien un nuevo paradigma, la economía basada en el uso de servicios (Software As A Service, SaaS) esta destinada a gobernar en un futuro cercano los escenarios en el uso de las tecnologías de la información. Si bien dentro de EzWeb ya se recoge desde un principio como uno de los pilares fundamentales, la investigación en nuevos modelos de negocio estará presente durante todo el transcurso del proyecto.

Nuevos estándares

  • Actividad 2: Semántica para describir contextos y recursos.
    • Nueva versión de OWL. El W3C desarrolló durante el periodo 2001-2004 la especificación de OWL, el lenguaje de ontologías para la web. En 2004 esta especificación alcanzó el grado de Recomendación (el más alto para un documento en W3C). Desde entonces han aparecido un gran número de herramientas y ontologías basadas en OWL. Sin embargo, también se han identificado algunas limitaciones del lenguaje así como dificultades para su uso. Pero más significativamente, la investigación básica ha continuado avanzando, y ha permitido descubrir nuevas variantes de la Lógica Descriptiva que aumentan la expresividad de las anteriores sin incrementar el coste computacional. Un grupo liderado por la Universidad de Manchester ha desarrollado una nueva versión del lenguaje OWL, y la ha remitido al W3C para su consideración (la member submission fue recibida a finales de 2006). Por tanto, durante el año 2007, el consorcio W3C abrió un nuevo grupo de trabajo para crear y publicar una nueva versión de OWL, basada en la propuesta recibida. Este grupo tiene previsto concluir sus actividades en 2009, dando lugar a OWL 1.1 (el nuevo número de versión no es definitivo, no obstante). Entre las novedades del nuevo lenguaje, se cuentan: nuevos constructores y restricciones, mayor expresividad en tipos de datos e introducción de azúcar sintáctico.
    • SKOS. El grupo de trabajo Semantic Web Deployment de W3C, cuya actividad se está desarrollando desde 2006 y concluirá en 2008, se ha fijado como objetivo conseguir que la tecnología SKOS llegue al grado de Recomendación. SKOS es un modelo basado en RDF para representar bases de conocimiento tradicionales (taxonomías, tesauros, vocabularios controlados) y más modernas (folksonomías). Se pretende facilitar que estas estructuras de conocimiento, que existen desde mucho antes que la web semántica, pasen a formar parte de ella, y ser consultadas mediante los lenguajes de consulta de la web semántica. La evolución y estandarización de SKOS resulta especialmente importante para el proyecto EzWeb por su potencial como vehículo para formalizar folksonomías y anotaciones.
    • RDFa. Los grupos Semantic Web Deployment y XHTML 2.0 de W3C impulsan conjuntamente, a través de un equipo especializado, el desarrollo de RDFa. Se espera que RDFa alcance el grado de Recomendación durante el año 2008, puesto que lleva varios años en desarrollo, pero sólo recientemente ha alcanzado la estabilidad necesaria. RDFa y los microformatos persiguen objetivos similares, si bien desde enfoques muy distintos. Dentro del proyecto EzWeb, RDFa se antoja clave como tecnología para permitir la anotación de recursos, la autodescripción de los contenidos de la web, y la integración de datos para realizar mashup.
    • GRDDL. A finales de 2007, W3C ha publicado GRDDL como Recomendación. Esta tecnología se presenta como un puente que permite extraer semántica formal a partir de documentos XML estructurados pero sin semántica, o débilmente anotados (por ejemplo, mediante microformatos). GRDDL es una tecnología de fácil adopción y mínimamente intrusiva, por lo que se espera que su implantación sea muy rápida.
    • Rule Interchange Format. El W3C trata de definir un lenguaje común que facilite el intercambio de reglas entre distintos sistemas. Actualmente se trata de un área muy activa de investigación, pero donde la estandarización avanza más lentamente. Para el proyecto EzWeb será importante contar con este lenguaje común, puesto que determinada información (especialmente las preferencias de los usuarios y el contexto) tienen expresión como reglas (si estoy en una reunión, entonces mostrar este gadget).
    • SPARQL. A finales de 2007 estaba concluyendo el proceso de desarrollo de SPARQL por parte de W3C. Si bien en el momento de escribir este documento la especificación era "candidata a recomendación", es previsible que en las próximas semanas llegue a Recomendación, después de un proceso bastante largo (el primer borrador es del año 2004). SPARQL es una de las tecnologías claves de la web semántica, y su implantación, incluso antes de su llegada a Recomendación, está muy extendida. Resulta significativo señalar que en su artículo de 2001 en el que definió la visión de la web semántica, Tim Berners-Lee no contempló ningún lenguaje de consultas en la arquitectura. Sin embargo, posteriores revisiones de esa arquitectura por el propio Berners-Lee han incoporado SPARQL como pieza fundamental y transversal. En el futuro, resulta previsible la aparición de nuevas versiones de SPARQL que añadirán funciones de agregación al estilo de SQL (COUNT, SUM, etc.), y capacidades de modificación CRUD (actualmente SPARQL sólo realiza consultas). Junto con el lenguaje SPARQL, se está estandarizando una sintaxis común para los servicios de consultas SPARQL (endpoints), con versiones SOAP y HTTP, así como un vocabulario para representar en XML los resultados de las consultas, mientras otro grupo (ajeno a W3C por ahora) hace lo mismo para JSON. Estos movimientos tienen una enorme importancia de cara a EzWeb, ya que permiten conectar directamente aplicaciones AJAX y gadgets con cualquier proveedor de datos en RDF.
  • Actividad 3: Plataforma de Mashup.
    • HTML 5. Aunque el desarrollo de HTML había sido detenido por el W3C tras la versión 4.x, un grupo externo denominado WHATWG y formado por empresas como Apple, Mozilla y Opera, continuó desarrollando el lenguaje. W3C apostó por XHTML, pero a finales de 2006, el director del consorcio W3C, Tim Berners-Lee admitió que el mercado estaba adoptando XHTML muy lentamente, y que era necesario reanudar la actividad en el frente de HTML para proporcionar un camino de migración menos traumático. Durante 2007 se ha constituido un multitudinario grupo de trabajo dentro de W3C que, tomando como base lo desarrollado por WHATWG, pretende concluir en 2010 una nueva Recomendación denominada HTML 5. Esta nueva versión incorporará un gran número de novedades de gran interés para el desarrollo de la web semántica y las "aplicaciones web" (es decir, el uso de la web como plataforma para desplegar aplicaciones). Entre ellas, un nuevo lenguaje de formularios web con soporte para más verbos HTTP, plantillas de URL para facilitar el uso de REST, nuevas etiquetas y elementos de estructuración del documento, y una sintaxis más relajada a costa de perder la compatibilidad con XML.
    • XHTML 2.0. La reanudación del trabajo en HTML no significa que W3C haya descartado XHTML. Todo lo contrario, un nuevo grupo de trabajo fue formado durante 2007 con el objetivo de completar el desarrollo de XHTML 2.0 (y otras tecnologías relacionadas, como XFrames, XML Events, RDFa y XHTML 1.1 Basic). La planificación indica que XHTML 2.0 será una Recomendación a finales de 2008. Respecto a XHTML 1.0, la nueva versión incorpora nuevas capacidades para estructurar los documentos y las tablas, así como mejoras en imágenes y enlaces. En el contexto del proyecto EzWeb, las novedades más importantes son la adopción de RDFa (ya descrito anteriormente), de XForms (una tecnología mucho más potente para construir formularios web) y XML Events (que añade nuevas capacidades de interacción y programación de eventos). Desde el punto de vista de la arquitectura, XHTML 2.0 mejora la modularidad de su predecesor.
    • Widgets 1.0. Desde el Web Application Formats WG del W3C, perteneciente a la Rich Web Clients Activity, se viene trabajando en un documento que especifique el funcionamiento de Widgets, una clase de aplicación web cliente para representar y/o modificar datos locales o remotos, encapsulados de forma que se permita su instalación en una máquina o dispositivo con una simple descarga. Algunos ejemplos de este tipo de aplicaciones serían relojes, presentadores de noticias, juegos y sistemas de predicción de tiempo. Esta especificación, mediante su combinación con otras, definirá una solución software para el desarrollo de estos widgets. Actualmente el documento se encuentra en fase de Working Draft y sujeto a numerosos cambios, con lo cual la vigilancia sobre él ha de ser intensiva para poder adaptarse a futuros posibles estándares aplicables a la plataforma EzWeb.
    • Revisiones y trabajos sobre Web Services Description Language (WSDL) Version 2.0. En esta nueva versión de WSDL se ha puesto énfasis en la interoperabilidad con servicios REST, en lugar de centrarse sólo en los tradicionales estándares de la familia WS-*. Debido a la relevancia de este estándar, es importante estudiar la compatibilidad de los servicios y recursos definidos en la capa REST de EzWeb con lo reflejado en éste estándar.

Evaluación de los resultados de la investigación (detallados por WP)

En este estadio del proyecto la mayoría de los resultados de investigación aún se encuentran en fase preliminar con lo que aún es pronto para realizar una evaluación completa. Dentro de los entregables adscritos a cada paquete de trabajo se encuentran las conclusiones preliminares.

Actualización del Plan de Riesgos y Contingencias

A partir del seguimiento de las tecnologías, estándares, resultados de investigación y prototipos de la plataforma desarrollados en el proyecto se ha de ir actualizando el plan de riesgos y contingencias dispuesto al comienzo del mismo. Debido a la cantidad de conceptos y tecnologías a integrar es fundamental que esten planificadas las acciones a ejecutar si aparecen nuevos riesgos.

En el estado actual del proyecto, donde aún se está tratando una primera versión, no existen nuevos riesgos potenciales. Si bien debido a la rápida evolución que presentan los proyectos y frameworks basados en mashups, es sobre todo uno el riesgo principal que hay que tener presente y que ya era contemplado en la propuesta del proyecto:

  • El riesgo de que un competidor lance un producto competitivo. Este riesgo ya tiene un plan de contigencia asignado, ya que gracias al proceso iterativo seguido en EzWeb es sencillo añadir nuevas funcionalidades para la siguiente iteración. Además, dentro de cada uno de los paquetes de trabajo ya se han evaluado alternativas de competidores, dejando patente sus limitaciones y la necesidad de los desarrollos de EzWeb.