P5.3.-Informe RA3 (sobre P5.2)
P5.3 - Informe RA3 sobre el despliegue (WildFly contenedor + Gradle)¶
1. Introducción¶
En la P5.2 desplegaste una API RESTful de Jakarta EE en WildFly dentro de
un contenedor Docker, generando el artefacto con Gradle y verificando el
funcionamiento con navegador y curl.
En esta práctica, vas a consolidar lo aprendido respondiendo a una pregunta por cada criterio de evaluación del RA3 (a-i). La clave no es “contestar por contestar”, sino justificar con evidencias del despliegue que ya hiciste en la P5.2.
2. Objetivos¶
- Relacionar tu despliegue de la P5.2 con los criterios del RA3.
- Explicar configuración, seguridad y pruebas con evidencias verificables.
- Documentar el proceso para que otra persona pueda reproducirlo.
3. Entregables¶
Entrega un documento llamado P5.3-informe-ra3.md (o PDF) que incluya:
- Las respuestas a las 9 preguntas (a-i).
- Evidencias (capturas, logs o salidas de comandos) junto a cada respuesta.
Evidencias mínimas recomendadas
docker psydocker logs- Copia del comando
docker cpdel WAR (o alternativa usada) - URL(s) probadas y salida de
curl - Rutas internas del contenedor cuando apliquen
4. Pasos a seguir¶
4.1. Reúne evidencias de la P5.2¶
Recupera (o vuelve a generar) evidencias de:
- Contenedor WildFly levantado (
docker ps). - Puertos publicados (8080 y 9990).
- Despliegue del WAR (logs de WildFly).
- Pruebas funcionales con navegador y con
curl.
4.2. Estructura tu informe¶
Ordena el informe en 9 apartados, uno por criterio:
- a) ...
- b) ...
- c) ...
- d) ...
- e) ...
- f) ...
- g) ...
- h) ...
- i) ...
5. Ejercicios (1 pregunta por criterio)¶
Responde a una pregunta por criterio. Todas las respuestas deben referirse a tu despliegue de la P5.2 (WildFly en contenedor + Gradle) y aportar evidencias.
a) Componentes y funcionamiento de los servicios del servidor¶
Explica qué componentes/servicios intervienen en tu despliegue de P5.2 y qué papel tiene cada uno (como mínimo: contenedor Docker, WildFly, aplicación WAR, puertos 8080/9990 y endpoint REST). Describe el flujo de una petición desde el cliente hasta tu endpoint.
b) Archivos principales de configuración y bibliotecas compartidas¶
Identifica dentro de WildFly (en el contenedor) el/los archivo(s) de configuración principal(es) que gobiernan el servidor y señala:
- Dónde están (ruta).
- Qué tipo de ajustes podrías tocar ahí para tu despliegue.
Además, explica qué dependencias de tu proyecto se consideran “provided” porque el servidor ya las incluye, y qué ventaja tiene esto.
c) Cooperación con el servidor web (proxy / reverse proxy)¶
En P5.2 accediste directamente a WildFly por localhost:8080. Imagina ahora un
entorno real donde hay un servidor web frontal (por ejemplo, Nginx) delante
de WildFly.
Plantea una configuración de reverse proxy para tu despliegue de P5.2 que:
- Publique la API bajo una ruta clara (por ejemplo
/api/). - No exponga el puerto 9990 hacia fuera.
Incluye un ejemplo de configuración (fragmento) y explica qué cambia respecto a tu despliegue actual.
d) Mecanismos de seguridad del servidor de aplicaciones¶
Indica qué medidas de seguridad aplicaste en P5.2 y qué medidas añadirías para producción (mínimo 4), justificando cada una. Debes cubrir al menos:
- Consola de administración (9990) y credenciales.
- Exposición de puertos.
- Gestión de secretos (usuarios/contraseñas).
- Registro y trazabilidad (logs).
e) Componentes web del servidor de aplicaciones¶
Explica cómo se “engancha” tu aplicación REST a WildFly en P5.2:
- Qué es el WAR y qué contiene a alto nivel.
- Qué significa el contexto/ruta base de la app.
- Qué parte del servidor se encarga de servir la API (contenedor web).
Incluye una URL real de tu práctica y desglósala (host, puerto, contexto, ruta del recurso).
f) Parámetros necesarios para el despliegue¶
Enumera y justifica los parámetros que fueron necesarios en tu despliegue de P5.2 (mínimo 5), por ejemplo:
- Parámetros de
docker run(nombre, puertos, etc.). - Nombre del WAR y ruta de despliegue.
- Variables o ajustes del build (Gradle).
Explica qué pasaría si uno de esos parámetros estuviera mal.
g) Pruebas de funcionamiento y rendimiento¶
Describe qué pruebas funcionales hiciste en P5.2 y aporta evidencias.
Además, ejecuta una prueba de rendimiento básica (elige una):
ab(ApacheBench)heywrk
Incluye el comando utilizado, el endpoint probado y un breve análisis del resultado (latencia, peticiones/segundo o errores).
h) Documentación de administración y recomendaciones¶
Redacta una mini-guía de administración para tu despliegue de P5.2 que incluya:
- Cómo levantar WildFly.
- Cómo desplegar una nueva versión del WAR.
- Cómo comprobar el estado (logs y endpoint de prueba).
- Recomendaciones para evitar errores comunes.
Debe ser reproducible para otra persona del equipo.
i) Virtualización, nube o contenedores en el despliegue¶
Explica por qué el uso de contenedores en P5.2 mejora el despliegue y la reproducibilidad. Después, plantea dos mejoras orientadas a “producción” relacionadas con contenedores (por ejemplo, volúmenes, healthchecks, limitación de recursos, redes, etc.) y cómo las aplicarías.