• No results found

Restore of configuration data backups

3.4.1. Objetivos generales

Los objetivos generales de este proyecto son:

a) Propuesta de un vocabulario visual de modelado. Uno de los objetivos de este proyecto es desarrollar un vocabulario que permita modelar una aplicación construida a partir de componentes orientados a servicios de manera visual. Este vocabulario es obtenido mediante la creación de un perfil UML específico al modelo de componentes orientados a servicios. Este lenguaje permite hacer

las descripciones de aplicaciones que sigan este modelo, y además, ser utilizado por alguna herramienta para por ejemplo, automatizar la implementación de los bundles.

b) Definición de un proceso replicable de desarrollo de herramientas MDA. Para cumplir con los objetivos planteados dentro del proyecto de debe definir un proceso simple para la creación de la herramienta MDA. Este proceso debe favorecer el uso de estándares ampliamente aceptados y de

frameworks de desarrollo que aceleren la construcción. Una característica mas de este proceso es que

debe ser fácilmente replicable por cualquier organización de desarrollo de software para crear sus propias herramientas MDA de acuerdo a sus necesidades.

c) Creación de herramientas de desarrollo. Un objetivo adicional es la construcción de herramientas que faciliten el desarrollo de aplicaciones basadas en el lenguaje de modelado definido y el proceso de desarrollo propuesto.

3.4.2. Objetivos particulares

Perfil UML para los servicios declarativos.

Se debe definir y especificar un perfil UML para los servicios declarativos siguiendo los estándares propuestos por la OMG, un perfil UML que pueda ser utilizado para modelar aplicaciones basadas en componentes orientadas a servicios utilizando el modelo propuesto por los servicios declarativos de OSGi.

Plugin de Eclipse para modelado de aplicaciones basadas en componentes

Se debe construir de un editor visual específico para el modelado de bundles de OSGi siguiendo el enfoque declarativo. El desarrollador de bundles podrá utilizar la herramienta y, mediante una interfaz gráfica generar los modelos que describan su bundle, conectando componentes con los servicios que serán ofrecidos y referenciados por éstos.

Un aspecto importante de este editor gráfico de modelos es que debe ser capaz de validar los modelos creados con él, verificando que se sigan las reglas que se detallan en la especificación del perfil UML para los servicios declarativos. La solución propuesta es fácilmente extensible, de manera que nuevos editores visuales pueden crearse para otras plataformas orientadas a servicios y a dominios fuera de SOA. En este caso se establecen los siguientes requerimientos:

Descripción Detalle Agregar elementos tipo clase al modelo

El editor debe de permitir agregar las clases necesarias al dibujo distinguiéndolas de acuerdo a los estereotipos definidos en el perfil UML.

Conectar elementos tipo clase El editor debe de permitir conectar clases por medio de relaciones de acuerdo a las reglas establecidas en el perfil UML. Establecer las propiedades de las clases El editor debe de permitir establecer las propiedades de cada clase de acuerdo a los valores etiquetados establecidos en el perfil UML. Validación de restricciones El editor debe de validar que el modelo cumpla con las restricciones en OCL establecidas dentro del perfil UML. Editar elementos del modelo El editor debe de permitir cambiar las propiedades de los elementos en el dibujo, borrarlos o moverlos dentro del área de dibujo. Seguimiento de estándares de modelado El editor debe seguir estándares definidos por la OMG para el modelado tales como MDA, OCL, XMI y perfiles UML.

Tabla 2: Requerimientos del editor visual Generación de código a partir del modelo

La herramienta debe proveer una forma de generar código a partir de los modelos creados en el editor gráfico, además de permitir la personalización y adaptación del código generado hacia distintas plataformas diferentes de OSGi. En esta herramienta se definen las reglas de transformación entre el modelo y el código, mapeando elementos del modelo a elementos del código.

El generador de código es capaz de generar el descriptor de componente en XML que sigue las especificaciones del perfil UML para los servicios declarativos, los esqueletos de los bundles en Java y los archivos de configuración del mismo. Adicionalmente, la herramienta debe permitir la modificación del código que será generado y ofrecer mecanismos de adaptación a otros dominios distintos de SOA.

El plugin debe de generar el código de:

Descripción Detalle

Descriptor del componente.

El editor debe de permitir la generación del código XML con el descriptor del componente de acuerdo a los parámetros y elementos establecidos en el modelo para cada uno de los componentes definidos en el mismo. Este descriptor deberá seguir los estándares establecidos en el esquema XML que se encuentra en la especificación de OSGi dentro del capítulo de los servicios declarativos [36].

Esqueleto del código Java de la interfaz del servicio del bundle y la clase de implementación del servicio.

El editor debe de permitir la generación del código Java de los esqueletos de la interfaz y la clase del servicio proveído por el componente que serán desplegados en el bundle definidos en el modelo. Este código deberá seguir los estándares establecidos en el estándar de codificación de Java de Sun.

Archivo META-INF de configuración del bundle.

El editor debe permitir la generación del archivo META-INF de configuración del bundle contenido en un archivo jar.

Tabla 3: Requerimientos de generación de código

Related documents