Está en la página 1de 10

IEIEne22Acto1-res-1.

pdf

LuisValls

Integración e interoperabilidad

4º Grado en Ingeniería Informática

Escuela Técnica Superior de Ingeniería Informática


Universidad Politécnica de Valencia

Reservados todos los derechos.


No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Integración e Interoperabilidad
Evaluación Teoría. Acto 1.
14-01-2022 ETSInf-UPV

Nombre:_____________________________________________________ Grupo:________

Cuestiones (5 puntos) Tiempo: 2 horas

1. (1.5 puntos) Explica qué es la heterogeneidad semántica, y aporta tres ejemplos de la misma.

La heterogeneidad semántica es el conjunto de diferencias entre elementos de dos o más esquemas, que se
manifiesta de formas muy diversas, como por ejemplo:
- el uso de diferentes nombres para propiedades similares: autor, autor, auteur…
- el uso de diferentes formatos para una determinada propiedad: 14/01/2022, 2022/01/14, 14 de enero de 2022…
- el uso de diferentes valores para representar la misma entidad: Universitat Politècnica de València, UPV, …

La heterogeneidad semántica es, junto al acceso a los datos, la principal dificultad a solventar en cualquier
proyecto de integración. Para subsanarla se deben definir las correspondencias entre esquemas que se
conocen como mappings semánticos.

Explica por qué se dice que una página Web es una fuente de datos semiestructurada, y qué técnica o
2.(1 punto)
técnicas de extracción se puede emplear para obtener los datos a partir de ella en un caso de integración.

Se dice que es semiestructurada porque, pese a tratarse de un documento estructurado mediante elementos
de HTML, en ocasiones dicha estructura no se corresponde con la estructura real de la información que se
quiere mostrar. Es el caso típico de una tabla (véase el problema 2 de este examen), que, pese a contener
datos como nombre, apellido, etc., en el código HTML aparecen simplemente como divisiones de una tabla, sin
ninguna etiqueta que indique de qué se trata cada valor.

En general, para extraer la información buscada de una página Web se construye un wrapper que sepa extraer
los datos de la posición concreta del árbol HTML en que se encuentran, y los estructure en forma de tupla, o
de documento XML o JSON, u otro formato estructurado. Dicho wrapper puede realizarse desde cero, o
emplear para ello una librería como Selenium.

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5237355
Integración e Interoperabilidad
Evaluación Teoría. Acto 1.
14-01-2022 ETSInf-UPV

3. (1.5 puntos) Explica en qué consiste el llamado “triángulo SOA”, y describe su funcionamiento
El triángulo SOA es la base de la arquitectura orientada a servicios. Consta de tres componentes: un proveedor
de servicios, un cliente que busca servicios, y un registro de servicios. Cuando un proveedor desarrolla un
nuevo servicio, puede registrarlo en el registro, donde deposita metadatos relevantes para el uso del mismo,
como puede ser una descripción, coste, instrucciones para su invocación, etc. Cuando un cliente está buscando
un servicio, puede realizar la búsqueda en el registro, y cuando se encuentra el servicio buscado, se invoca
directamente en el proveedor.

4.(1 punto)
¿Por qué los buscadores actuales no son capaces de encontrar información en la Web que, sin
embargo, sí está presente? ¿Por qué los datos enlazados pueden ser la solución?

Porque la Web actual es una Web de documentos, no de datos, y los documentos, aunque contengan datos, estos
no son procesados por los buscadores actuales, basados en aspectos sintácticos más que semánticos. Por
ejemplo, como decíamos antes, las técnicas clásicas de recuperación de información en la web no son capaces
de entender la semántica de una tabla HTML como la del problema 2.
Los datos enlazados son el camino propuesto por el W3C para crear una nueva Web en la cual se publiquen
datos, no documentos, y datos que pueden enlazarse con otros datos, de manera que esa nueva Web pueda
convertirse en una gran base de datos que puede ser interrogada mediante un lenguaje de consulta (SPARQL).

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5237355
Integración e Interoperabilidad
Evaluación Teoría. Acto 1.
14-01-2022 ETSInf-UPV

Problema 1 (2.5 puntos)

