Arquitectura de una aplicación web
Summary
TLDREn este vídeo, Sergio Luján Mora, profesor de la Universidad de Alicante, explica la arquitectura de aplicaciones web en el contexto del curso 'Introducción al desarrollo web'. Aborda la arquitectura cliente/servidor, destacando la separación de funciones y la distribución de tareas entre clientes y servidores. Explica cómo la introducción de JavaScript en 1995 y AJAX en 2005 transformó el procesamiento del lado del cliente. También menciona diferentes arquitecturas, desde 'todo en un servidor' hasta granjas de servidores y la computación en la nube, adaptándose a la escala de usuarios. Mora invita a los interesados a explorar más sobre este tema en su libro y en su sitio web.
Takeaways
- 👨🏫 Sergio Luján Mora es profesor de informática en la Universidad de Alicante y presenta un video sobre la arquitectura de aplicaciones web.
- 🌐 Las aplicaciones web generalmente siguen una arquitectura cliente/servidor, donde el navegador web actúa como cliente y el servidor web como servidor.
- 📚 En su libro 'Programación de aplicaciones web', se explica en detalle la arquitectura cliente/servidor y se puede descargar gratuitamente en formato PDF.
- 💡 La separación entre cliente y servidor es lógica, no necesariamente física, y puede haber múltiples clientes y servidores en una red.
- 🔄 La arquitectura cliente/servidor es ideal para aplicaciones multiusuario distribuidas a través de una red, como las aplicaciones web.
- 🚀 La introducción de JavaScript en 1995 por Netscape Navigator permitió un mayor procesamiento en el lado del cliente.
- 📈 Desde 2005, con la expansión de AJAX, el procesamiento del lado del cliente se ha vuelto aún más importante, con aplicaciones web complejas como Google Docs.
- 🏭 Existen diferentes arquitecturas de servidor, desde 'todo en un servidor' hasta granjas de servidores (clusters) para manejar grandes volúmenes de tráfico.
- 🔁 Un balanceador de carga es esencial en granjas de servidores para distribuir las peticiones entre múltiples servidores y garantizar alta disponibilidad.
- ☁️ La computación en la nube ha permitido a las empresas de todas las tamaños acceder a arquitecturas complejas y potentes sin grandes inversiones iniciales.
Q & A
¿Quién es Sergio Luján Mora y qué es lo que enseña?
-Sergio Luján Mora es profesor de informática de la Universidad de Alicante y enseña sobre desarrollo web.
¿En qué consiste el curso 'Introducción al desarrollo web'?
-El curso 'Introducción al desarrollo web' trata sobre la arquitectura de aplicaciones web y otros aspectos relacionados con la programación de aplicaciones web.
¿Dónde puedo descargar el libro 'Programación de aplicaciones web: historia, principios básicos y clientes, web' de Sergio Luján Mora?
-Puedes descargar el libro 'Programación de aplicaciones web: historia, principios básicos y clientes, web' en formato PDF y de forma gratuita desde la dirección que él proporciona en el vídeo.
¿Qué se explica en el capítulo 3 del libro de Sergio Luján Mora?
-El capítulo 3 del libro explica qué son las arquitecturas cliente/servidor, la separación de funciones en este tipo de arquitecturas y muestra algunos modelos de distribución en aplicaciones cliente/servidor.
¿Cuál es la definición de la arquitectura cliente/servidor según el vídeo?
-La arquitectura cliente/servidor es un modelo de aplicación distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios (servidores) y los demandantes de recursos o servicios (clientes).
¿Cómo se distribuye la capacidad de proceso en una arquitectura cliente/servidor?
-En una arquitectura cliente/servidor, la capacidad de proceso está repartida entre el cliente y el servidor.
¿Qué cambios introdujo JavaScript en el procesamiento de aplicaciones web?
-El navegador Netscape Navigator introdujo JavaScript en diciembre de 1995, lo que permitió incorporar un mayor procesamiento en el lado del cliente.
¿Cómo ha cambiado la importancia del procesamiento en el lado del cliente desde 2005?
-Desde 2005, con la expansión de AJAX, la importancia del procesamiento de las aplicaciones web en el lado del cliente ha aumentado considerablemente, con el navegador web convirtiéndose en una plataforma para múltiples aplicaciones.
¿Qué tipo de arquitectura se describe en el capítulo 4 del libro de Sergio Luján Mora?
-El capítulo 4 del libro describe las arquitecturas típicas de las aplicaciones web.
¿Qué tipo de arquitectura se recomienda para el proyecto del curso 'Introducción al desarrollo web'?
-Para el proyecto del curso 'Introducción al desarrollo web' se recomienda una arquitectura básica de 'todo en un servidor'.
¿Cuál es la ventaja de utilizar granjas de servidores en aplicaciones web?
-Las granjas de servidores o clusters permiten distribuir las peticiones entre diferentes servidores, lo que aumenta la capacidad del sistema para manejar un mayor número de usuarios y mejora la disponibilidad en caso de fallos.
¿Cómo ha cambiado la computación en la nube la implementación de arquitecturas complejas para aplicaciones web?
-La computación en la nube ha permitido utilizar sistemas con arquitecturas complejas y potentes sin incurrir en costes muy elevados, facilitando el consumo de servicios según las necesidades.
Outlines
🌐 Introducción a la Arquitectura de Aplicaciones Web
Sergio Luján Mora, profesor de la Universidad de Alicante, presenta en este vídeo la arquitectura de aplicaciones web dentro del curso 'Introducción al desarrollo web'. Explica que las aplicaciones web generalmente siguen una arquitectura cliente/servidor, donde el cliente es quien solicita recursos o servicios y el servidor es quien los provee. Esta separación es lógica y no necesariamente física, permitiendo que múltiples clientes accedan a múltiples servidores a través de una red, como es el caso de Internet y el protocolo HTTP. Además, menciona el avance en la capacidad de procesamiento del lado del cliente desde la introducción de JavaScript en 1995 y AJAX a partir de 2005, transformando al navegador en una plataforma para múltiples aplicaciones. Mora también señala la evolución de las arquitecturas web desde 'todo en un servidor' hasta la separación de servidores web y de bases de datos, y la utilización de granjas de servidores o clusters para manejar un gran volumen de usuarios, asegurando la disponibilidad y escalabilidad del sistema.
💻 Arquitectura en la Nube y Recursos del Curso
En el segundo párrafo, se aborda la revolución en la arquitectura de aplicaciones web gracias a la computación en la nube, permitiendo el uso de sistemas complejos y potentes a costos reducidos, como los ofrecidos por Amazon Web Services. Mora señala que, aunque el estudio detallado de diferentes arquitecturas web no es parte del curso, se puede obtener una arquitectura básica de 'todo en un servidor' para realizar el proyecto del curso. Finalmente, Mora invita a los interesados a explorar más sobre él y su trabajo a través de su correo electrónico y su cuenta de Twitter, y recuerda que el curso 'Introducción al desarrollo web' está disponible en idesweb.es.
Mindmap
Keywords
💡Arquitectura de aplicaciones web
💡Cliente/servidor
💡Separación de funciones
💡Modelos de distribución
💡Procesamiento del lado del cliente
💡AJAX
💡Arquitectura 'todo en un servidor'
💡Granjas de servidores o clusters
💡Computación en la nube
💡Servicio más que plataforma
Highlights
Sergio Luján Mora es profesor de informática en la Universidad de Alicante.
El video forma parte del curso 'Introducción al desarrollo web'.
Las aplicaciones web suelen tener una arquitectura cliente/servidor.
El libro 'Programación de aplicaciones web' puede descargarse gratis en formato PDF.
El capítulo 3 explica qué son las arquitecturas cliente/servidor.
La arquitectura cliente/servidor es un modelo de aplicación distribuida.
La separación entre cliente y servidor es lógica, no necesariamente física.
Las aplicaciones web son un ejemplo de arquitectura cliente/servidor.
El navegador web actúa como cliente y el servidor web como servidor en aplicaciones web.
La introducción de JavaScript por Netscape Navigator en 1995 fue un punto de inflexión en el procesamiento del lado del cliente.
AJAX ha aumentado la importancia del procesamiento en el lado del cliente desde 2005.
El capítulo 4 del libro describe arquitecturas típicas de aplicaciones web.
Las arquitecturas 'todo en un servidor' son comunes en entornos de desarrollo.
La separación del servidor web y el servidor de bases de datos mejora la arquitectura.
Las granjas de servidores o clusters permiten escalar y mejorar la disponibilidad de aplicaciones web.
La computación en la nube ha hecho que arquitecturas complejas sean accesibles a costos más bajos.
El curso 'Introducción al desarrollo web' requiere solo una arquitectura básica 'todo en un servidor'.
Se pueden encontrar más información y contacto en los sitios web mencionados y las redes sociales.
Transcripts
Hola, soy Sergio Luján Mora, profesor de informática de la Universidad de Alicante,
y en este vídeo que forma parte del curso “Introducción al desarrollo web”, te
voy a hablar de la arquitectura de una aplicación web.
Las aplicaciones web suelen tener una arquitectura cliente/servidor.
En mi libro “Programación de aplicaciones web: historia, principios básicos y clientes
web”, que lo puedes descargar en formato PDF y de forma gratuita desde esta dirección,
puedes encontrar el capítulo 3 “Arquitecturas cliente/servidor”, en el que se explican
qué son las arquitecturas cliente/servidor, se explica la separación de funciones que
se realiza en este tipo de arquitecturas y se muestran algunos modelos de distribución
en aplicaciones cliente/servidor.
La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas
se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes
de los recursos o servicios, llamados clientes.
En este modelo de aplicación, la capacidad de proceso está repartida entre el cliente
y el servidor.
La separación entre cliente y servidor es una separación de tipo lógico, donde el
servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un
sólo programa.
La arquitectura cliente/servidor se puede aplicar a programas que se ejecutan sobre
un mismo ordenador, aunque sus beneficios aparecen cuando se emplea en aplicaciones
multiusuario distribuidas a través de una red de ordenadores.
Ese es el caso de las aplicaciones web, donde la aplicación está distribuida entre varios
ordenadores a través de una red de ordenadores.
El cliente ejecuta el navegador web, el servidor ejecuta el servidor web y ambos se comunican
a través de Internet por medio del protocolo HTTP.
Este mismo modelo se puede aplicar en redes privadas, y en ese caso, se suele decir que
la red privada es una “intranet”.
En los primeros años de la Web, la capacidad de procesamiento del cliente era nula, el
navegador web simplemente mostraba las páginas web que recibía del servidor web.
Sin embargo, en diciembre del año 1995, cuando el navegador Netscape Navigator introdujo
el lenguaje de script JavaScript, abrió la puerta a incorporar un mayor procesamiento
en el lado del cliente.
La importancia del procesamiento de las aplicaciones web en el lado del cliente ha aumentado considerablemente
desde el año 2005 con la expansión de AJAX, ya que el navegador web se ha convertido en
una plataforma en la que utilizamos múltiples aplicaciones, como por ejemplo, Google Docs.
Otra vez en mi libro puedes encontrar el capítulo 4 “Qué es una aplicación web”, en el
que se describen las arquitecturas típicas de las aplicaciones web.
Recuerda que este libro es del año 2002 y desde entonces han surgido nuevos tipos de
arquitecturas.
Según cómo se implementen las diferentes funcionalidades de la parte servidor se pueden
dar diferentes arquitecturas.
Por ejemplo, una arquitectura muy común es “todo en un servidor”: el servidor web
y el servidor de bases de datos se alojan en el mismo servidor.
Esta arquitectura es muy básica y es la que se suele tener en un ordenador de desarrollo.
Un arquitectura mejor se logra cuando se separa el servidor web y el servidor de bases de
datos.
Algunas tecnologías de desarrollo de aplicaciones web, como por ejemplo JSP, hacen uso de un
servidor de aplicaciones.
Aquí se puede tener otra vez “todo junto” en el mismo servidor, o se pueden separar
los diferentes componentes en diferentes servidores, aunque para el cliente todo el sistema se
comporta como un único servidor.
Estas arquitecturas son adecuadas cuando el número de usuarios que acceden de forma concurrente
a la aplicación web no es muy elevado.
Pero si van a acceder varias decenas de miles de usuarios o incluso millones de usuarios
al mismo tiempo, hay que emplear arquitecturas más complejas y costosas.
Por ejemplo, desde hace años existe la posibilidad de crear granjas de servidores, también llamados
clusters, en las que no existe un único servidor web, sino múltiples servidores web, que de
cara al cliente se comportan como uno solo y son controlados por una balanceador de carga
que reparte las peticiones de los clientes entre los servidores que forman la granja.
Una granja de servidores aporta importantes ventajas: permite distribuir las peticiones
entre los diferentes servidores, por lo que el sistema puede hacer frente a un mayor número
de usuarios.
Y si aumenta el número de usuarios, es fácil añadir más servidores.
Además, si un servidor falla, la disponibilidad del sistema no peligra ya que el resto de
servidores puede hacer frente a las peticiones que se reciben.
Al principio, las granjas de servidores eran costosas y sólo se las podían permitir las
grandes empresas.
Sin embargo, en los últimos años ha surgido un nuevo concepto de arquitectura, la arquitectura
basada en la computación en la nube o cloud computing.
Gracias a sistemas como Amazon Web Services, es posible hacer uso de sistemas con una arquitectura
muy compleja y potente sin incurrir en costes muy elevados.
Con la computación en la nube, la plataforma de ejecución de las aplicaciones web se convierte
en un servicio más que puede ser consumido según las necesidades que existan.
¿Te interesa el tema de las arquitecturas de las aplicaciones web?
Lo siento, el estudio de los diferentes tipos de arquitecturas de aplicaciones web y sus
ventajas y desventajas se escapan de los objetivos de este curso.
Para realizar el proyecto de este curso sólo necesitas una arquitectura básica de “todo
en un servidor”.
Ya para terminar, me gustaría recordarte algunos de los sitios web en los que puedes
encontrar más información sobre mí y sobre mi trabajo, y dos formas de contactar conmigo,
a través de mi correo electrónico [email protected] y a través de mi cuenta en Twitter @sergiolujanmora.
Recuerda que este vídeo forma parte del curso “Introducción al desarrollo web” que
está disponible en la dirección idesweb.es.
Muchas gracias por tu atención.
5.0 / 5 (0 votes)