RA1 · verificado

RA1 de Desarrollo Web en Entorno Servidor · DAW

Selecciona las arquitecturas y tecnologías de programación Web en entorno servidor, analizando sus capacidades y características propias.

Comprobar mi dominio con José →

Contenido verificado asociado a este RA

Fundamentos de la Ejecución de Código Web: Cliente vs. Servidor

Esta unidad establece la distinción fundamental entre la ejecución de código en el navegador (cliente) y en el servidor, explorando cómo cada modelo contribuye a la funcionalidad de una aplicación web y las ventajas de la generación dinámica de contenido.

Mecanismos de Ejecución de Código y Servidores de Aplicaciones en Entorno Servidor

Esta unidad analiza cómo los servidores web ejecutan código dinámico mediante distintos mecanismos (CGI, FastCGI, módulos embebidos, servidores de aplicación con protocolo dedicado y servidores embebidos), y explica el papel de los servidores de aplicaciones, sus funcionalidades avanzadas y su integración con los servidores web mediante arquitecturas de proxy inverso.

Lenguajes, Tecnologías y Herramientas de Programación en Entorno Servidor

Esta unidad identifica y caracteriza los principales lenguajes y tecnologías para la programación web en el servidor, así como las herramientas esenciales para el desarrollo, depuración y despliegue de estas aplicaciones.

Conceptos clave

Cliente WebServidor WebEjecución en clienteEjecución en servidorGeneración dinámica de páginasContenido estáticoAPI RESTMotor de plantillasCGIFastCGIMódulo embebido en el servidor webServidor de aplicación con protocolo dedicadoServidor embebidoProxy inversoGestión de sesionesPool de conexionesBalanceo de cargaPHP

Errores que conviene evitar

  • Confundir JavaScript de frontend con JavaScript de backend: El JavaScript que se ejecuta en el navegador es para interactividad de la UI; el JavaScript que se ejecuta en el servidor (Node.js) es para lógica de negocio y acceso a datos. Causa: No entender el contexto de ejecución. Corrección: Identificar claramente dónde se ejecuta el código y qué recursos tiene disponibles en ese entorno.
  • Creer que todo el contenido web es estático o pregenerado: Pensar que cada página HTML existe como un archivo físico en el servidor. Causa: Falta de comprensión sobre cómo los lenguajes de servidor construyen HTML en tiempo real. Corrección: Entender que el servidor puede ensamblar HTML a partir de plantillas y datos antes de enviarlo.
  • Confundir un servidor web con un servidor de aplicaciones: pensar que Apache o Nginx pueden ejecutar directamente código Java EE, Python o PHP sin ningún componente adicional. Causa: no entender la especialización de cada tipo de servidor. Corrección: reconocer que el servidor web gestiona HTTP y estáticos, mientras que el servidor de aplicaciones (o el intérprete embebido/con protocolo dedicado) proporciona el entorno de ejecución de la lógica de negocio.
  • Clasificar como 'módulo embebido' cualquier proceso que ejecute código de aplicación: pensar que uWSGI, Gunicorn o PHP-FPM comparten el mismo espacio de memoria que el servidor web, igual que mod_php. Causa: no distinguir entre integración directa en el proceso (módulo embebido) e integración vía protocolo con un proceso independiente. Corrección: recordar que uWSGI/Gunicorn/PHP-FPM son procesos separados a los que el servidor web reenvía peticiones, ofreciendo mayor aislamiento a costa de una comunicación adicional entre procesos.
  • Desconocer la ineficiencia de CGI puro: usar CGI para aplicaciones de alto tráfico. Causa: falta de conocimiento sobre la sobrecarga de crear un proceso por petición. Corrección: optar por FastCGI, servidores de aplicación con protocolo dedicado o servidores embebidos para mejorar el rendimiento.
  • Elegir un lenguaje/framework sin considerar los requisitos del proyecto: Usar Node.js para una aplicación con cálculos intensivos o Java para un microservicio simple. Causa: Desconocimiento de las fortalezas y debilidades de cada tecnología. Corrección: Analizar el tipo de aplicación (API, CMS, tiempo real), el rendimiento requerido, la escalabilidad y la experiencia del equipo.
  • No usar un gestor de dependencias: Descargar librerías manualmente y copiarlas al proyecto. Causa: Desconocimiento de las buenas prácticas o pereza. Corrección: Siempre usar gestores como npm, pip o Composer para asegurar versiones correctas, facilitar actualizaciones y reproducibilidad del entorno.
  • Ignorar la importancia de un buen IDE y debugger: Intentar depurar con 'print' o 'console.log' en lugar de usar un depurador. Causa: Falta de familiaridad con las herramientas profesionales. Corrección: Invertir tiempo en aprender a usar las funciones avanzadas del IDE y el depurador para aumentar la productividad y la calidad del código.

Qué se evalúa en este RA

CE a

Se han caracterizado y diferenciado los modelos de ejecución de código en el servidor y en el cliente Web.

CE b

Se han reconocido las ventajas que proporciona la generación dinámica de páginas Web y sus diferencias con la inclusión de sentencias de guiones en el interior de las páginas Web.

CE c

Se han identificado los mecanismos de ejecución de código en los servidores Web.

CE d

Se han reconocido las funcionalidades que aportan los servidores de aplicaciones y su integración con los servidores Web.

CE e

Se han identificado y caracterizado los principales lenguajes y tecnologías relacionados con la programación Web en entorno servidor.

CE f

Se han verificado los mecanismos de integración de los lenguajes de marcas con los lenguajes de programación en entorno servidor.

CE g

Se han reconocido y evaluado las herramientas de programación en entorno servidor.

Canal Estudios es un servicio de Skillback S.L. · NIF B2481724 · Barcelona, España
Aviso legal · Privacidad · Cookies · Términos · Atles de Catalunya