INTRODUCCIÓN - Inicio | Kybelekybele.escet.urjc.es/docencia/HC4GL/2006-2007/Material/Exposici...UML...

18
1 XMI XMI XML Metadata Interchange XML 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ÓN INTRODUCCIÓN 1.INTRODUCCIÓN 1.INTRODUCCIÓN 2. FUNDAMENTOS TEÓRICOS 2. FUNDAMENTOS TEÓRICOS XML XML UML UML MOF MOF 3. XMI (XML METADATA INTERCHANGE) 3. XMI (XML METADATA INTERCHANGE) 3.1.CONCEPTOS 3.1.CONCEPTOS 3.2. ARQUITECTURA DE XMI 3.2. ARQUITECTURA DE XMI 3.3. VENTAJAS Y DESVENTAJAS DE XMI 3.3. VENTAJAS Y DESVENTAJAS DE XMI 3.4. RELACIÓN ENTRE XMI Y LAS HERRAMIENTAS CASE 3.4. RELACIÓN ENTRE XMI Y LAS HERRAMIENTAS CASE 4. CASO PRÁCTICO 4. CASO PRÁCTICO 5. CONCLUSIONES 5. CONCLUSIONES 6. BIBLIOGRAFÍA Y REFERENCIAS 6. BIBLIOGRAFÍA Y REFERENCIAS

Transcript of INTRODUCCIÓN - Inicio | Kybelekybele.escet.urjc.es/docencia/HC4GL/2006-2007/Material/Exposici...UML...

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