• No results found

Chapter 4 Methodology and Method

4.4 Blogging as a research method

Una vez que hemos presentado los componentes que forman parte del Framework OcQF

vamos a describir las etapas que posibilitan realizar una implementación del mismo.

Tal y como hemos indicado al inicio de este capítulo, los componentes del Framework OcQF se clasifican en dos grupos según vengan predefinidos por los meta-modelizadores o sean adaptables a los requisitos de cada una de las implementaciones que se realicen del framework. Recordemos que los componentes predefinidos son (1) el Metamodelo de Bases de Acontecimientos y (2) el Lenguaje de Consultas para la Gestión de Acontecimientos

(OcQL), mientras que los componentes adaptables son (1) las Consultas para la Gestión de Acontecimientos, (2) el Modelo de Base de Acontecimientos, (3) el Repositorio de Metadatos, (4) el Traductor del lenguaje de acontecimientos y (5) la Base de Acontecimientos.

En el escenario que vamos a describir, reflejamos el punto de vista de los responsables de realizar una implementación del framework; es decir, partimos de la situación en la que las especificaciones de referencia del metamodelo y del lenguaje han sido realizadas por los meta-modelizadores y por lo tanto vienen dados para toda implementación que se realice a partir las mismas.

Los componentes predefinidos por los meta-modelizadores actúan como marco de referencia para la particularización de los componentes adaptables obteniéndose, como resultado de la misma, una implementación concreta del framework.

Por otra parte, tal y como se ha podido observar en la arquitectura mostrada en la Figura 3.1, todos los componentes del framework se encuentran relacionados de la siguiente manera: 1 El lenguaje de consultas se basa en los conceptos descritos en el metamodelo.

II Un marco de trabajo para la gestión de acontecimientos

diseño elegida para definir los modelos de base de acontecimientos.

3 Las consultas para la gestión de acontecimientos (consultas OcQL) quedan delimitadas por el conjunto de conceptos del metamodelo recogido en la estrategia de diseño.

4 La base de acontecimientos corresponde con una implementación del modelo y sus estructuras se describen en el repositorio de metadatos.

5 El traductor accede a la información que describe a la base de acontecimientos para realizar la traducción de las consultas OcQL a un lenguaje soportado por el sistema de persistencia seleccionado para la implantación de la base de acontecimientos.

Este apartado vamos a presentar de forma teórica cómo se particularizan estos componentes y cómo entran en juego sus relaciones durante la realización de una implementación del

Framework OcQF; estos conceptos, y los que se irán presentando a lo largo de este documento de tesis, serán aplicados en el caso práctico que se presentará en el Capítulo 8 que describe una implementación concreta del framework probada sobre la base de acontecimientos del sistema informático Arasis.

Antes de proseguir, es necesario describir a los participantes en los procesos de diseño y desarrollo. Consideramos que en estos procesos de la implementación del framework intervienen como mínimo participantes que pueden tomar alguno de estos dos roles:

1 Desarrollador

Los participantes con este rol son responsables de la configuración, preparación y desarrollo de los componentes adaptables del framework.

2 Modelador

Los participantes con este rol son responsables de la definición del modelo de datos. Como puede observarse, a efectos de no añadir complejidad a la explicación y lograr centrar los aspectos importantes, hemos simplificado los roles que de forma natural intervienen en los procesos de construcción de software.

A continuación, pasamos a describir en qué consiste cada una de las etapas para realizar una implementación del Framework OcQF y la forma en la que intervienen cada uno de los tipos de participante.

3.3.1 Primera etapa: Desarrollo del software

Los desarrolladores son los encargados de llevar a buen término la primera etapa de la implementación del framework, durante la misma, su principal responsabilidad es desarrollar el traductor de consultas cuya función, recordemos, es transformar cada consulta OcQL de entrada para devolver una consulta equivalente definida en el lenguaje de persistencia seleccionado, por ejemplo, SQL.

Para realizar la implementación del traductor, los desarrolladores deben tener en cuenta y conocer lo siguiente:

1 La estrategia de diseño orientada a acontecimientos seleccionada para el desarrollo de la base de acontecimientos.

2 El sistema de persistencia sobre el que se implantará la base de acontecimientos. 3 El lenguaje de consultas del sistema de persistencia.

4 La sintaxis y semántica de OcQL.

5 La forma en que se va a implementar el repositorio de metadatos.

Así pues, es fundamental que la estrategia de diseño, el sistema de persistencia y el repositorio de metadatos sean conocidos antes de comenzar el proceso de desarrollo del traductor.

