Componentes Esenciales y Entornos para el Desarrollo de Aplicaciones Web
Clasificado en Informática
Escrito el en español con un tamaño de 4,5 KB
Elementos Necesarios para Crear una Aplicación Web
Las aplicaciones web necesitan ser implementadas mediante un servidor en Internet.
Hay que tener en cuenta, al hablar de la web, dos puntales fundamentales: el protocolo HTTP y el lenguaje HTML. Mediante HTTP se permite una implementación simple y sencilla de un sistema de comunicaciones que nos permite enviar cualquier tipo de ficheros de una forma fácil, simplificando el funcionamiento del servidor y permitiendo que servidores poco potentes atiendan miles de peticiones y reduzcan los costes de despliegue.
Los elementos que necesitamos configurar son:
- Servidor web / Servidor de aplicaciones web: Es posible añadir módulos al servidor web base para extender su funcionalidad.
- Servidor de base de datos: Incluye la instalación y configuración de la base de datos.
- Controladores/Conectores de base de datos (p. ej., JDBC, ODBC, OLEDB): Necesarios para poder invocar al servidor de base de datos desde el código de las aplicaciones web.
- Entorno de desarrollo (IDE): Software para la edición de código.
- Depurador de código: Herramienta para poder realizar pruebas y encontrar errores en el código.
- Software de máquina virtual (opcional, pero recomendado para aislar entornos).
- Sistema de control de versiones (p. ej., Git): Para gestionar los cambios en el código fuente.
- Software de pruebas (testing): Para automatizar y realizar pruebas funcionales, de carga, etc.
Creación Profesional de Aplicaciones Web: Entornos de Trabajo
Para realizar una aplicación web y desplegarla como un servicio final en Internet, habitualmente se configuran tres entornos de trabajo:
Entorno de Desarrollo (Development)
Generalmente es un entorno local de trabajo, bien sea una máquina física o una máquina virtual. No necesita conexión a Internet obligatoriamente. Al trabajar en equipo, se necesitará exportar dichos entornos locales a entornos virtuales de trabajo compartidos o, más comúnmente, utilizar sistemas de control de versiones de código centralizados (a menudo en la nube) para coordinar el trabajo.
Entorno de Pruebas/Simulación (Staging)
El entorno local no siempre puede simular completamente las condiciones del entorno real en el que se ejecutará la aplicación (diferencias de hardware, software, red, etc.). Por ello, es necesario trabajar en un segundo entorno, llamado Staging, que replica lo más fielmente posible el entorno de producción y que normalmente reside en Internet o en una red accesible similar a la de producción.
Entorno de Producción (Production)
Es el entorno de trabajo final donde la aplicación es accesible por los usuarios finales. Antes de desplegar en producción, es necesario determinar y planificar las necesidades de recursos basándose en estimaciones como el número de usuarios previstos, las transacciones de datos por minuto, los accesos concurrentes, los picos de carga, etc.
Estructura Típica de Directorios en Apache HTTP Server
Una instalación típica del servidor web Apache puede incluir los siguientes directorios importantes:
- bin: Contiene los archivos ejecutables del servidor (httpd, apachectl, etc.).
- cgi-bin: Directorio estándar para almacenar scripts y programas CGI (Common Gateway Interface) que se ejecutan en el lado del servidor.
- error: Almacena páginas de error personalizadas que el servidor muestra para diferentes códigos de estado HTTP (404, 500, etc.).
- htdocs: Directorio raíz por defecto desde donde Apache sirve los archivos web (páginas HTML, imágenes, CSS, JavaScript). El nombre y la ubicación pueden variar según la configuración (a veces es `www` o `public_html`).
- logs: Contiene los archivos de registro (logs) del servidor, como el log de acceso (access_log) y el log de errores (error_log).
- modules: Almacena los módulos cargables (.so en Unix/Linux, .dll en Windows) que extienden la funcionalidad del servidor Apache.