Arquitectura de una aplicación web

iDESWEB UA
27 Sept 201306:22

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

00:00

🌐 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.

05:05

💻 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

La arquitectura de aplicaciones web se refiere a la forma en que se organizan y estructuran las diferentes partes de una aplicación que se ejecuta a través de Internet. En el video, se menciona que las aplicaciones web suelen tener una arquitectura cliente/servidor, donde el navegador web actúa como cliente y el servidor web como servidor, comunicándose a través del protocolo HTTP.

💡Cliente/servidor

La arquitectura cliente/servidor es un modelo de aplicación distribuida donde las tareas se reparten entre los proveedores de recursos (servidores) y los usuarios de esos recursos (clientes). En el contexto del video, este modelo es fundamental para la funcionalidad de las aplicaciones web, permitiendo que el procesamiento se distribuya entre el navegador del cliente y el servidor web.

💡Separación de funciones

La separación de funciones en la arquitectura cliente/servidor implica que el cliente maneja la interfaz de usuario y la presentación, mientras que el servidor se encarga de la lógica de negocio y el almacenamiento de datos. El video destaca esta separación como una característica clave que permite una mejor escalabilidad y mantenibilidad de las aplicaciones web.

💡Modelos de distribución

Los modelos de distribución son diferentes formas en que se pueden distribuir las funciones entre clientes y servidores en una aplicación. En el video, se menciona que el libro del profesor aborda estos modelos, lo que indica la importancia de entender cómo se pueden estructurar las aplicaciones para mejorar su rendimiento y escalabilidad.

💡Procesamiento del lado del cliente

El procesamiento del lado del cliente se refiere a la capacidad de los navegadores web para realizar cálculos y manipular la interfaz de usuario sin necesidad de comunicarse constantemente con el servidor. El video menciona la introducción de JavaScript por Netscape Navigator en 1995 como un punto de inflexión en la importancia del procesamiento del lado del cliente en las aplicaciones web.

💡AJAX

AJAX (Asynchronous JavaScript and XML) es una técnica que permite a las aplicaciones web actualizar partes de la página sin necesidad de recargarla completamente. El video señala el crecimiento del procesamiento en el lado del cliente desde 2005, en parte debido a la expansión de AJAX, lo que ha transformado a los navegadores en plataformas más interactivas y dinámicas.

💡Arquitectura 'todo en un servidor'

Esta arquitectura es una de las más básicas, donde tanto el servidor web como el servidor de bases de datos se alojan en la misma máquina. El video la menciona como una opción común en entornos de desarrollo, pero también señala que su uso en entornos de producción puede no ser la más adecuada para aplicaciones con un gran número de usuarios.

💡Granjas de servidores o clusters

Las granjas de servidores son grupos de servidores que funcionan juntos para distribuir la carga de trabajo y mejorar la disponibilidad del sistema. El video explica que, a través de un balanceador de carga, se pueden manejar peticiones de múltiples usuarios sin que la experiencia del usuario se vea afectada, incluso si uno de los servidores falla.

💡Computación en la nube

La computación en la nube, o cloud computing, es un modelo de entrega de servicios de computación en el que los recursos de computación se proporcionan a través de Internet. El video menciona que con los servicios de computación en la nube, como Amazon Web Services, es posible acceder a arquitecturas complejas y potentes sin un costo prohibitivo.

💡Servicio más que plataforma

El término 'servicio más que plataforma' hace referencia a la tendencia en la que las empresas y desarrolladores utilizan servicios en la nube en lugar de construir y mantener su propia infraestructura de hardware. El video sugiere que esta es una forma eficiente de escalar y adaptar las aplicaciones web a las necesidades cambiantes de los usuarios.

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

play00:00

Hola, soy Sergio Luján Mora, profesor de informática de la Universidad de Alicante,

play00:05

y en este vídeo que forma parte del curso “Introducción al desarrollo web”, te

play00:09

voy a hablar de la arquitectura de una aplicación web.

play00:12

Las aplicaciones web suelen tener una arquitectura cliente/servidor.

play00:16

En mi libro “Programación de aplicaciones web: historia, principios básicos y clientes

play00:21

web”, que lo puedes descargar en formato PDF y de forma gratuita desde esta dirección,

play00:27

puedes encontrar el capítulo 3 “Arquitecturas cliente/servidor”, en el que se explican

play00:32

qué son las arquitecturas cliente/servidor, se explica la separación de funciones que

play00:36

se realiza en este tipo de arquitecturas y se muestran algunos modelos de distribución

play00:41

en aplicaciones cliente/servidor.

play00:43

La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas

play00:49

se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes

play00:55

de los recursos o servicios, llamados clientes.

play00:58

En este modelo de aplicación, la capacidad de proceso está repartida entre el cliente

play01:03

y el servidor.

play01:05

La separación entre cliente y servidor es una separación de tipo lógico, donde el

play01:10

servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un

play01:15

sólo programa.

play01:16

La arquitectura cliente/servidor se puede aplicar a programas que se ejecutan sobre

play01:20

un mismo ordenador, aunque sus beneficios aparecen cuando se emplea en aplicaciones

play01:25

multiusuario distribuidas a través de una red de ordenadores.

play01:30

Ese es el caso de las aplicaciones web, donde la aplicación está distribuida entre varios

play01:34

ordenadores a través de una red de ordenadores.

play01:37

