arquitecturas distribuidas febrero 2009

Anuncio
ARQUITECTURAS DISTRIBUIDAS
FEBRERO 2009 - EXAMEN DE PROBLEMAS
APELLIDOS:
NOMBRE:
DNI:
1. Dado el siguiente fragmento de HTML3.2, indique si es o no conforme al estándar.
En caso de no ser conforme, enumere cada uno de los errores presentes. (2 puntos)
Notas:
Sólo se considerarán correctas las respuestas acordes a la especificación SGML.
Cualquier respuesta erronea descontará en la puntuación del ejercicio.
<div>
<h1><a href=".">W3C Workshop on the Future of Social Networking</a><br>
Barcelona</h1>
<hr> Contents </hr>
<div>
<ul type="disc">
<li type="square"><a href="http://www.w3.org/Consortium/">About W3C</a></li>
<li><a href="../cfp" alt="CFP link">Call for Participation</a></li>
<li>Report</li>
</ul type="disc">
</div>
1
2. Una empresa de distribución, compuesta por una oficina central y múltiples almacenes, gestiona sus pedidos mediante un sistema distribuido basado en CORBA. Cada
pedido contiene la siguiente información: identificador, número de unidades y dirección de destino. Los pedidos se reparten en furgonetas, que, a su vez, contienen
la siguiente información: matrícula y número máximo admisible de unidades que
puede cargar para repartir (espacio máximo disponible). En la oficina central existe
un objeto remoto que implementa dos funciones pedidos y furgonetas. La primera,
dado un identificador de almacén, devuelve todos los pedidos para dicho almacén.
La segunda, dado un pedido, devuelve una furgoneta con espacio suficiente para el
pedido. Los almacenes implementan los clientes que se conectan a la oficina central
y utilizan el objeto remoto.
Se pide que:
a) Diseñe la interfaz IDL del objeto remoto de la oficina central. (1 punto).
b) Codifique en Java una aplicación CLIENTE que para cada pedido de un almacén en particular obtenga una furgoneta para su reparto y muestre por pantalla
la carga desaprovechada total (diferencia entre unidades del pedido y espacio máximo de la furgoneta). Suponga que ya dispone de una variable con el
identificador de almacén (int almacen) y de una función para imprimir valores
por pantalla (imprimir(int s)). Suponga que la referencia al objeto remoto se
encuentra en un archivo llamado remoto.ref. (1.5 puntos).
3. Un portal web ha ideado un sistema para premiar a los usuarios que más naveguen
por su portal. El sistema consiste en que el portal contabiliza el número de enlaces
del mismo que un usuario ha pinchado/visitado. Cuando el usuario ha superado un
número determinado de visitas (30), se le mostrará un vídeo especial al visitar la
página principal del portal. En ese momento se resetea el número de visitas para ese
usuario y si el usuario vuelve ha superar el número se le muestra un video especial
distinto.
La web utiliza una tabla en una BBDD MySQL para almacenar los enlaces a los
vídeos especiales. La tabla se llama videos y tiene dos campos (numero y URL).
El campo numero indica el número del vídeo especial y sirve para ir mostrándo
nuevos vídeos progresivamente. Es decir, la primera vez que el usuario supere las
visitas (30) se le mostrará el vídeo con número 1, la segunda el vídeo con número
2 y así sucesivamente. El vídeo se muestra con la siguiente cadena “Gracias por su
fidelidad. Pinche aquí para ver contenido adicional:” y a continuación se concatena
el campo URL.
Si el usuario no visita el portal en una semana el número de visitas también se
reseteará, pero no el número de vídeo especial que se le mostrará cuando vuelva a
superar el número de visitas.
El portal no almacena ningún tipo de información de sus usuarios.
a) Implemente con COOKIES y PHP el sistema descrito. Para ello implemente
al menos las siguientes funciones: una función EnlaceVisitado() que se invoca
2
cada vez que el usuario visita un enlace y que incrementará el contador de
visitas de un usuario y una función paginaPrincipal() que se invoca al visitar
la página principal y se encargará de comprobar el número de visitas que el
usuario lleva realizadas y mostrar el vídeo especial en su caso. NO SE LIMITE
A ESCRIBIR CODIGO, EXPLIQUE AL COMIENZO DEL EJERCICIO LA
SOLUCIÓN QUE HA IMPLEMENTADO. (2.5 puntos)
4. Un conocido software de reproducción de música utiliza XML para organizar el
catálogo de música del usuario. En dicho catálogo pueden aparecer canciones, albumes o listas de reproducción. Un ALBUM es un conjunto de canciones y tiene
un nombre asociado, una LISTA es un conjunto de canciones y/o albumes y tiene
un nombre asociado y por cada CANCION se almacena la siguiente información:
Identificador único.
Autor o Grupo.
Título.
Genero (uno) de la siguiente lista: Rock, Pop y Metal.
Lista de canciones relacionadas (si existen) a través del identificador.
Se le pide que:
a) Proporcione un DTD adecuado para contener la información de todo el catálogo multimedia. (1 punto)
b) Instancie un XML que siguiendo el DTD anterior represente un catálogo con
dos canciones relacionadas entre sí (0.5 puntos)
c) Implemente una función en PHP que, dado un fichero XML con un catálogo
musical (musica.xml), devuelva el nombre de la lista de reproducción con más
canciones. (1.5 puntos)
3
Descargar