DAW Febrero2013
DAW Febrero2013
DAW Febrero2013
INSTRUCCIONES:
La puntuación total del examen será de 10 puntos. Parte teórica: 6 puntos. Parte Práctica: 4 puntos.
Cada pregunta del examen teórico puntúa 0,2 puntos. Cada dos preguntas mal quita una bien.
CUESTIONES TEÓRICAS:
2. Si consideramos los componentes de la arquitectura web, podemos afirmar que Tomcat, está
encuadrado en:
a. Base de datos.
b. Servidor de aplicaciones Web.
c. Clientes de servicio Web.
d. Sistema operativo.
3. Para probar el servlet, una vez arrancado el servidor Tomcat, abrimos un navegador web, en el
cual escribiríamos una URL con el siguiente formato:
a. http://{address}:{port}/{servletName}
b. http://{port}:{address}/{servletName}
c. http://{address}:{servletName}/{port}
d. http://{servletName}:{port}/{address}
4. Un descriptor de despliegue:
a. Es un único archivo.
b. Tiene formato XML.
c. Describe las características de despliegue de una aplicación web.
d. Todas son correctas.
6. Los middlewares actúan como elementos conectores encargados de distribuir la aplicación web...
a. De forma horizontal mediante un balanceador software.
b. De forma vertical mediante un balanceador hardware ftp.
c. De forma horizontal mediante un balanceador hardware http.
d. De forma vertical distribuyendo las capas de la aplicación en diferentes máquinas.
9. Los dispositivos que, respondiendo únicamente a algoritmos de reparto de carga (Round Robin, LRU,
etc.), redireccionan una petición http del usuario a la máquina que, según dicho algoritmo, convenga
que se haga cargo de la petición son:
a. Balanceadores software
b. Balanceadores http
c. Balanceadores hardware
d. Balanceadores localhosters ftp
13. Completa los huecos de las siguientes frases con las palabras adecuadas. Las aplicaciones web
emplean páginas dinámicas, éstas se ejecutan en un servidor web y se muestran en el navegador de
un equipo cliente que es el que ha realizado previamente la solicitud. Cuando una página web llega al
navegador, es posible que también incluya algún programa o fragmento de código que se deba ejecutar.
Ese código, normalmente en lenguaje JavaScript, lo ejecutará el propio navegador.
14. En un host virtual, encontramos que se atenderán peticiones por cualquier interfaz de red y a través del
puerto 80 con:
a. <VirtualHost *:??>
b. <VirtualHost *:80>
c. <VirtualHost 192.168.200.0:80>
d. <VirtualHost *:*>
16. Si queremos acceder a una aplicación, llamada laweb22, que se está ejecutando en un servidor
Tomcat, desde el propio equipo, tendríamos que teclear en el navegador:
a. http://localhost:8080
b. http://localhost:80/laweb22
c. http://localhost:8080/laweb22
d. http://localhost:8080/tomcat
17. Si al acceder a una página web no es necesaria la intervención de código en el lado del servidor o en el
lado del cliente, entonces entenderemos que la página es
a. Estable.
b. Dinámica.
c. Movible.
d. Xml.
18. Los ataques que suele recibir una aplicación web se pueden centrar en varios objetivos, señala cuáles
de los siguientes podrían ser:
a. Ataques a la computadora del usuario (cliente).
b. Ataques al servidor.
c. Ataques al flujo de información entre cliente y servidor.
d. Todos los anteriores son correctos.
19. En la estructura de directorios que forman una aplicación web, el directorio que contiene el fichero
web.xml es:
a. WEB-INF
b. raíz
c. lib
d. classes
20. El método quizás más sencillo para desplegar una aplicación que se utiliza durante la etapa de
desarrollo, es copiar la carpeta correspondiente a la aplicación en la carpeta $CATALINA_HOME/
teniendo en cuenta que la variable $CATALINA_HOME es la ruta de los scripts que emplea Tomcat.
a. web.xml
b. index
c. webapps
d. classes
22. Apache-Ant es una herramienta que se usa en programación para la realización de tareas mecánicas y
repetitivas, posee la ventaja de no depender de los comandos shell de cada sistema operativo, ya que
se basa en archivos de configuración:
a. XML.
b. HTML.
c. ANT.
d. ZIP.
24. En Tomcat el motor JSP encargado de compilar las páginas JSP, en código java, en servlets que
puedan ser manejados por Catalina se denomina:
a. Jasper.
b. Coyote.
c. RoadRunner.
d. Catalina.
25. La inyección de comandos SQL
a. Consiste en identificar, en todo momento, quién es el usuario que está accediendo.
b. Es lo mismo que autenticación con certificados.
c. Es una técnica para explotar aplicaciones web que no validan la información suministrada
por el cliente para generar consultas SQL peligrosas.
d. Consiste en la validación de entrada SQL.
27. Señala qué característica es falsa acerca del servidor de aplicaciones JBoss.
a. Es de código abierto.
b. Está implementado en su totalidad en Java.
c. Es únicamente un "EJB Container".
d. Funciona únicamente en servidores Microsoft Windows.
30. Sobre los tipos MIME, DefaultType text/plain significa que cuando el navegador web solicita y recibe ese
archivo como respuesta:
a. Desplegará el contenido como un archivo de texto.
b. Desplegará el contenido como un archivo HTML.
c. Desplegará el contenido como un archivo de imagen gif.
d. Desplegará el contenido como un archivo de vídeo mov.
CUESTIONES PRÁCTICAS:
Suponiendo que dispones de una máquina que cuenta con un sistema operativo Linux recientemente
actualizado, esta máquina tiene el entorno de red configurado y, además, dispones de conexión a Internet.
Además, estás trabajando con la cuenta del usuario root.
1. Explica qué hace cada una de las instrucciones siguientes. (0,9 puntos)
• #/etc/init.d/apache2 status
• #/etc/init.d/apache2 restart
Estoy cambiando el puerto por defecto por el cual está escuchando el virtualhost en Apache,
pasándolo al puerto 82
3. Si quiero instalar Tomcat, explica para qué sirve hacer: (0,9 puntos)
Para instalar cualquier versión de Tomcat es necesario tener instalado JDK (Kit de desarrollo de
Java), para buscar el paquete ejecuto esa instrucción.
Sirven para crear una variable de entorno, para indicar en donde se ha instalado y añadir a la
variable PATH el directorio en donde se encuentran los archivos binarios para que puedan ser
invocados desde cualquier parte, para ello se edita /etc/profile introduciendo esas líneas.
• #source /etc/profile
Actualizamos las variables de entorno mediante el comando
#catalina start
• http://127.0.0.1:8080
4. Tenemos que configurar un virtualhost basado en nombre, denominado casa, que permita el
acceso de la página web de una empresa en Internet, al directorio del servidor web casa. A
continuación se ponen instrucciones referentes a eso. Explica los pasos que seguirías para
configurar el virtual host. (0,8 puntos)
a2ensite casa
/etc/init.d/apache2 restart
<VirtualHost *:80>
DocumentRoot /var/www/casa
</VirtualHost>
mkdir /var/www/casa
cd /etc/apache2/sites-available
cd /etc/apache2/sites-available
mkdir /var/www/casa
<VirtualHost *:80>
DocumentRoot /var/www/casa
</VirtualHost>
5. Dado el siguiente el fichero de un virtual host, explica para qué sirven los bloques señalados en
negrita: (0,5 puntos)
<VirtualHost *:80>
DocumentRoot /var/www/todo-empresa-tarea-daw02
ServerName www.empresa-tarea-daw02.local
ServerAlias empresa-tarea-daw02.local
<Directory /var/www/todo-empresa-tarea-daw02/videos>
DefaultType video/x-flv
# ForceType video/x-flv
</Directory>
<Directory /var/www/todo-empresa-tarea-daw02/delimitado/>
AllowOverride AuthConfig
Options Indexes FollowSymLinks MultiViews
Order allow,deny
allow from all
</Directory>
SSLEngine on
SSLCertificateFile /etc/apache2/tus-ssl/empresa-tarea-daw02.crt
SSLCertificateKeyFile /etc/apache2/tus-ssl/empresa-tarea-daw02.key
ErrorLog ${APACHE_LOG_DIR}/empresa-tarea-daw02-error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/empresa-tarea-daw02-access.log combined
</VirtualHost>
En un servidor web podemos especificar el tipo MIME por defecto para aquellos archivos que el
servidor no pueda identificar automáticamente como pertenecientes a un tipo concreto, para
aquellos los cuales no se resuelven según su extensión. Para el servidor Apache se utilizan dos
directivas: DefaultType y ForceType. Por tanto estamos configurando para que sea posible la
identificación correcta del vídeo presentación formato flv situado dentro del directorio videos.
En el segundo bloque en negrita, se activa SSL y se indica el certificado digital del servidor Apache
y la clave privada del servidor
El tercer bloque permite registrar todos los errores que encuentre Apache. Con combinedse puede
especificar una gran variedad de cosas, usuario que ha realizado la petición, etc.
6. Dado os dos siguientes fragmentos, en relación a JBoss Application Server, explica qué es lo
que se pretende hacer con dichos fragmentos de código. (0,4 puntos)
Crear el usuario de JBoss que posee y dirige JBoss, se crea un grupo JBoss y un usuario llamado
JBoss al se agrega al grupo creado