Está en la página 1de 3

UNIVERSIDAD NACIONAL DE ASUNCIÓN

Facultad Politécnica – Ingeniería en Informática

Lenguajes de Programación III

Trabajo Práctico Final – Web Admin Files


Fecha de Entrega: 4 de Junio de 2011
Profesores: Ing. Jorge Villamayor, Ing. Klaus Pistilli.
Alumnos: , CIs: , Firmas:
Observaciones: Cantidad máxima de alumnos 2. La comprensión de los temas es parte de la evaluación del trabajo práctico.

Tema 1. (60%). Hilos/Procesos, IPC, Demonios y Sockets

Crear un demonio en C, que permita listar los ficheros y directorios que existen dentro de la máquina en
la que se encuentra corriendo. Acotaciones:

a) Debe existir un fichero de configuración del demonio “<daemon>.properties”. Las


configuraciones mínimas necesarias son las siguientes:
o Puerto. Ej.: port=23456
o Usuario. Ej.: user=lp3
o Contraseña. Ej.: password=lp3
o Hilos. Ej.: threads=10
o Timeout (segundos). Ej.: timeout=10
o LogPath (directorio en el que se escribe el log).
Ej.: logpath=/home/lp3/log/
o LogFile (nombre del fichero del log).
Ej.: logfile=<daemon>.log
b) El path del fichero de configuración “.properties” se debe pasar como argumento al
demonio.
c) El demonio debe parsear mínimamente:
o Solicitudes HTTP conteniendo el recurso a listar. Ejemplos:
 GET / HTTP/1.1
 GET /home HTTP/1.1
 GET /proc HTTP/1.1
 GET /var/log HTTP/1.1
o Ficheros a descargar desde el navegador. Ejemplos:
 GET /proc/version HTTP/1.1
 GET /proc/cpuinfo HTTP/1.1
o Descartar solicitudes no admitidas.
d) El demonio debe escribir un LOG de todo lo que se está procesando:
o Solicitudes entrantes
o Solicitudes descartadas
o Respuestas:
 Recursos mostrados
 Recursos descargados
 Etc.
e) El listado que devuelve debe estar formateado en HTML, de manera a que se pueda ver
con un formato enriquecido con un navegador. La respuesta debe ser en HTML porque se
probará desde un navegador Web.

Lenguajes de Programación III TRABAJO PRÁCTICO FINAL – WEB ADMIN FILES 1


Tema 2. (20%). Bash Scripting

Crear un sólo script que implemente las siguientes funcionalidades:


a) Iniciar el demonio: <script_daemon>.sh start
b) Apagar el demonio: <script_daemon>.sh stop
c) Reiniciar el demonio: <script_daemon>.sh restart
d) Recargar archivo de configuración del demonio: <script_daemon>.sh reload
e) Estado actual del demonio (indica si está prendido o apagado, en caso de estar prendido
mostrar el PID): <script_daemon>.sh status

Tema 3. (15%). Aplicación Cliente Socket

Se debe implementar una aplicación cliente socket, que permita conectarse al servidor creado en el
tema 1,

o En C: 10%,
o En Perl: 5%.

Especificaciones:

a) La aplicación debe recibir como argumentos de inicio:


o Dirección del host del servidor,
o Puerto del host del servidor.
b) Una vez iniciada y conectada al servidor, la aplicación debe solicitar al usuario el recurso
deseado del servidor:
o La aplicación debe desplegar el listado de los recursos con identificadores, los
cuales podrán ser utilizados para navegar por el árbol de directorios del
servidor.
o En el caso que el recurso listado sea un archivo, la aplicación debe permitir al
usuario decidir:
 Descarga del Archivo: el archivo debe ser descargado en el directorio
en el que se está corriendo la aplicación. (Directorio de contexto
actual)
 Contenido del Archivo: contenido del archivo debe ser desplegado
en pantalla, y en la posición (“END-OF-FILE”), se debe re-listar el
contenido del directorio de contexto actual que el usuario se
encuentra recorriendo.
o Debe existir una opción para salir de la aplicación en cualquier momento de la
navegación.

Tema 4. (5%). Detalles Estéticos

Estos detalles se aplican directamente sobre el resultado de la respuesta en HTML:

c) Al inicio del reporte:


o Fecha-hora de la máquina.
o Recurso o dirección actual.
d) Implementar el “botón subir un nivel” o “botón atrás”. Puede ser un link o un button.
e) Mostrar cada elemento como un hipervínculo que pueda enviar la solicitud del recurso
seleccionado:
o Directorios: ver el contenido de su sub-directorio.

Lenguajes de Programación III TRABAJO PRÁCTICO FINAL – WEB ADMIN FILES 2


o Ficheros: descargar el fichero y/o mostrar el contenido del mismo.
f) Permitir distintas visiones del listado.
o Solo nombres de los ficheros/directorios. Ej.: ls
o Mostrar detalles generales. Ej.: ls -l
o Mostrar archivos ocultos, como una opción comodín. Ej.: ls -a

Presentación:
 Digital: (www.pol.una.py/educa), y
 Escrita: Código fuente de los Scripts en el formato Paper, utilizando LaTeX, con la
respectiva generación en PDF. En carpeta:
a) Color bordó.
b) Rótulo. Ubicación: Esquina inferior derecha, 2cm. de margen.
c) Este documento de especificación debe estar impreso como carátula del trabajo
(primera página de la carpeta).

Lenguajes de Programación III TRABAJO PRÁCTICO FINAL – WEB ADMIN FILES 3

También podría gustarte