Capítulo 4 Definición del metamodelo para la transformación
4.5 Metamodelo intermedio MOS
4.5.2 Selección de elementos del metamodelo MOS a ser mapeados a elementos WSDL y
Para crear el metamodelo Ecore del metamodelo orientado a servicios, deben considerarse aquellos elementos de MOS que sean los indicados para ser representados en las especificaciones WSDL y BPEL. Además de considerar los atributos necesarios que permitan establecer esa relación de mapeo entre los diferentes elementos.
A continuación en la tabla 4.1 se muestran los elementos MOS que serán representados en elementos WSDL y BPEL. Estos elementos son tomados de los modelos propuestos en el trabajo [ESTR08], los modelos corresponden a diferentes etapas de refinamiento en el proceso de modelado, por lo tanto los elementos de cada modelo se desglosan en otros elementos hasta llegar a la unidad que son los recursos. En la tabla los modelos son mencionados de acuerdo al nivel de abstracción de representación.
Tabla 4.1: Selección de elementos MOS
Modelos MOS Elementos MOS
Modelo global, modelado de servicios compuestos Servicio compuesto Servicio básico
Modelo de procesos Proceso
Modelo de protocolo Tarea
Capítulo 4 Definición del metamodelo para la transformación
44
El elemento servicio compuesto es el que engloba a los otros elementos. Sin embargo, de acuerdo al análisis que a continuación se presenta el elemento proceso es el que representa al servicio de la especificación WSDL. El elemento proceso contiene tareas, las cuales son las unidades mínimas de acción y en consecuencia son las que representan las operaciones de los servicios. Por último, el elemento recurso representa el o los parámetros de las operaciones. A continuación se describen los atributos que deben ser considerados para el mapeo de los elementos.
4.5.2.1 Descripción de los atributos de los elementos MOS
Algunos de los atributos que deben ser considerados para el mapeo, no están especificados en los modelos de negocio orientados a servicios. Estos atributos deben ser agregados a los elementos MOS para realizar una transformación directa a los elementos de los documentos WSDL y BPEL.
La identificación de algunos atributos no estaba considerada al principio de la investigación, durante el desarrollo de ésta se ha acordado puntualizar cuáles son los atributos que ya se consideraban en el trabajo [ESTR08] y cuáles son los atributos agregados. Los atributos son necesarios para una correcta aplicación de las reglas de transformación, de esta forma los elementos MOS con los atributos correspondientes tendrán un mapeo directo a los elementos WSDL o BPEL dependiendo de la transformación aplicada. A continuación se describen los atributos de cada elemento, se indica si ya están considerados o si es un atributo nuevo.
4.5.2.1.1 Atributos del servicio compuesto
El servicio compuesto ya cuenta con el atributo Nombre, los atributos que se están considerando agregar son Orden de ejecución y Descripción. La justificación de estos atributos, es que el atributo Orden de ejecución será considerado para los servicios compuestos que estén contenidos en un servicio compuesto superior. El atributo se necesita para realizar la composición en BPEL, para saber el orden de participación. Mientras que el atributo Descripción permitirá agregar la descripción detallada de la acción que realiza el servicio.
4.5.2.1.2 Atributos del servicio básico
El servicio básico ya cuenta con el atributo Nombre, los atributos que se están considerando agregar son Orden de ejecución y Descripción . La justificación de estos atributo, es que Orden de ejecución será usado para la composición de servicios en BPEL, para saber el orden de participación. El atributo Descripción permitirá agregar la descripción detallada de la acción que realiza el servicio.
Capítulo 4 Definición del metamodelo para la transformación
45
4.5.2.1.3 Atributos del proceso
El proceso ya cuenta con los atributos Nombre, Transaccional y Orden de ejecución. El atributo Orden de ejecución ya está considerado gráficamente dentro del modelado, pero debe ser especificado dentro del proceso. El atributo Orden de ejecución será usado para la composición de servicios en BPEL, para saber el orden de participación. Es importante hacer notar que el proceso será considerado como la representación de un servicio Web, el cuál a su vez formará parte del servicio básico. El otro atributo que debe agregarse es
Descripción, ya que éste permitirá agregar la descripción detallada de la actividad que
realiza el proceso.
4.5.2.1.4 Atributos de la tarea
La tarea ya cuenta con el atributo Nombre. Los atributos que se están considerando agregar son Transaccional, Orden de ejecución, Tipo y Descripción. El atributo Transaccional indica si la tarea será representada en el documento WSDL como operación. El atributo
Orden de ejecución será usado para la composición de servicios en BPEL, para saber el
orden de participación. Por último, el atributo Tipo indica el tipo de recurso que genera (si es el caso), y será usado para representar el esquema xsd de tipos en el documento WSDL.
El atributo Descripción permitirá agregar la descripción de la actividad que realiza la tarea, así como describir cómo usa los elementos que recibe o genera.
4.5.2.1.5 Atributos del recurso
El recurso ya cuenta con el atributo Nombre, los atributos que se está considerando agregar son Tipo y Descripción. El atributo Tipo indica el tipo de recurso que será usado para representar el esquema xsd de tipos en el documento WSDL. El atributo Descripción permitirá agregar la descripción del atributo. El atributo Descripción no es estrictamente obligatorio, al contrario de los otros que si lo son. Es recomendable hacer uso de éste, para aclarar la actividad de cada elemento, así como para ser agregado como documentación en la especificación WSDL.
4.5.2.2 Restricciones de los atributos de los elementos MOS
Cada atributo debe tener restricciones asociadas, que determinan los valores que pueden ser asignados. De cada uno de los elementos se listarán sus atributos y los valores que pueden recibir éstos.
4.5.2.2.1 Restricciones de los atributos del servicio compuesto
• Nombre: atributo de tipo cadena, aquí se almacena el nombre del servicio compuesto.
• Orden de ejecución: atributo de tipo entero, aquí se almacena el número de orden de participación en el proceso de negocio. En caso de ser un servicio compuesto
Capítulo 4 Definición del metamodelo para la transformación
46
dentro de otro servicio compuesto, el atributo Orden de ejecución debe tener asignado un valor mayor a 0 y será incrementado consecutivamente. De ser un servicio compuesto que ya no está contenido dentro de otro, debe tener asignado 0. • Descripción: atributo de tipo cadena.
4.5.2.2.2 Restricciones de los atributos del servicio básico
• Nombre: atributo de tipo cadena, aquí se almacena el nombre del servicio básico. • Orden de ejecución: atributo de tipo entero, aquí se almacena el número de orden
de participación en el proceso de negocio. En caso de ser un servicio básico dentro de un servicio compuesto, el atributo Orden de ejecución debe tener asignado un valor mayor a 0 y será incrementado consecutivamente. De ser un servicio básico que no esté contenido dentro de un servicio compuesto, debe tener asignado 0. • Descripción: atributo de tipo cadena.
4.5.2.2.3 Restricciones de los atributos del proceso
• Nombre: atributo de tipo cadena, aquí se almacena el nombre del proceso.
• Transaccional: atributo de tipo cadena, los valores asignados pueden ser “T” transaccional o “NT” no transaccional. Si el valor es “T”, el proceso será considerado para ser transformado a elementos WSDL. Si el valor es “NT”, significa que es una operación manual.
• Orden de ejecución: atributo de tipo entero, aquí se almacena el número de orden de participación en el proceso de negocio. El atributo Orden de ejecución debe tener asignado un valor mayor a 0 y será incrementado consecutivamente.
• Descripción: atributo de tipo cadena.
4.5.2.2.4 Restricciones de los atributos de la tarea
• Nombre: atributo de tipo cadena, aquí se almacena el nombre de la tarea.
• Transaccional: atributo de tipo cadena, los valores asignados pueden ser “T” transaccional o “NT” no transaccional. Si el valor es “T”, la tarea será considerada para ser transformada a elementos WSDL. Si el valor es “NT”, significa que es una operación manual.
• Orden de ejecución: atributo de tipo entero, aquí se almacena el número de orden de participación en el proceso de negocio. El atributo Orden de ejecución debe tener asignado un valor mayor a 0 y será incrementado consecutivamente.
• Tipo: atributo de tipo cadena, los valores asignados pueden ser: “void”, “int”, “boolean”, “string” y “float”. La tarea puede generar recursos, es por ello que debe de ser tipeada. En el caso de que no genere ningún recurso debe ser tipeada con “void”.
Capítulo 4 Definición del metamodelo para la transformación
47
4.5.2.2.5 Restricciones de los atributos del recurso
• Nombre: atributo de tipo cadena, aquí se almacena el nombre del recurso.
• Tipo: atributo de tipo cadena, los valores asignados pueden ser: “int”, “boolean”, “string” y “float”.
• Descripción: atributo de tipo cadena.
En la tabla 4.2 se presenta un resumen de los elementos que serán mapeados a elementos Ecore, junto con los atributos que deben ser considerados para poder realizar una transformación a elementos de la especificación WSDL.
Tabla 4.2: Elementos MOS a considerar para representarlos en el metamodelo Ecore
Modelos MOS Elementos MOS Atributos a considerar para la
transformación a WSDL
Modelo global, modelado de servicios compuestos
Servicio compuesto Nombre
Orden de ejecución Descripción
Servicio básico Nombre
Orden de ejecución Descripción
Modelo de procesos Proceso Nombre
Transaccional Orden de ejecución Descripción
Modelo de protocolo Tarea Nombre
Transaccional Orden de ejecución Tipo Descripción Recurso Nombre Tipo Descripción
4.5.2.3 Representación gráfica de los atributos en los elementos MOS
Para poder representar los atributos en los elementos MOS, deben hacerse algunas modificaciones gráficas a las ya establecidas en [ESTR08]. En la tabla 4.3 se muestran los elementos gráficos y los atributos que han sido considerados para agregar gráficamente.
A los servicios (compuesto y básico) se les agrega el atributo orden de ejecución, el cuál está representado gráficamente como No. en la tabla, pero debe escribirse un número entero en su lugar. El atributo proceso igualmente se le debe agregar el atributo orden de ejecución como No. y para el atributo transaccional debe escribirse T o NT. El elemento
Capítulo 4 Definición del metamodelo para la transformación
48
tarea debe modificarse para agregar los atributos transaccional y orden de ejecución de forma gráfica, la representación será igual que en los casos anteriores. Finalmente en el elemento recurso debe agregarse gráficamente el atributo Tipo.
Tabla 4.3: Elementos gráficos MOS
Nombre del elemento Elemento gráfico y atributos
Servicio compuesto Servicio básico Proceso
Tarea
Recurso
Al realizar el análisis del prototipo que permitirá crear los modelos *.mos, se considerará la forma más pertinente de representar los elementos MOS y sus atributos. La representación gráfica mostrada anteriormente en la tabla 4.3, es sólo para familiarizarse con el trabajo [ESTR08], en donde los elementos son representados con esas figuras.
El atributo Descripcion estaría representado de forma oculta, es decir no es un atributo que deba sobresalir sobre el elemento gráfico, ya que este atributo es considerado como apoyo de documentación. Igualmente el atributo Tipo del elemento tarea estará oculto.