XMI: XML Metadata Interchange - Universidad Politécnica de Valencia

Anuncio
XMI: XML Metadata Interchange
Pérez J.
García M.
Facultad de Informática – Universidad Politécnica de Valencia
email: [email protected], [email protected]
Resumen
XMI es el nombre que recibe el estándar para el
intercambio de
metamodelos usando XML. Su principal objetivo es permitir un intercambio de
metainformación entre herramientas de modelado basadas en UML y repositorios
de metainformación basados en MOF en heterogéneos entornos distribuidos. El
hecho de incluir tres estándares como XML, UML y MOF, permite a los
desarrolladores de sistemas distribuidos compartir modelos de objetos y otra
información sobre Internet.
Al utilizar XML permite una gran flexibilidad en la estructura de la
información, ya que esta no se especifica como sucede en HTML, lo que permite
tener más de una vista de un documento al estar separado el contenido de la
estructura.
XMI es el único estándar para el intercambio de información en entornos de
trabajo distribuido donde se colabora para conseguir un objetivo común.
La figura 1 muestra como tiene lugar el intercambio con XMI:
1
Laboratorio de Sistemas de Información
Facultad de Informática
Universidad Politécnica de Valencia
Figura 1. Intercambio con XMI [5].
La arquitectura de XMI permite la simplificación de la comunicación entre
aplicaciones de diferentes tecnologías ahorrando mucho trabajo y tiempo, además
potencia la reutilización de objetos y componentes.
2
Laboratorio de Sistemas de Información
Facultad de Informática
Universidad Politécnica de Valencia
1. Introducción
XMI nació de la propuesta realizada por IBM, Unisys, y otras industrias
líderes para realizar un nuevo estándar que combinase los beneficios de XML para la
definición, validación y compartición del formato de los documentos en la web con
los beneficios de UML.
UML proporciona a los desarrolladores de aplicaciones un lenguaje común
para poder especificar, visualizar, construir y documentar objetos distribuidos y
modelos de negocio.
XMI es un estándar de OMG para el intercambio de información y
metainformación entre herramientas, repositorios y aplicaciones, que proporciona
un formato de intercambio para entornos distribuidos. Comenzó con la
metainformación de modelado y programación y se ha ido expandiendo a
datawarehouse, componentes, etc. Intenta dar a los desarrolladores trabajo con
tecnología de objetos que permite cambiar la programación de datos en Internet
hacia un estándar.
La figura 2 muestra un posible escenario de intercambio usando XMI:
Figura 2. Escenario de intercambio [5].
3
Laboratorio de Sistemas de Información
Facultad de Informática
Universidad Politécnica de Valencia
XMI fue presentado en Junio del 98 como el pilar del intercambio de
modelos de información, actualmente ha sido adoptado como una recomendación
tecnológica de OMG desde el 23 de marzo de 1999 [4]. La versión de XMI 1.1
apareció el 1 de febrero de 2000, actualmente se está desarrollando la versión 1.2.
[5] y se está trabajando para que XMI permita la generación automática en XML del
DTD para cada metainformación del modelo. Esta ampliación de XMI permite la
generación de DTD’s para cubrir otros dominios como DataWarehouse, desarrollo
basado en componentes y metainformación web[6].
Además está intentando ser un formato “stream” para poder almacenar
ficheros de sistemas tradicionales, información de Internet de BD o repositorios[4].
El objetivo del presente trabajo es dar a conocer está nueva tecnología y
presentar su uso actual, centrándose en UML. Su estructura es la siguiente: en
primer lugar se presenta el estándar XML y el estándar XMI en los apartados 2 y 3
respectivamente. En el apartado 4 se realiza una breve descripción de la
arquitectura XMI. Por otro lado, en el apartado 5 se explicitan las ventajas que
ofrece XMI. Finalmente en el apartado 6 se estudia brevemente el DTD para UML y
en el apartado 7 se presentan las conclusiones obtenidas tras la realización del
trabajo.
2. XML(eXtensible Markup Language)
El estándar XML surge como una necesidad de estandarizar la definición de
lenguajes de marcas. Tiene su base en SGML (Standard Generalized Markup
Language) y en la actualidad se ha convertido en la forma ideal de realizar el
intercambio de información.
4
Laboratorio de Sistemas de Información
Facultad de Informática
Universidad Politécnica de Valencia
Es un metalenguaje de marcado que permite la definición de tus propias
marcas y el intercambio de datos a través de la red. Es una versión de SGML
abreviada, optimizada para su uso en Internet. Por ello puede considerarse una
ampliación de HTML, ya que aprovecha sus ventajas y permite realizar muchas cosas
más.
XML está compuesto por cuatro partes:
-
Documentos XML
XML DTD (Document Type Definition)
XML parser
Aplicaciones XML
Su enlace con la web promete un lenguaje común de etiquetas, rompiendo
la necesidad de trabajar obligatoriamente dentro de una única infraestructura.
XML ofrece la posibilidad de definir un conjunto de reglas que definan la
estructura de la información, esto se consigue con el DTD mediante el uso de
etiquetas. Por eso proporciona una estructura rígida a nivel sintáctico que permite
que sea representada en forma de árbol toda la información que contiene, más
conocido como DOM (Document Object Model), y que los documentos tengan poca
ambigüedad. Por otro lado es sencillo y flexible, en cuanto a definición de etiquetas
nuevas se refiere y al hecho de no estar obligado a que un documento XML esté
asociado a un DTD.
Una de las principales características es que etiqueta e identifica el
contenido, olvidándose en un principio de la presentación. Después, la información
incluida en un documento XML puede ser utilizada por una página XSL (Extensible
Style Sheet Language) para presentarla en un navegador. Esto permite tener más
de una vista de un documento, porque tiene separado el contenido de la
presentación.
5
Laboratorio de Sistemas de Información
Facultad de Informática
Universidad Politécnica de Valencia
XML va a permitir la comunicación entre las máquinas, consiguiendo que un
mismo documento se pueda ver de distinta forma desde varias máquinas, sólo con
que cada máquina tenga su StyleSheet adecuada. No se cambia ni el contenido ni la
estructura, tan sólo su presentación.
Al ser un lenguaje tan flexible permite que un documento pueda usarse para
una gran variedad de propósitos. Por ejemplo, la información puede utilizarse para
leerla y después mostrársela al usuario, para guardarla en una BD, o usarla en otra
aplicación. Por otro lado, facilita el desarrollo de aplicaciones para navegar por la
web, buscadores, y el intercambio de datos, generalmente entre BD, basándose en
el DTD. Pero no es algo que pretenda reemplazar a los SGBD’S, simplemente facilita
el intercambio de información y la cooperación entre las empresas mediante el
comercio electrónico(business-to-business), etc. A parte de BD también permite
intercambiar información como documentos de correo, documentos de texto y
cualquier tipo de datos existente en cualquier corporación.
Un DTD es el lugar donde se realiza la definición de la estructura y el
contenido de un tipo de documento. En un DTD de XML se definen los elementos,
atributos y entidades que van a formar un documento, cómo se estructuran y
relacionan. De esta forma se especifica los elementos y atributos que pueden usarse
dentro de un documento XML y especifica que caracteres se usarán para marcar el
texto.
Un DTD define un conjunto de reglas que pueden asociarse a un conjunto de
documentos XML que se han creado usando la plantilla que defina el DTD, esto es
posible porque la estructura y el contenido van separados. Puede usarse para crear
y validar documentos XML de acuerdo con las reglas que se han definido en el DTD.
Es el lugar donde se realiza la definición de la estructura y el contenido de un tipo
de documento.
6
Laboratorio de Sistemas de Información
Facultad de Informática
Universidad Politécnica de Valencia
El documento XML es el que incluye toda la información delimitada mediante
marcas y que se envía a través de la web para después ser utilizado de la forma
deseada.Cuando un documento XML cumple la especificación del lenguaje XML se
dice que es un documento XML bien formado, y en caso de que esté asociado a un
DTD, si cumple la sintaxis definida en este, se dice que es un documento XML valido.
Esta información del documento la proporcionan los parsers.
Los documentos XML pueden ser leídos por aplicaciones para utilizar su
información de la forma que crean conveniente, esto se consigue mediante parsers.
Por lo tanto, XML permite crear aplicaciones con datos compartidos.
Un parser es la herramienta principal de cualquier aplicación XML. Permite
comprobar si los documentos están bien formados o válidos. Es un programa de
bajo nivel que lee un documento XML y almacena tanto las etiquetas como el
contenido que ha leído en una estructura.
El hecho de que las etiquetas de XML tengan una carga semántica, es decir,
que proporcionen información sobre el texto que contienen, hace que sirvan para
realizar consultas y búsquedas sobre el documento.
Los documentos tienen poca ambigüedad, ya que tienen una fuerte
estructuración, de ahí que se mejore la búsqueda considerablemente.
La información de este apartado se ha conseguido de [9,10,11,12].
3. XMI (XML METADATA INTERCHANGE)
El principal objetivo de XMI es permitir un intercambio de metainformación
entre herramientas de modelado, basados en UML, y repositorios de
metainformación, basados en MOF, en heterogéneos entornos distribuidos.
Realizando este intercambio mediante streams o ficheros con formato estándar
basado en XML.
7
Laboratorio de Sistemas de Información
Facultad de Informática
Universidad Politécnica de Valencia
UML es un estándar que define un lenguaje de modelado orientado a objetos
que es soportado por una gama de herramientas de diseño gráfico y MOF es un
estándar que define un marco de trabajo para definir modelos de metainformación
y proporciona herramientas con interfaces programadas para almacenar y acceder a
metainformación en un repositorio. Es por esto, que el hecho de incluir tres
estándares como XML, UML y MOF, permite a los desarrolladores de sistemas
distribuidos compartir modelos de objetos y otra información sobre Internet. De
esta forma se consigue un
modelado, una gestión y una publicación de
metainformación estándar a través de la web, utilizando UML y MOF para el diseño
de metamodelos y XML para transferir la información. El DTD especifica el permiso
para la transferencia y la verificación de:
-
Modelos basados en UML utilizando el DTD de UML.
-
Metamodelos y sus instancias basados en MOF, permitiendo el
uso de XMI en
nuevos dominios como DataWarehouse, componentes,
etc.
La figura 3 muestra la integración de estándares que realiza XMI.
Figura 3. Integración de estándares.
“XMI es el único estándar para el intercambio de información en un entorno
de desarrollo de colaboración. Las compañías obtienen una mayor productividad en
8
Laboratorio de Sistemas de Información
Facultad de Informática
Universidad Politécnica de Valencia
el desarrollo de aplicaciones. Los desarrolladores corporativos pueden desarrollar
modelos que pueden ser distribuidos y usados por varios grupos, incluso en
diferentes entornos de desarrollo.”( Emilie McCabe, Vice President, IBM VisualAge
Tools Marketing and AIM Services )
La figura 4 muestra que el intercambio se puede producir de arriba abajo o
bien de abajo a arriba:
Figura 4. Tipos de intercambios [5].
"XMI dará a las compañías la seguridad de poder reusar metainformación a
través de fragmentos de proyectos de desarrollo de gran escala incluyendo código,
información de arquitectura y de gestión”.( JP Morgenthal, President & Director of
Research, NC Focus )
Finalmente, otras de sus características es que permite el intercambio de
objetos y de SW activo a través de entornos de desarrollo de aplicaciones de análisis
de objetos OMG y facilita el diseño.
4. ARQUITECTURA DE XMI
En la figura 5 se representa la comunicación de seis aplicaciones de
diferentes tecnologías usando XMI y sin utilizarlo, en el primer caso sólo son
9
Laboratorio de Sistemas de Información
Facultad de Informática
Universidad Politécnica de Valencia
necesarios seis puentes, mientras que en el segundo se necesitan 30 puentes de
conexión [3].
Des
ign
Devel
opme
nt
Data
Tools
bas
XMI
Soft
war
eRep
Ass
osito
ets
Repry
orts
App1
App6
App5
App2
App3
App4
e
Sch
ema
Figura 5. Comunicación de seis aplicaciones de diferentes tecnologías.
La figura 6 muestra los diferentes niveles que permite integrar el uso de XMI.
Hace posible usar la herramienta de diseño X, lenguaje IDE Y, BD Z, etc. [3].
Figura 6. Niveles que integra XMI.
Esta arquitectura, de forma completa, ofrece una amplia gama de ofertas de
implementaciones para desarrolladores de herramientas, repositorios y marcos de
trabajo objetuales.
El uso de MOF para definir y manipular metamodelos mediante una
programación que usa una granularidad tan buena como la que nos ofrecen las
10
Laboratorio de Sistemas de Información
Facultad de Informática
Universidad Politécnica de Valencia
interfaces de CORBA. Este enfoque es influenciado por
la fuerza de la
infraestructura de objetos distribuidos de CORBA[13]
5. VENTAJAS DE XMI
Una de las ventajas que proporciona XMI es el hecho de trabajar con Internet
y que está construido en base a estándares industriales como HTML, XML, UML,
MOF, etc.[3].
La figura 7 muestra la relación entre dominios y plataformas según OMG:
Figura 7. Relación entre dominios y plataformas según OMG [5].
XMI evita la creación de distintos formatos, cada cual especificando la
herramienta de un fabricante, siendo independiente de las herramientas,
repositorios y aplicaciones en las que se haya generado la información. Haciendo
posible que distintos productos sean compatibles, ya que permite que compartan
su información.
“Para los sistemas integrados y sus usuarios, XMI promete una importante
mejora en la calidad y accesibilidad de modelos, permitiendo que objetos y
componentes puedan ser reutilizados”. (Cris Kobryn)
11
Laboratorio de Sistemas de Información
Facultad de Informática
Universidad Politécnica de Valencia
XMI evita la necesidad de utilizar una única infraestructura permitiendo al
usuario elegir la plataforma, el fabricante, el lenguaje y la herramienta con la que
desee trabajar, ya que su información podrá representarse y transferirse
igualmente.
La figura 8 muestra un esquema del uso de XMI en el intercambio de objetos
entre aplicaciones:
Figura 8. Intercambio de objetos entre aplicaciones [5].
XMI ofrece una forma fácil de empaquetar la información y la
metainformación. Siendo más fácil de usar y comprender que las tradicionales
tecnologías de metainformación (relacional y repositorios de objetos). Es fácil de
implementar en un tiempo récord proporcionando una tecnología y un middleware
neutral[3]. Es un enlace con la web que promete un lenguaje común mediante
etiquetas.
Lo presentado en este apartado se ha extraído desde [3,7,8].
6. ESPECIFICACIÓN DEL DTD DE XMI PARA UML
El estándar XMI de OMG especifica una estructura para el intercambio de
modelos usando XML. El DTD de XMI generado para UML es un mecanismo físico
para el intercambio de modelos UML de acuerdo con el metamodelo de UML.
12
Laboratorio de Sistemas de Información
Facultad de Informática
Universidad Politécnica de Valencia
Uno de los principales objetivos que persigue este DTD es el avance de la
industria permitiendo la interoperabilidad entre herramientas de modelado OO,
consiguiéndolo con XMI. El DTD de XMI debería usar como normativa el intercambio
de modelos UML por medio de flujos o ficheros.
Cada DTD usado por XMI debe satisfacer los siguientes requisitos[1]:
-
Todos los elementos XML definidos por la especificación XMI deben ser
declarados en el DTD.
-
Cada metamodelo construido (clase, atributo y asociación) debe tener
una correspondiente declaración de elemento.
-
Los elementos XML que representan extensiones hacia el metamodelo
deberían ser declarados en el DTD interno o externo [1].
La figura 9 muestra el proceso de validación en XMI:
Figura 9. Proceso de validación [5].
-
Fragmentos del DTD para el modelo especificado de UML(V.1.3):
Antes de ver una pequeña parte del DTD se ha de tener en cuenta lo siguiente
para poderlo comprender:
XMI.element.att: Define los atributos que a cada elemento XML le corresponden
de acuerdo con un metamodelo de clase para cumplir la especificación XMI.
ID Identificador,
Entidad Interna:
no se repite su
Referencia
información
valor
dentro del fichero
Laboratorio de Sistemas de Información
Facultad de Informática
Universidad Politécnica de Valencia
13
<!ENTITY %XMI.element.att
‘xmi.id ID # IMPLIED
xmi.label CDATA # IMPLIED
xmi.uuid CDATA #IMPLIED ‘ >
CDATA  Valor
Alfanumérico
IMPLIED  Opcional
XMI.link.att: Define los atributos que a cada elemento XML le corresponden de
acuerdo con un metamodelo de clase para permitir funcionar como un simple Xlink
para hacer referencia a otros DTD’s(constructores de modelos) que no estén en
otros ficheros XMI.
<ENTITY %XMI.link.att
‘xml:link CDATA #IMPLIED
inline (true | false) #IMPLIED
actuate (show | user) #IMPLIED
href CDATA #IMPLIED OR
role CDATA #IMPLIED
title CDATA #IMPLIED
show (embed | replace | new) #IMPLIED
behavior CDATA #IMPLIED
IDREF  Referencia a
xmi.idref IDREF #IMPLIED
una atributo
xmi.uuidref CDATA #IMPLIED ‘>
identificador
Una vez realizadas estas dos consideraciones podemos proceder a presentar el
DTD para una clase UML:
<!ELEMENT name (#PCDATA | XMI.reference)*>
<!ELEMENT isActive EMPTY>
Elemento
<!ATTLIST isActive
Lista de posibles valores para el
xmi.value(true | false)> #REQUIRED
elemento
>
Uno
obligatoriamente
<!ELEMENT instance
ComponentInstance|
(Instance
|
Object
|
LinkObject
|
DataValue
|
14
Laboratorio de Sistemas de Información
Facultad de Informática
Universidad Politécnica de Valencia
NodeInstancia | Use_Cases.UseCaseInstance >
Lista de posibles elementos que pueden ser una
instancia
Uno
opcionalmente
<!ELEMENT Class (name?, visibility?, isSpecification?, isRoot?, isLeaf?,
isAbstract?, isActive?, XMI.extension*, constraint*, stereotype?,
elementReference*,
collaboration*,
partition?,
templateParameter3*, presentation*, targetFlow*, sourceFlow*,
comment*, namespace?, clientDependency*, supplierDependency,
behavior*,
binding?,
generalization*,
specialization*,
elementImport*,
powertypeRange*,
templateParameter2*,
participant*,
createAction*,
instance*,
classifierRole*,
classifierInState*,
taggedValue*,
objectFlowState*,
templateParameter*, ownedElement*,feature*)?>
<!ATTLIST Class
XMI.element.att;
XMI.link.att;>
Cero o
más
Una vista más amplia o genérica se podría ver con la representación de la
herencia que nos ofrece el DTD de UML:
<!ELEMENT Child (GeneralizableElement | Mechanisms.Stereotype |
Collaborations.Collaboration | Package | Subsystem | Model |
Classifier | Class AssociationClass | DataType | Interface |
Component | Node | Signal | Exception | UseCase | Actor |
ClassifierRole | ClassifierInState| Association | AssociationRole)?>
<!ELEMENT Parent (GeneralizableElement | Mechanisms.Stereotype |
Collaborations.Collaboration | Package | Subsystem | Model |
Classifier | Class AssociationClass | DataType | Interface |
Component | Node | Signal | Exception | UseCase | Actor |
ClassifierRole | ClassifierInState| Association | AssociationRole)?>
<!ELEMENT Generalization (name?, visibility?, isSpecification?, discriminator?,
XMI.extension*,
namespace?, clientDependency*,
constraint*,
supplierDependency,
presentation*,
targetFlow*,
sourceFlow*,
templateParameter3*,
binding?,
comment*,
elementReference*,
templateParameter2*,
stereotype?,
behavior*,
classifierRole*,
collaboration*,
partition*,
elementImport*,
child?,
parent?,
powertype?,
taggedValue*)?>
15
Laboratorio de Sistemas de Información
Facultad de Informática
Universidad Politécnica de Valencia
<!ATTLIST Generalization
XMI.element.att;
XMI.link.att;>
16
Laboratorio de Sistemas de Información
Facultad de Informática
Universidad Politécnica de Valencia
7. Conclusiones
Después de haber realizado este trabajo, las conclusiones que se pueden
obtener son:
-
XMI facilita el intercambio de información y metainformación, abriendo
un amplio abanico de posibilidades al trabajo en equipo, pudiéndose
abarcar desarrollos muy complejos entre diversos grupos de trabajo, y
potenciando el trabajo distribuido, permitiendo nuevas colaboraciones
entre sectores con diferentes tecnologías.
-
La existencia de XMI proporciona de una gran independencia a la decisión
de qué tecnología, herramienta, lenguaje, etc. utilizar, ya que solventa
todos los problemas de intercambio de información existentes.
Pero surgen dudas respecto a qué ventajas ofrece que no pudiera ofrecer
XML. Debido a que XMI está naciendo en estos momentos, muchos de sus aspectos
no están claramente especificados y no se dispone de una información ampliamente
detallada en la que poder profundizar, pudiendo llegar a conclusiones precipitadas
como podría ser que XMI son DTD’s específicos para el envío de modelos y
metamodelos. Sin embargo hay ciertos aspectos que le dan otras ventajas y
diferencias respecto a XML, y es por esto que sería muy interesante investigar a
continuación sobre el estándar MOF de OMG y en un futuro profundizar de que
forma XMI genera automáticamente los DTD’s de XML basados en la especificación
original del metamodelo de MOF.
8. Referencias
[1] 98-10-05.pdf
[2] UML Versión 1.3 99-06-08.pdf
[3] Complete XMI.ppt
[4] http://www.cetus-links.org:80/oo_uml.html/xmi.html
[5] XMI 00-06-03.pdf
17
Laboratorio de Sistemas de Información
Facultad de Informática
Universidad Politécnica de Valencia
[6] XMI_Overview http://cgi.omg.org/news/pr99.html#xmi
[7] MCD-99 http://cgi.omg.org/news/pr99.html#xmi
[8] Framingham, MA, “OMG Members Unite in Support of XMI Technology”,
February 5, 1999
[9] http://www.w3.org/XML
[10] “TOOLS USA 2000 conference”, Software Serving Society,
http://www.tools-conference.com, Santa Barbara, California, USA, 30 Julio 2000
– 4 Agosto 2000
[11] Jake Sturm, “Developing XML Solutions”, Edit. Microsoft, 2000
[12] J.H. Canós,”Curso XML”, Septiembre 2000
[13] 98-10-05.pdf
18
Laboratorio de Sistemas de Información
Facultad de Informática
Universidad Politécnica de Valencia
Descargar