El cliente ejecuta el navegador web, el servidor ejecuta el servidor web y ambos se comunican

play01:44

a través de Internet por medio del protocolo HTTP.

play01:49

Este mismo modelo se puede aplicar en redes privadas, y en ese caso, se suele decir que

play01:53

la red privada es una “intranet”.

play01:56

En los primeros años de la Web, la capacidad de procesamiento del cliente era nula, el

play02:01

navegador web simplemente mostraba las páginas web que recibía del servidor web.

play02:06

Sin embargo, en diciembre del año 1995, cuando el navegador Netscape Navigator introdujo

play02:13

el lenguaje de script JavaScript, abrió la puerta a incorporar un mayor procesamiento

play02:19

en el lado del cliente.

play02:21

La importancia del procesamiento de las aplicaciones web en el lado del cliente ha aumentado considerablemente

play02:27

desde el año 2005 con la expansión de AJAX, ya que el navegador web se ha convertido en

play02:33

una plataforma en la que utilizamos múltiples aplicaciones, como por ejemplo, Google Docs.

play02:41

Otra vez en mi libro puedes encontrar el capítulo 4 “Qué es una aplicación web”, en el

play02:46

que se describen las arquitecturas típicas de las aplicaciones web.

play02:51

Recuerda que este libro es del año 2002 y desde entonces han surgido nuevos tipos de

play02:56

arquitecturas.

play02:58

Según cómo se implementen las diferentes funcionalidades de la parte servidor se pueden

play03:02

dar diferentes arquitecturas.

play03:04

Por ejemplo, una arquitectura muy común es “todo en un servidor”: el servidor web

play03:10

y el servidor de bases de datos se alojan en el mismo servidor.

play03:14

Esta arquitectura es muy básica y es la que se suele tener en un ordenador de desarrollo.

play03:20

Un arquitectura mejor se logra cuando se separa el servidor web y el servidor de bases de

play03:25

datos.

play03:27

Algunas tecnologías de desarrollo de aplicaciones web, como por ejemplo JSP, hacen uso de un

play03:32

servidor de aplicaciones.

play03:34

Aquí se puede tener otra vez “todo junto” en el mismo servidor, o se pueden separar

play03:39

los diferentes componentes en diferentes servidores, aunque para el cliente todo el sistema se

play03:45

comporta como un único servidor.

play03:49

Estas arquitecturas son adecuadas cuando el número de usuarios que acceden de forma concurrente

play03:53

a la aplicación web no es muy elevado.

play03:57

Pero si van a acceder varias decenas de miles de usuarios o incluso millones de usuarios

play04:01

al mismo tiempo, hay que emplear arquitecturas más complejas y costosas.

play04:06

Por ejemplo, desde hace años existe la posibilidad de crear granjas de servidores, también llamados

play04:12

clusters, en las que no existe un único servidor web, sino múltiples servidores web, que de

play04:18

cara al cliente se comportan como uno solo y son controlados por una balanceador de carga

play04:23

que reparte las peticiones de los clientes entre los servidores que forman la granja.

play04:29

Una granja de servidores aporta importantes ventajas: permite distribuir las peticiones

play04:34

entre los diferentes servidores, por lo que el sistema puede hacer frente a un mayor número

play04:38

de usuarios.

play04:40

Y si aumenta el número de usuarios, es fácil añadir más servidores.

play04:43

Además, si un servidor falla, la disponibilidad del sistema no peligra ya que el resto de

play04:49

servidores puede hacer frente a las peticiones que se reciben.

play04:52

Al principio, las granjas de servidores eran costosas y sólo se las podían permitir las

play04:58

grandes empresas.

play04:59

Sin embargo, en los últimos años ha surgido un nuevo concepto de arquitectura, la arquitectura

play05:04

basada en la computación en la nube o cloud computing.

play05:09

Gracias a sistemas como Amazon Web Services, es posible hacer uso de sistemas con una arquitectura

play05:14

muy compleja y potente sin incurrir en costes muy elevados.

play05:19

Con la computación en la nube, la plataforma de ejecución de las aplicaciones web se convierte

play05:24

en un servicio más que puede ser consumido según las necesidades que existan.

play05:28

¿Te interesa el tema de las arquitecturas de las aplicaciones web?

play05:32

Lo siento, el estudio de los diferentes tipos de arquitecturas de aplicaciones web y sus

play05:37

ventajas y desventajas se escapan de los objetivos de este curso.

play05:42

Para realizar el proyecto de este curso sólo necesitas una arquitectura básica de “todo

play05:48

en un servidor”.

play05:50

Ya para terminar, me gustaría recordarte algunos de los sitios web en los que puedes

play05:54

encontrar más información sobre mí y sobre mi trabajo, y dos formas de contactar conmigo,

play06:00

a través de mi correo electrónico [email protected] y a través de mi cuenta en Twitter @sergiolujanmora.

play06:10

Recuerda que este vídeo forma parte del curso “Introducción al desarrollo web” que

play06:14

está disponible en la dirección idesweb.es.

play06:18

Muchas gracias por tu atención.

Rate This

5.0 / 5 (0 votes)

Связанные теги
Arquitectura WebDesarrollo WebServidor ClienteJavaScriptAJAXCloud ComputingIntranetSergio Luján MoraComputación en la NubeDistribución de Carga
Вам нужно краткое изложение на английском?