plicaciones Distribuidas.
120 minutes.
Indicaciones
Consideraciones: -Si detecta alguna anom:
anomalia mediante un correo electrénico al equipo docente (rpastor@[Link]) inmediatamente despites del
examen (afiada toda la informacién necesaria). Estos comentarios serén de gran importancia ante posibles
reclamaciones. - La prueba consta de un test de 20 preguntas. Para superar la prueba se deberd obtener una
puntuacién minima de 5 puntos. En cada pregunta del test se proponen cuatro respuestas de las cuales s6lo una es
correcta. Unicamente puntuarén las preguntas contestadas. Si la respuesta es correcta la puntuacién ser de 0.5
puntos y si es incorrecta restaré 0.2 puntos.
Pregunta 1.
Indicar cual de las siguientes afirmaciones es cierta.
|. En CORBA IDL se pueden definir de forma expl
a clases de objetos.
II, Se puede implementar un objeto CORBA en un lenguaje no orientado a objetos.
A. Les cierta; Iles tals,
B. es falsa; Iles cierta
C.l es cierta Iles cierta
D. Les falsa; Il es fas.
Pregunta 2.
Indicar cual de las siguientes afirmaciones no es cierta sobre el modelo de objetos distribuidos. Si se considera que
las tres afirmaciones A, By C son ciertas, marque la D
A. Tedes las opciones son ciertas, 0 dos o més son falsas
B, Se puede utilizar una caché local que mantenga el estado de un cenjunto de abjetos RM), puesto que no se podria
‘mantener de ninguna manera la coherencia de los estados de los objetos
C. Se puede buscar el abjeto “més préximo” que proporcione el método que se desea invocar, de tal manera que se mejoran
las prestaciones
D. Alestar distibuids, los objetos se pueden replicar para proporcionar tolerancia afallos
Pregunta 3.
Indicar cual de las siguientes opciones no localizara el servicio "Calculadora” en la maquina [Link] (con una
ip [Link]), suponiendo que se usa el registro RMI esténdar para la localizacién.
B. Naming lookupt'rmi//[Link]/Calculadora’
Naming lookupt'rmis/[Link] 193/Calculadore");
D. Naming lookup("rmi:/[Link] es/Calculadora"
Pregunta 4,
Indicar cual de las siguientes opciones define el argumento que hay que usar en la invocacién del servidor RMI para
indicarle el fichero de politica de seguridad que se desea usar para el propio servidor.
A. -[Link]
8B, -[Link]
C.-[Link]
D. -Djava security, policy
Pregunta 5.
2QUé puertos 0 puertos estén asignados al protocolo DNS?
A Puerto 23, sélo el protocalos TCP
B. Puerto $3, séloel protocolo TCP
C. Puerto 53, protacolos TCP y UDP
D, Puerto 23, protocolos TCP y UDP
Pregunta 6.Suponga que un sistema de componentes distribuidos tiene n componentes (por ejemplo, n computadores) y que
para cada componente, la probabilidad de fallo es p(p<1)-
1
1
public static void main(Stringl] args) {
if ([Link] != 3)
[Link]
("This program requires three command line arguments");
else{
eyt
InetAddress receiverHost = [Link](args[0)):
int receiverPort = [Link](args/1);
String message = args{2]:
7 instantiates a datagram socket for sending the data
DatagramSocket mySocket = new DatagramSocket();
byte[] buffer = [Link]( );
DatagramPacket datagram =
new DatagramPacket(buffer, [Link],receiverHost, receiverPort):
[Link](datagram);
[Link]():
}Mendtry
catch (Exception ex) {
exprintStackTrace( );
}/endelse
}/fend main
}//end class
import [Link].*;
import [Link].*;
ye
* This example illustrates the basic method calls for connectionless
* datagram socket.
* @author M. L. Liu
”
public class Example Receiver {
// An application which receives a message using connectionless
1 datagram socket.
// A command line argument is expected, in order:
1
// Note: the same port number should be specified in the
// command-line arguments for the sender.
public static void main(Stringf] args) {
if ([Link] != 1)
[Link]
("This program requires a command line argument.
else{
int port = [Link](args{O));
final int MAX_LEN = 10;
1 This is the assumed maximum byte length of the
1 datagram to be received.
tyt
DatagramSocket mySocket = new DatagramSocket(port);
/7 instantiates a datagram socket for receiving the data
byte[] buffer = new byte[MAX LEN]:DatagramPacket datagram =
new DatagramPacket(buffer, MAX LEN);
[Link](datagram);
String message = new String(buffer):
[Link] printin(message):
[Link]():
}endtry
catch (Exception ex) {
exprintStackTrace( );
}/endelse
}//end main
}/fend class
A. El mensaje enviado no llega al receptor.
B, El mensaje enviado llega al receptor.
[Link] del resto de las opciones
D. EI mensaje enviado llega al receptor, pero truncado (es decir, con menos caracteres que los que originalmente tenia)
Pregunta 8.
Indicar cual de las siguientes opciones define la clase Java que representa las direcciones de Internet empleadas por
los protocolos TCP y UDP en un programa/aplicacién desarrollado con ese lenguaje.
‘A. DatagramAddress
B, inetAddress
C. Packetaddress
D. Ninguna de las otras opciones es correcta
Pregunta 9.
La comunicacién mediante UDP define una operacién recibe. Indicar el comportamiento por defecto que se
implementa para este tipo de operaci6n.
‘A. Dos o més de las opciones son ciertas, 0 todas son falsas
B, No bloquearte, es posible asociar un suceso a la legada del paquete y ejecutar el manejador de dicho evento, de tal forma
que es posible continuar con la ejecucién del hilo que contiene la sentencia java que implementa recibe
C. Bloqueante, no se continda la ejecucién del hile hasta que se recibe el paquete o he pasado el tiempo indicado con la
sentencia setSoTimeOut
D, Bloqueante, hasta que no se recibe el paquete no se continta la ejecucién independientemente del tempo que pase
Pregunta 10.
Indicar cual de los siguientes métodos de la clase Socket se emplearia en un programa emisor (cliente) orientado a
conexién para poder leer los datos de un programa receptor (servidor).
‘A. Ninguna del resto de las anteriores
B. accept)
C. closed)
D. getinputstreamg
Pregunta 11.
Indicar cual de las siguientes sentencias se puede usar para crear un servidor UDP en Java.
‘A. new DatagramPacketint port)
B, Dos o mas opciones son ciertas, o todas son falsas,
C. new DatagramSocket)
D. new DatagramPacket(byte(] but, int length)
Pregunta 12.
Indicar cual de las siguientes afirmaciones son ciertas, con respecto a los niveles de abstraccién de los paradigmasde computacién distribuida.
|. Elnivel de abstraccién del paradigma de llamada a procedimientos remotos es mas alto que el de invocacién de
‘métodos remotos.
I, Una aplicacién desarrollada con el paradigma cliente servidor escala peor (en el sentide de aumentar la
complejidad de la aplicacién elevando el niimero de participantes, procesos u objetos) que una aplicacién
desarrollada mediante agentes méviles.
‘A Les cierta; Iles falsa
B. es cera; Iles cierta
C. es falsa; ies cierta,
D. es fasa; I! es fas.
Pregunta 13.
En la siguiente figura, se muestra un diagrama de eventos temporales entre tres procesos P1, P2y [Link] una
secuencia de de mensajes mediante operaciones rec F cual de las:
afirmaciones es cierta, si se considera que la operacién enviar() es no bloqueante y la operacién recibir) es
bloqueante.
|. El proceso P3 queda bloqueado en t=1
El proceso P2 sale del estado bloqueado en t=5
@ =
PL
Operacisn
recibir()
Operacién
enviar()
a®
t=8
Ales falsa; il es certa,
B. es falsa; I es falsa,
Coes certa; Iles certsD. Lescierta; Iles falsa
Pregunta 14.
Indicar cual de las siguientes afirmaciones es cierta, en cuanto a la posibilidad de que se genere un interbloqueo
durante la comunicacién entre procesos (usando las operaciones ent
|. Si se emplea una opera
produzca un interbloqueo.
én enviar() bloqueante y una operacién recibir() bloqueante, existe la posibilidad de que
II. Si se emplea una operacién enviar() no bloqueante y una operacién recibir() bloqueante, existe la posibilidad de
que produzca un interbloqueo.
Ales cierta; Iles falsa,
B. es falsa; Il es falsa,
C. les clerta; Iles certa,
D. es falsa; les clerta,
Pregunta 15.
Indicar cual de las siguientes opciones implementa la funcionalidad de transporte del modelo SOA
Al protocolo simple de acceso a objeto (SOAP)
8, El lenguaje de descripcién de servicios Web (WDSL)
C. El servicio de descripcién universal, descubrimiento e integracién (UDD))
D. Ninguna de las opciones es vida
Pregunta 16.
Un documento de dese: mediante un documento WDSL esta compuesto por varias partes. Indicar
cual de las siguientes afirmaciones se corresponden con dichas partes.
‘A. Tipos, mensajes, tipo de puerto, enlace y servicio
8, Interfaz abstracta, enlace concreto ¢ implementacién
[Link] qué, parte como, parte dénde y servicio
D. Ninguna de las otras opciones es valida
Pregunta 17.
El envoltorio SOAP (envelope) se utiliza para proporcionar un mecanismo de identificacién de los contenidos de!
mensaje y para decidir cémo se debe procesar el mensaje. Indicar cual de los siguientes mecanismos se deben
implementar en la cabecera del mensaje SOAP (header) asociada al envoltorio (envelope),
A Seguridad (WS-Security)
B. Dos o mas opciones son ciertas, o todas son falses.
[Link]én del métoda a invocar
. Contenido del mensaje SOAP (Payload)
Pregunta 18,
El modelo para un contexto de nominacién en CORBA es muy parecido al servicio DNS, que proporciona un servicio
de biisquedas de direcciones IP para nombres de host. Indicar cuantos posibles objetos remotos se pueden
referenciar en el grafo de nombres de la figura.
Contexto inicial de nombres Contexto inicial de nombres
Ba
Ss
a9
. Ninguna det resto de opciones es cierta
-Pregunta 19.
Una referencia a objeto remoto en CORBA se denomina IOR (Interoperable Object Reference) y debe poseer toda la
informacién necesaria para localizar el objeto. Decir cual de las siguientes opciones define los distintos campos de
tuna direccién 1OR.
‘A Direccién del host, nombre del puerto y nombre del objeto
B, Direccién del ORB y clave del objeto
[Link] de las otras opciones es correcta
D. Nombre de tip dela interfaz IDLy clave del objeto
Pregunta 20.
Indicar cual de las siguientes afirmaciones es cierta.
|. Un servidor concurrente permite dar servicio a varios clientes de forma simultanea.
i, Para convertir un servidor iterativo en un concurrente se puede emplear una clase que implemente la interface
Runnable y crear un hilo asociado para cada cliente (usando un objeto de la clase que implemente la interface
Runnable) al que se desee dar servicio
Ales falsa; Iles fas.
B. | es falsa; Iles cierta,
[Link] certa; Iles cierta
D. lescierta; Iles falsa