La proliferación de aplicaciones especializadas en música (Spotify, Apple Music, Amazon Music,


etc.) ha ampliado notablemente la oferta existente hace unos años, abriendo la puerta a posibles
ofertas que provoquen movimientos frecuentes de clientes de unas plataformas a otras. Esto,
que aparentemente es ventajoso para los usuarios, en tanto en cuanto les puede suponer un
ahorro en las cuotas de suscripción, puede también presentar problemas. En particular, la
migración de listas de reproducción es un requisito muy común que, sin embargo, no todas las
plataformas ofrecen para no facilitar la huida de sus usuarios. Por ello, hay aplicaciones, como
Soundiiz, TuneMyMusic, y otras, que se han especializado en la migración de las listas. En una
aplicación de este tipo, un usuario proporciona sus credenciales en la plataforma origen y
destino, y un proceso automático “mueve” las listas de una a otra sin intervención adicional por
parte del usuario.

Si tuvieses que implementar una herramienta de ese tipo:


1. (1 punto) Dibuja la arquitectura del entorno de transformación que escogerías en los casos
siguientes, discutiendo la conveniencia o no de emplear un almacén de datos:
a. Cuando se trata de una herramienta especializada en solo dos plataformas (e.g., de
Spotify a Apple Music)

En este caso, debería definirse un mapping para cada sentido de la conversión. Dado
que se trata de un proyecto de migración de datos, no parece que un almacén de datos
sea necesario, pues no se van a realizar consultas más allá de la conversoión.

b. Cuando se trata de una herramienta multi-plataforma que permita convertir de una


a cualquier otra (e.g. Spotify, Apple Music, Tidal, …).

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5237355
Integración e Interoperabilidad
Evaluación Teoría. Acto 1.
14-01-2022 ETSInf-UPV

En este caso, una arquitectura como la del apartado anterior llevaría a :

que, como puede verse, es de gran complejidad. Una alternativa que reduce el número
de enlaces podría buscarse por medio de un modelo intermedio, al que se convierta
cada plataforma, y desde el que se pueda convertir a cualquier otra:

El modelo intermedio podría ser un nuevo modelo, o se podría utilizar una plataforma
como pivote, evitando dos mappings más.
En este caso, tampoco parece que tenga demasiado sentido utilizar un almacén de
datos, pues una vez más se trata de procesos de migración, más que de integración de
datos.

2. (1.5 puntos) Explica cómo implementarías las transformaciones en los casos siguientes:

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5237355
Integración e Interoperabilidad
Evaluación Teoría. Acto 1.
14-01-2022 ETSInf-UPV

a. Las plataformas ofrecen API públicas


Si se dispone de API, el proceso consiste en generar las llamadas adecuadas para
identificarse en ambas plataformas, obtener las playlists de la plataforma origen, y a
partir de ellas realizar la transformación e inserción en la plataforma destino.

b. Una o más plataformas no ofrecen API públicas


Si alguna plataforma no ofrece API pública, podría extraerse las playlists desarrollando
un wrapper o scrapper de la versión Web de las plataformas usando una librería como
Selenium.

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5237355
Integración e Interoperabilidad
Evaluación Teoría. Acto 1.
14-01-2022 ETSInf-UPV

Problema 2 (2.5 puntos)

El ANEXO I muestra un documento XML que describe el modelo organizacional de una empresa.
Sobre dicho documento, se pide:
1. (1 punto) Escribe el resultado de las siguientes expresiones XPATH. Si piensas que alguna de
ellas no devuelve nada, ponlo explícitamente:
i. //zip <zip>29213</zip>
ii. //Zip nada
iii. //Person[PhoneExt=”345”]/EMail <EMail>l.king@nanonull.com</EMail>
iv. /OrgChart/Office/PhoneExt nada
v. //Person/parent::Department/Name
<Name>Administration</Name>
<Name>Engineering</Name>
<Name>IT & Technical Support</Name>