El sistema de persistencia

La elección del sistema de persistencia es clave dado que de esta decisión depende el lenguaje al que serán traducidas las consultas OcQL proporcionadas al traductor y las características del entorno sobre el que se implantará la base de acontecimientos.

Recordemos que el sistema de persistencia no tiene porqué limitarse a un sistema gestor de bases de datos relacionales y al lenguaje SQL, sino que, en función de las necesidades, es posible optar por ejemplo por sistemas basados en documentos XML y el lenguaje XPath. La estrategia de diseño

Si bien es posible optar por diferentes estrategias de diseño, en el ámbito de la investigación en la que se enmarca esta tesis, y especialmente para dar forma a la prueba de concepto que presentaremos en el Capítulo 8, se ha seleccionado la estrategia de diseño orientada a acontecimientos propuesta en [24] y descrita en el apartado 2.2. A esta estrategia de diseño, utilizada para la definición de modelos de bases de acontecimientos, la hemos denominado

OcBase Model Driven Design Strategy (OcBaseMD Design Strategy).

Tal y como hemos explicado en el apartado 2.2, esta estrategia de diseño está basada en la metodología conocida como Ingeniería Dirigida por Modelos o Model Driven Engineering (MDE) descrita en [5], y propone partir de un modelo independiente de la plataforma (PIM) en la que se implantará el sistema y transformarlo en un modelo específico de la plataforma (PSM) para generar la especificación del código fuente (en este caso el necesario para la implantación de la base de acontecimientos).

El repositorio de metadatos

Para desarrollar el traductor se debe conocer información específica sobre las estructuras de almacenamiento de la base de acontecimientos y sobre las relaciones entre ellas; a esta información descriptiva se le conoce usualmente como metadatos.

El Framework OcQF cuenta con el componente denominado Repositorio de Metadatos

(Occurrence Base Metadata Repository; OcBase Metadata Repository) que hemos presentado en el apartado 3.2.6. El Repositorio de Metadatos es el componente del framework en el que se registra la información sobre las estructuras de almacenamiento de la base de acontecimientos y sobre las relaciones entre ellas.

Durante esta etapa, y como paso previo al desarrollo del traductor, los desarrolladores deben definir e implementar el esquema del repositorio de metadatos de acuerdo con la implementación realizada del metamodelo. En relación a esto, es importante recordar que, aunque lo natural es que el repositorio de metadatos se implante sobre el mismo tipo de sistema de persistencia que la base de acontecimientos, el framework posibilita que esta elección pueda realizarse libremente.

II Un marco de trabajo para la gestión de acontecimientos

3.3.2 Segunda etapa: Modelización de un contexto

La segunda etapa se inicia una vez que los desarrolladores han realizado la implementación del traductor, y con ella comienza la participación de los modeladores.

Para cada universo del discurso o dominio específico, los modeladores deben crear el correspondiente modelo de base de acontecimientos, y deben hacerlo de acuerdo con el metamodelo y siguiendo la estrategia de diseño seleccionada. El modelo de base de acontecimientos será implementado en función del sistema de persistencia seleccionado dando como resultado una base de acontecimientos.

El siguiente paso, una vez implementada la base de acontecimientos, es poblar el repositorio de metadatos con la información concreta sobre las estructuras de almacenamiento de la base de acontecimientos y sus dependencias de acuerdo al esquema implementado por los desarrolladores. En la siguiente figura podemos ver, como ejemplo, el esquema de un repositorio de metadatos basado en el metamodelo representado en la Figura 3.2, poblado con información descriptiva de la base de acontecimientos de un biobanco:

Figura 3.4 Caso de implementación del Repositorio de Metadatos

3.3.3 Tercera etapa: Explotación

Una vez que los desarrolladores y los modeladores han implementado los diferentes artefactos, se inicia la etapa de explotación.

La explotación se realiza directamente por parte de los usuarios finales que, en función de sus necesidades, simplemente deben definir las consultas OcQL para procesar la información de la base de acontecimientos.

Por ejemplo, el usuario final de una implementación del traductor podría ser un técnico de laboratorio que desea consultar información almacenada en la base de datos que da servicio al biobanco en el que trabaja; en este caso, el usuario podría estar interesado en obtener distintas informaciones sobre la procedencia de los datos como pueden ser: (1) La línea de vida de las muestras biológicas extraídas a un determinado sujeto de estudio, (2) la historia del almacenamiento de las alícuotas obtenidas de las muestras, o (3) los acontecimientos relacionados con un determinado protocolo de procesamiento de muestras.