Publicado el 4 de Abril del 2020
508 visualizaciones desde el 4 de Abril del 2020
148,0 KB
11 paginas
Creado hace 21a (08/07/2003)
Integración de herramientas CASE usando
Internet, CORBA, y repositorios de Meta
Información
A/C. Enrique Delfino
Grupo Lins - Inco
Facultad de Ingeniería - UdelaR
http://www.fing.edu.uy/inco/grupos/lins/
1. Introducción
1.1. Contexto
Las herramientas CASE asisten en el análisis y diseño de proyectos y facilitan la
generación de aplicaciones finales, brindan facilidades en una amplia gama de actividades que
van desde la asistencia gráfica en el diseño hasta la generación automática de código.
Constituyen un tipo de software fundamental en el desarrollo de proyectos, sobre todo de gran
porte.
Durante el ciclo de vida de un proyecto puede ser necesario utilizar varias herramientas
CASE por diferentes razones, entre ellas:
S una sola herramienta puede no cubrir todas las necesidades
S no cubre todo el ciclo de vida de desarrollo del proyecto
S el proyecto se reparte entre varias empresas y no es posible que todas estén de
S
acuerdo en utilizar la misma herramienta.
la diversidad de lenguajes y metodologías existente ha hecho que no exista un
ambiente CASE integrado para las mismas.
Sin un ambiente integrado, con una forma de intercambio de información, al momento
de mover información de una herramienta a otra, es necesario ingresar nuevamente los datos
en el nuevo modelo. Esto es una solución costosa, que puede introducir nuevos errores, y que
requiere un conocimiento completo de las herramientas con las que se esta intercambiando la
información.
Una forma de integración de las mismas consiste en programar interfaces para la
interacción entre cada par de componentes utilizados, debiendo reprogramar una parte
importante de las interfaces si alguno de los componentes cambia.
Otra forma de integración menos costosa y mas escalable consiste en definir una
interface estándar independiente de los productos, de forma que integrar una nueva
herramienta a un conjunto ya existente o el cambio en una de ellas, requiera sólo la
programación de la interfaz para el nuevo componente (o componente modificado) que realice
la comunicación con un manejador central. Este último se basa en contar con un repositorio de
modelos en común y un mecanismo de conexión que permita integrar las funcionalidades.
1.2. Estado del arte
Existen algunos estándares que permiten definir y manipular los metadatos a
intercambiar entre herramientas CASE.
manipular metadatas.
MOF (Meta Object Facility) es una especificación de la OMG para definir, representar y
dMOF es la implementación de la especificacion MOF por parte de la DSTC [dMOF].
Este producto es una suite de herramientas que permiten la generacion de manejadores de
repositorios para metadatos.
XMI es el formato definido para la transmision de metadata definido por la OMG.
CWM (Common Warehouse Meta-model)[cwm] es el meta-modelo canónico que se
maneja en el repositorio (en particular el OLAP de CWM). La especificación CWM es
establecida por la OMG (basada en los estándares UML, MOF, y XMI), consiste de un conjunto
de meta-modelos llamados paquetes (como por ejemplo los paquetes OLAP, Relacional,
Transformacional, Jerárquico), y define como modelar, manipular e intercambiar metadata entre
herramientas. (De ahora en mas
términos paquete y meta-modelo se usaran
indistintamente).
los
XMI es un estándar para codificar colecciones de meta data basadas en MOF como
documentos XML.
SOAP (Simple Object Access Protocol) es el mecanismo de comunicación a utilizar
entre las herramientas y el manejador de repositorio (para el alta y modificación de modelos).
El protocolo SOAP se basa en XML para hacer llamadas a procedimientos remotos usando
HTTP como protocolo de transporte.
Integración de herramientas CASE usando Internet, Corba y Repositorios de Metainformación Página 2 de 11
1.3. Descripción general
El presente proyecto implementa un manejador de repositorio centralizado para
modelos OLAP, donde las herramientas CASE pueden realizar altas y modificaciones de
modelos (OLAP) a través de Internet.
Los modelos son almacenados en forma persistente y cualquiera de ellos esta
accesible a cualquier herramienta CASE que acceda al repositorio a través de internet
utilizando SOAP.
Las herramientas CASE que se
integren con el manejador pueden estar
implementadas en cualquier plataforma y lenguaje, lo único que requieren es implementar una
interfaz (en el lenguaje y plataforma que se desee) para acceder a la funcionalidad del mismo.
El repositorio puede ser navegado a través de Internet, utilizando un browser. Se puede
obtener un reporte en HTML de cada modelo almacenado, e incluso cada modelo puede ser
obtenido (downloading) a través del browser. Esta navegación es de solo consulta.
La siguiente figura muestra la funcionalidad de este proyecto en forma global.
Herram.CASE 1 (java)
Herram.CASE n (C++)
Interfaz
Interfaz
Browser
Internet
Altas y modif. de modelos del repositorio
Navegación del repositorio
Manejador de Repositorio
Repositorio
:3.43,/,/ 4-, /0 5740.94
Para demostrar el funcionamiento, se realizo la aplicación practica del manejador a una
herramienta CASE en particular, implementando la interfaz correspondiente.
Manejador de Repositorio.
La implementación del manejador de repositorio “núcleo” (representado en la figura 1
por un recuadro con el nombre “manejador de repositorio”) es una implementación CORBA,
generada con la herramienta dMOF.
DMOF permite, básicamente, generar manejadores de repositorios para meta-modelos
basados en MOF. Los modelos son almacenados en el repositorio como objetos CORBA (se
almacena su IOR).
Este manejador tal cual es generado puede ser accedido únicamente por clientes
CORBA. La funcionalidad (para clientes CORBA) abarca todo lo que es creación y manejo de
modelos OLAP de CWM. Permite además trabajar con el documento XMI correspondiente a
cada uno de esos modelos (el cual contiene la misma información). Por ejemplo a partir de un
objeto CORBA que representa un modelo permite obtener el XMI del mismo y viceversa
(procesos que de ahora en mas llamaremos Producer –producir XMI- y Consumer –consumir
XMI- respectivamente).
Integración de herramientas CASE usando Internet, Corba y Repositorios de Metainformación Página 3 de 11
Cliente CORBA
ABM de modelos
Cliente
Documentos en XMI de modelos
según CWM
Producer y Consumer
Modelo
X
Stubs Cliente- Skeletons
CORBA
Manejador Repositorio
Repositorio
:3.43,20394 /0 2,30,/47 /0 705489474
El esquema de la arquitectura del manejador de repositorio generado por dMOF es el
siguiente:
Stubs-Cliente
Servidores
BUS
Repositorio
,30,/47 /0 705489474 0307,/4 .43 /
Integración de herramientas CASE usando Internet, Corba y Repositorios de Metainformación Página 4 de 11
Alta y modificación de modelos en el repositorio vía Internet
El alta y modificación de modelos vía Internet (ver Fig. 1) implementa un “puente”
SOAP-CORBA. Es una “capa” sobre el manejador de repositorio en CORBA que permite a
cualquier tipo de clientes (herramientas) acceder a los modelos OLAP almacenados en el
repositorio vía SOAP. Permite agregar un modelo nuevo al repositorio u obtener y actualizar
uno existente, en los tres casos el modelo es dado en XMI. Es decir que las herramientas
CASE que interactúen con el manejador a través de SOAP deben enviar y/o recibir modelos
OLAP (de CWM) en XMI. Adicionalmente almacena datos de cabecera de los modelos como
fecha de creación y descripción.
Esta interfaz SOAP ofrece una funcionalidad restringida con respecto a la totalidad que
brinda el manejador en CORBA, ya que solo permite actualizar un modelo “entero”, no permite
modificar partes como con CORBA. Ofrece los métodos atómicos: LoadXMI (obtención de un
modelo) y StoreXMI (inserción o actualización). Para estos utiliza además la funcionalidad
Producer y Consumer.
La siguiente figura muestra mas en detalle la interacción entre los recuadros titulados
como “Altas y modif. de modelos del repositorio” y “Manejador de Repositorio” de la Fig. 1.
Gráficamente se tiene:
SOAP- XMI
Servidor Web
Caucho-Resin
XMI
Interfaz SOAP-Apache SOAP
Producer y Consumer
Objetos CORBA
Stubs-Cliente
Servidores
BUS
,30,/47 /0 705489474 0307,/4 .43 /
Navegación del repositorio
JDBC
JDBC
MYSQL
El módulo para el acceso web al repositorio (recuadro titulado como Navegación del
repositorio en la Fig. 1) implementa la navegación y consulta del repositorio a través de
Internet, las funcionalidades que ofrece son:
S Navegación del repositorio de modelos, obteniendo un listado de los modelos
existentes en el repositorio, con datos de cabecera como fecha de creación,
descripción e identificador (información adicional del modelo).
S Obtención del documento XMI de cualquier modelo almacenado en el repositorio
S Generación de un reporte en HTML de cualquier modelo, en un formato más
“legible” resultado de aplicar una transformación XSL al XMI mencionado.
Integración de herramientas CASE usando Internet, Corba y Repositorios de Metainformación Página 5 de 11
Tanto este modulo como la interfaz SOAP corren bajo el mismo Servidor Web.
Browser
Modelo en XMI o reporte del
modelo en HTML
Páginas JSP
Lógica Acceso Web XMI-XSL-HTML
Servidor Web
Producer
Manejador Repositorio
Datos de control
Repositorio
39071, /0 ,..084 0- , 705489474
Interfaz entre cliente (herramienta CASE) y objetos de “ayuda al clie
Comentarios de: Integración de herramientas CASE usando Internet, CORBA, y repositorios de Meta Información (0)
No hay comentarios