2. (0,5 puntos) Escribe la expresión XPATH que obtiene el nombre del Departamento en el cual
trabaja un empleado apellidado King //Person[Last="King"]/parent::Department/Name
3. (1 punto) Escribe el código XQuery que genere una tabla HTML con nombre, apellido, email
y departamento de los empleados de la organización, ordenada por departamento. La tabla debe
llevar encabezado.
<html>
<head>
<title> lista de empleados por departamento</title>
</head>
<body>
<table>
<tr>
<th>Nombre></th><th>Apellido</th><th>Email</th><th>Department</th>
</tr>
{
for $x in doc("ex1.xml")//Person
order by $x/../Name
return
<tr><td>{data($x/First)}</td><td>{data($x/Last)}</td><td>{data($x/Email)}</td><td>{data(
$x/../Name)}</td></tr>
}
</table>

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5237355
Integración e Interoperabilidad
Evaluación Teoría. Acto 1.
14-01-2022 ETSInf-UPV
</body>
</html>

Notas:
- las expresiones XPATH empleadas pueden ser distintas a las empleadas en este ejemplo, siempre y cuando la
navegación se realice correctamente.
- la expresión $x/../Name tiene el mismo resultado que $x/parent::Department/Name

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5237355
Integración e Interoperabilidad
Evaluación Teoría. Acto 1.
14-01-2022 ETSInf-UPV
ANEXO I (Organization.xml)

<?xml version="1.0" encoding="UTF-8"?>


<OrgChart>
<CompanyLogo href="nanonull.gif"/>
<Name>Organization Chart</Name>
<Office>
<Name>Nanonull, Inc.</Name>
<Established>1992-04-01</Established>
<Desc>
<para>The company was established in Vereno, in 1995 and is privately held. </para>
<para>
Due to the fact that nanoelectronic software components are so small that nobody can see it the company is not well known to
the public.</para>
</Desc>
<Address>
<street>119 Oakstreet, Suite 4876</street>
<city>Vereno</city>
<state>DC</state>
<zip>29213</zip>
</Address>
<Phone>+1 (321) 555 5155</Phone>
<Fax>+1 (321) 555 5155 - 9</Fax>
<EMail>office@nanonull.com</EMail>
<Department>
<Name>Administration</Name>
<Person>
<First>Vernon</First>
<Last>Callaby</Last>
<Title>Office Manager</Title>
<PhoneExt>582</PhoneExt>
<EMail>v.callaby@nanonull.com</EMail>
</Person>
<Person>
<First>Loby</First>
<Last>Matise</Last>
<Title>Accounting Manager</Title>
<PhoneExt>963</PhoneExt>
<EMail>l.matise@nanonull.com</EMail>
</Person>
</Department>
<Department>
<Name>Engineering</Name>
<Person>
<First>Fred</First>
<Last>Landis</Last>
<Title>Program Manager</Title>
<PhoneExt>951</PhoneExt>
<EMail>f.landis@nanonull.com</EMail>
</Person>
<Person>
<First>Michelle</First>

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5237355
Integración e Interoperabilidad
Evaluación Teoría. Acto 1.
14-01-2022 ETSInf-UPV
<Last>Butler</Last>
<Title>Software Engineer</Title>
<PhoneExt>654</PhoneExt>
<EMail>m.landis@nanonull.com</EMail>
</Person>
<Person>
<First>Ted</First>
<Last>Little</Last>
<Title>Software Engineer</Title>
<PhoneExt>852</PhoneExt>
<EMail>t.little@nanonull.com</EMail>
</Person>
<Person>
<First>Paul</First>
<Last>Smith</Last>
<Title>Software Engineer</Title>
<PhoneExt>334</PhoneExt>
<EMail>p.smith@nanonull.com</EMail>
</Person>
</Department>
<Department>
<Name>IT &amp; Technical Support</Name>
<Person>
<First>Alex</First>
<Last>Martin</Last>
<Title>IT Manager</Title>
<PhoneExt>778</PhoneExt>
<EMail>a.martin@nanonull.com</EMail>
</Person>
<Person>
<First>Jessica</First>
<Last>Bander</Last>
<Title>Support Engineer</Title>
<PhoneExt>241</PhoneExt>
<EMail>j.band@nanonull.com</EMail>
</Person>
<Person>
<First>Lui</First>
<Last>King</Last>
<Title>Support Engineer</Title>
<PhoneExt>345</PhoneExt>
<EMail>l.king@nanonull.com</EMail>
</Person>
</Department>
</Office>
</OrgChart>

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5237355

También podría gustarte