EzWeb Capabilities: una aproximación orientada a aspectos

Las plataformas de Mashup proporcionan cada vez más funcionalidades de ejecución a los gadgets que albergan. Es necesario diseñar un mecanismo de interconexión que permitan a los desarrolladores de gadgets explotar las capacidades de cada plataforma. A falta de un estándar que se imponga con claridad, estos mecanismos son particulares para cada plataforma, ligando en mayor o menor medida los desarrollos de los gadgets a los diferentes entornos.

La plataforma EzWeb propone un mecanismo de intercomunicación altamente flexible, que permite a los gadgets adaptarse a las capacidades cambiantes y en constante evolución de la plataforma, sin necesidad de reprogramar el código de los gadgets. Para conseguir esto se ha implementado un mecanismo basado en la utilización de flujos de datos genéricos, que son ligados dinámicamente a aspectos implementados dentro de la plataforma. Estos aspectos representan el conjunto de funcionalidades cruzadas (cross-cutting), que la plataforma expone para ser utilizadas y dar soporte al desarrollo de los gadgets. Actualmente disponemos de los siguientes aspectos:

  • Propiedad: Permite el almacenamiento persistente
  • Evento: Habilita la gestión de la publicación de eventos
  • Ranura: Habilita la gestión de la suscripción a eventos
  • Preferencia: Habilita la gestión de la interfaz de configuración de usuario
  • Contexto: Permite acceder a información del delivery-context (de usuario, plataforma o gadget)

La inclusión de estos aspectos, desde el punto de vista de los programadores, dentro del código de los gadgets es simple. El programador puede definir flujos de datos: bien de sólo lectura, bien de lectura y escritura, mediante una clase que presenta una interfaz basada en un getter, un setter y una función de callback a invocar por el sistema, a modo de manejador, cuando el valor de un flujo concreto se ve modificado desde el exterior. A este nivel el programador sólo necesita trabajar con estos conceptos, flujos de entrada y flujos de entrada salida. Estos flujos constituyen en punto de ligadura (Jointpoint) con los aspectos.

Aspectos

La siguiente fase, meramente declarativa, permite asignar a cada uno de estos flujos genéricos los aspectos funcionales que regirán su comportamiento. Esta especialización se realiza en el Template asociado a cada gadget (Información declarativa asociada al despliegue de un gadget). Dependiendo del tipo del flujo se permiten diferentes asignaciones de aspectos, así los Eventos, las Propiedades se consideran aspectos de lectura/escritura, y las Ranuras, las Preferencias de usuario, el Contexto serán de sólo lectura. Una característica importante a tener en cuenta es que todos los aspectos de lectura/escritura son intercambiables entre si, lo mismo ocurre con los de sólo lectura. Es decir un Slot puede ser transformado en Preferencia o un Evento en Propiedad de forma dinámica.

De este modo se proporciona un entorno que permite a los Gadgets adaptarse de forma altamente flexible a las nuevas capacidades que puedan aparecer en la plataforma de mash-up, sin necesidad de cambiar su implementación. Gracias a su simplicidad el mecanismo desarrollado minimiza el acoplamiento entre el código del gadget y las funcionalidades de la plataforma potenciando su utilización por parte de todo tipo de desarrollos no pensados inicialmente para su despliegue en EzWeb.

EzWeb en el User Generated Services Workshop

El proyecto EzWeb participará los próximos días 25 y 26 de Junio de 2008 en el User Generated Services Workshop, primer workshop internacional dedicado a la creación de servicios centrados en el usuario.

Este workshop está organizado por los miembros españoles del proyecto FP6 IST OPUCE y respaldado por el cluster europeo de proyectos de investigación TSOA (Telecom Service Oriented Architectures). En él se pretende crear un foro de discusión donde los principales incestigadores en el campo de la creación y realización de servicios centrados en los usuarios puedan difundir y demostrar sus avances.

Tags: none

EzWEb en FP7 Services Front End (SFE) Collaboration Working Group

El dia 24 de Junio de 2008 se presentó en proyecto EzWeb dentro del primer Workshop de los grupos de trabajo SFE (Services Front End) y USI (User Service interaction) de la primera llamada del Septimo Programa Marco (FP7). En esta reunión se orquestaron las distintas colaboraciónes entre los proyectos europeos relevantes (esten o no dentro de la llamada FP7 ) para definición de las tecnologías y estándares que conformarán la plataforma de acceso a servicios en la futura Internet de Servicios (Internet of Services). En este entorno EzWeb junto con el proyecto FAST (STREP FP7) esta considerado uno de los proyectos clave en el desarrollo de esta capa de acceso a los servicios (Service Front-end).

Mas información

Tags: none