1
XMIXMI
XML Metadata InterchangeXML Metadata Interchange
Sara Lorenzo García.Sara Lorenzo García.
Almudena Peral Rodríguez.Almudena Peral Rodríguez.
Ester Sánchez Jiménez.Ester Sánchez Jiménez.
INTRODUCCIÓNINTRODUCCIÓN
1.INTRODUCCIÓN1.INTRODUCCIÓN2. FUNDAMENTOS TEÓRICOS2. FUNDAMENTOS TEÓRICOS
�� XMLXML�� UMLUML�� MOFMOF
3. XMI (XML METADATA INTERCHANGE)3. XMI (XML METADATA INTERCHANGE)�� 3.1.CONCEPTOS3.1.CONCEPTOS�� 3.2. ARQUITECTURA DE XMI3.2. ARQUITECTURA DE XMI�� 3.3. VENTAJAS Y DESVENTAJAS DE XMI3.3. VENTAJAS Y DESVENTAJAS DE XMI�� 3.4. RELACIÓN ENTRE XMI Y LAS HERRAMIENTAS CASE3.4. RELACIÓN ENTRE XMI Y LAS HERRAMIENTAS CASE
4. CASO PRÁCTICO4. CASO PRÁCTICO5. CONCLUSIONES5. CONCLUSIONES6. BIBLIOGRAFÍA Y REFERENCIAS6. BIBLIOGRAFÍA Y REFERENCIAS
2
Fundamentos teóricosFundamentos teóricos
XML, UML, MOFXML, UML, MOF
XMI integra tres estándares.
-XML
-UML
-MOF
UML
MOFXML
XMI
2. FUNDAMENTOS TEÓRICOS2. FUNDAMENTOS TEÓRICOS
3
• Es un lenguaje de marcado.
• Se trata de una tecnología que permite la compatibilidad entre sistemas para compartir información de manera segura, fiable y fácil.
• Todo documento XML tiene un documento DTD (Document Type Definition) cuya función es la descripción de un formato de datos, para usar un formato común.
XMLXML ((eXtensibleeXtensible MarkupMarkup LanguageLanguage))
XMLXML ((eXtensibleeXtensible MarkupMarkup LanguageLanguage))
Ejemplo de un documento XMLEjemplo de un documento XML
<?xml version=”1.0”?>
<!DOCTYPE MENSAJE SYSTEM “mensaje.dtd”><!-- Ejemplo de un documento XML --><mensaje>
<remitente>
<nombre>Manuel López</nombre><mail>[email protected]</mail>
</remitente>
<destinatario>
<nombre>Carlos Martín</nombre><mail>[email protected]</mail>
</destinatario>
<asunto>Hola Carlos</asunto> <texto>
<parrafo> ¿Te parece bien que quedemos este sábado?</parrafo>
</texto>
</mensaje>
Prólogo
Cuerpo
4
UMLUML ((UnifiedUnified ModelingModeling LanguageLanguage))
• Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema software.
• Tiene tres bloques básicos de construcción:- Elementos- Relaciones- Diagramas
UMLUML ((UnifiedUnified ModelingModeling LanguageLanguage))
• Elementos: son las unidades básicas y se clasifican en:
- Estructurales
5
UMLUML ((UnifiedUnified ModelingModeling LanguageLanguage))
- De comportamiento
- De agrupación - De notación
UMLUML ((UnifiedUnified ModelingModeling LanguageLanguage))
• Relaciones: abstracciones que actúan de unión entre los elementos
6
UMLUML ((UnifiedUnified ModelingModeling LanguageLanguage))
• Diagramas: representación gráfica de una colección de elementos de modelado.
- Estáticos
� Diagrama de clases
* Diagrama de objetos
UMLUML ((UnifiedUnified ModelingModeling LanguageLanguage))
Diagrama de componentes �
� Diagrama de despliegue
7
UMLUML ((UnifiedUnified ModelingModeling LanguageLanguage))
� Diagrama de caso de uso
- Dinámicos
Diagrama de colaboración �
UMLUML ((UnifiedUnified ModelingModeling LanguageLanguage))
� Diagrama de secuencia
Diagrama de estados �
8
UMLUML ((UnifiedUnified ModelingModeling LanguageLanguage))
Diagrama de actividades �
MOF MOF (Meta(Meta--ObjectObject FacilityFacility))
• Se trata de un estándar que define un conjunto de constructores que pueden ser usados para definir lenguajes de modelado.
• La semántica de MOF define generalmente servicios para el repositorio de metadatos, para así permitir la construcción, la localización, la actualización, etc..
9
MOF MOF (Meta(Meta--ObjectObject FacilityFacility))
MOF tiene una arquitectura conceptual de cuatro niveles de abstracción.
Nivel de metaNivel de meta--metamodelometamodeloM3M344
Nivel de Nivel de metamodelometamodeloM2M233
Nivel de modeloNivel de modeloM1M122
Nivel de datosNivel de datosM0M011
DescripciónDescripciónNombreNombreNivelNivel
3. XMI 3. XMI (XML Metadata Interchange)(XML Metadata Interchange)
3.1. Conceptos3.1. Conceptos
�� 3.1.1. Elementos3.1.1. Elementos
3.2. Arquitectura de XMI3.2. Arquitectura de XMI
3.3. Ventajas y desventajas de XMI3.3. Ventajas y desventajas de XMI
3.4. Relación entre XMI con las h. CASE3.4. Relación entre XMI con las h. CASE
10
3.1. Conceptos3.1. Conceptos
¿Qué es XMI?¿Qué es XMI?
�� Es un formato de intercambio de Es un formato de intercambio de metadatosmetadatosen XML.en XML.
¿Qué son ¿Qué son metadatosmetadatos??
�� Información que almacena información.Información que almacena información.
3.1. Conceptos3.1. Conceptos
¿Cuál es el objetivo del XMI?¿Cuál es el objetivo del XMI?
Intercambio de metainformación
11
3.1. Conceptos3.1. Conceptos
3.1. Conceptos3.1. ConceptosEs un consorcio internacional que produce estándares
• HTML• CSS• XML
Es un consorcio dedicado al cuidado y el establecimiento de diversos estándares de tecnologías orientadas a objetos
• UML• XMI• CORBA
¿ DTD ?¿ DTD ? DocumentDocument TypeType DefinitionDefinition..
12
3.1. Conceptos3.1. Conceptos
3.1.1. Elementos3.1.1. Elementos
XmiClass
Log2xmi
XmiDocument
XmiModel
XmiClassifierRole XmiMessage XmiCallAction XmiOperation
0 .. *
3.1. Conceptos3.1. ConceptosEjemploEjemplo<XMI version="1.1" xmlns:UML="org.omg/UML1.3">… (header)<XMI.content><UML:Class name="Departamento"
xmi.id="Departamento"/><UML:Class name="Instructor"
xmi.id="Instructor"/><UML:Class name="Profesor"
xmi.id="Profesor“ generalization="Instructor"/><UML:Class name="Catedrático"
xmi.id="Catedrático" generalization="Instructor"/><UML:Class name="Monitor"
xmi.id="Monitor“ generalization="Instructor"/><UML:Association><UML:Association.connection><UML:AssociationEnd name="instructores“
type="Instructor"/><UML:AssociationEnd name="miembroDe“
type="Departamento"/></UML:Association.connection></UML:Association></XMI.content></XMI>
13
3.2. Arquitectura de XMI3.2. Arquitectura de XMI
La arquitectura de XMI simplifica la comunicación entre La arquitectura de XMI simplifica la comunicación entre diferentes aplicaciones y potencia la reutilización de diferentes aplicaciones y potencia la reutilización de objetos y componentes.objetos y componentes.
La comunicación entre La comunicación entre nn aplicaciones en un sistema que aplicaciones en un sistema que usa XMI utiliza n conexiones entre dichas aplicaciones, usa XMI utiliza n conexiones entre dichas aplicaciones, mientras que si no usara XMI serian necesarias muchas mientras que si no usara XMI serian necesarias muchas mas conexiones.mas conexiones.
3.2. Arquitectura de XMI3.2. Arquitectura de XMI
XMIXMIDEVEL REP
REPDATA
SOFTDESApp1 App2
App3
App4App5
App6
Sistema que usa XMISistema que usa XMI Sistema que Sistema que NONO usa XMIusa XMI
Se puede observar como el sistema que usa XMI presenta un número
menor de conexiones que sin usarlo para implementar las mismas conexiones.
6 aplicaciones 6 conexiones 6 aplicaciones 30 conexiones6 aplicaciones 30 conexiones
14
3.2. Arquitectura de XMI3.2. Arquitectura de XMI
Niveles que integran XMI:
Herramientas, Aplicaciones, Repositorios, RegistrosHerramientas, Aplicaciones, Repositorios, Registros
MetaModelosMetaModelos (UML, CWM … )(UML, CWM … )
XML Metadata Interchange (XMI)XML Metadata Interchange (XMI)
Meta Meta ObjectObject FacilityFacility (MOF)(MOF)
CORBA (CORBA (ObjectObject ServicesServices))
InternetInternet CORBACORBACORBA/COM CORBA/COM InterWorkingInterWorking
JAVAJAVA
3.3. Ventajas y desventajas de XMI3.3. Ventajas y desventajas de XMI
VentajasVentajas
� Trabaja con Internet y estándares industriales como:XML, HTML, UML, MOF,etc.
� Un único formato de archivo para todas las herramientas CASE.
� Permite el intercambio de objetos entre aplicaciones.
� Reutilización de objetos y componentes.
� Método sencillo de empaquetar información y metainformación
� Existen gran cantidad de herramientas que usen XMI:
15
3.3. Ventajas y desventajas de XMI3.3. Ventajas y desventajas de XMI
DesventajasDesventajas
No permite recoger datos gráficos.No permite recoger datos gráficos.
Incompatibilidad entre diferentes versiones. Incompatibilidad entre diferentes versiones.
Algunas herramientas únicamente importan o exportan. Algunas herramientas únicamente importan o exportan.
3.4.XMI y Herramientas CASE3.4.XMI y Herramientas CASE
HC: aplicaciones destinadas a automatizar el ciclo de vida del HC: aplicaciones destinadas a automatizar el ciclo de vida del desarrollo del software.desarrollo del software.Características comunes de las Herramientas CASE:Características comunes de las Herramientas CASE:�� Soportan los 9 tipos de diagramas UML.Soportan los 9 tipos de diagramas UML.�� Generación de código en diversos lenguajes.Generación de código en diversos lenguajes.�� Optimización de código.Optimización de código.�� Generación de modelos y documentación en formato Generación de modelos y documentación en formato HTML HTML y y XMI.XMI.
�� Compatibilidad e integración con otras HC.Compatibilidad e integración con otras HC.
16
4.CASO PRÁCTICO.4.CASO PRÁCTICO.
Herramienta para generar el diagrama UML: Visual Paradigm for UML. Visual Paradigm for UML.
Diagrama UML: Diagrama de caso de uso.Diagrama de caso de uso.
�� Actores:Actores:Dependiente.Dependiente.Administrador.Administrador.Encargado.Encargado.
�� Casos de Casos de Uso:Uso:Iniciar Sesión.Iniciar Sesión.Realizar Venta.Realizar Venta.Encender Punto Venta.Encender Punto Venta.Gestión Dependientes.Gestión Dependientes.
�� Asociaciones:Asociaciones:Dependiente Dependiente Iniciar Sesión y Realizar Venta.Iniciar Sesión y Realizar Venta.AdministradorAdministrador Gestión Dependientes.Gestión Dependientes.EncargadoEncargado Encender Punto Venta.Encender Punto Venta.
4.CASO PRÁCTICO.4.CASO PRÁCTICO.
Implementación del diagrama de casos de uso en la herramienta Visual Paradigm for UML.
17
4.CASO PRÁCTICO.4.CASO PRÁCTICO.
Guardar el proyecto con su formato original.
Exportar el proyecto en formato .xmi:
4.CASO PRÁCTICO.4.CASO PRÁCTICO.
Utilizamos otra herramienta como Altova UModel para importar el archivo xmi.
Por último observamos que al importar un .xmi no se recogen datos gráficos, pero todos los actores, objetos casos de uso y demás datos se importan correctamente.
18
5.CONCLUSIONES.5.CONCLUSIONES.
�� XMI facilita el intercambio de información y XMI facilita el intercambio de información y metainformación.metainformación.
�� Permite el trabajo distribuido.Permite el trabajo distribuido.
�� Independencia a la hora de decidir la herramienta, el Independencia a la hora de decidir la herramienta, el lenguaje o la tecnología que utilizar al desarrollar lenguaje o la tecnología que utilizar al desarrollar swsw..
�� Simplifica la comunicación entre aplicaciones.Simplifica la comunicación entre aplicaciones.
�� XMI es una tecnología nueva por lo que aún no se XMI es una tecnología nueva por lo que aún no se dispone de una información ampliamente detallada.dispone de una información ampliamente detallada.
PREGUNTASPREGUNTAS
Top Related