Imprimir

Los modelos de arquitecturas web describen la relación entre los distintos elementos que componen la estructura de funcionamiento de las páginas y aplicaciones web.

Modelo Punto a Punto (P2P - Peer to Peer)

P2P-network.svgUna red punto a punto (P2P - Peer to Peer) es un tipo de arquitectura de red descentralizada y distribuida en la que los nodos individuales de la red (peers) actúan tanto como suministradores como clientes de recursos, en contraste con el modelo cliente-servidor (C/S) en el que los nodos clientes acceden a los recursos que proporcionan los servidores centrales.

En una red P2P, las tareas, como realizar un streaming de audio o vídeo, se comparten entre múltiples puntos interconectados que ponen una parte de sus recursos (CPU, almacenamiento, ancho de banda) disponibles directamente por otros puntos de la red, sin la necesidad de disponer de servidores que realicen la coordinación centralizada.

Ventajas

Desventajas

Modelo Cliente-Servidor

El modelo cliente-servidor es un modelo informático que actúa como una aplicación distribuida que particiona tareas o cargas de trabajo entre los proveedores de un recurso o servicio, llamados servidores, y los solicitantes del servicio, llamados clientes

Lo más frecuente es que los clientes y los servidores se comuniquen a través de una red informática, pero ambos pueden residir en la misma máquina. Un servidor es un host que ejecuta uno o más programas servidores que comparten sus recursos con los clientes, aunque no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa.

El esquema de funcionamiento más básico del modelo cliente-servidor para una arquitectura web está basado en uno o varios clientes que solicitan una página web a un servidor web:

  1. Desde el navegador web (cliente) el usuario solicita la carga de una página web indicando su URL.
  2. El servidor recibe la petición de la página web
  3. Busca en sus sistema de almacenamiento la página solicitada.
  4. Envía el contenido de la página web (código fuente) por el mismo medio por el que recibió la petición.
  5. El navegador web recibe el código fuente de la página y lo interpreta mostrando al usuario la página web.

Modelo cliente-servidor

El servidor web envía al cliente el recurso solicitado sin hacer ningún tratamiento sobre él. Es decir, envía de manera indeferente una página HTML, una imagen, un archivo de sonido o cualquier otro tipo de archivo.

Ventajas

Desventajas

Modelo con servidor de aplicaciones

La función que realiza un servidor de aplicaciones es diferente, ya que los recursos que va a manipular no son archivos estáticos, sino que contienen el código que tiene que ejecutar. Es decir, un servidor web en solitario eviaría al cliente el recurso solicitado tal cual, mientras que el servidor de aplicaciones lo ejecuta y envía al cliente el resultado a través del servidor web.

El servidor web y el servidor de aplicaciones pueden residir en una misma máquina como se refleja en el siguiente esquema. El servidor web recibe la petición de un recurso, y si éste corresponde a un recurso dinámico, transfiere la parte correspondiente al servidor de aplicaciones el cual devolverá de nuevo al servidor web el recurso ejecutado. Finalmente será el servidor web el que envíe al cliente el resultado final.

Es muy frecuente que el servidor de aplicaciones deba conectarse con una base de datos para obtener los datos solicitados durante la ejecución del código. Dicha base de datos puede residir en la misma máquina que el servidor web o en otro host conectado en red.

Modelo servidor aplicaciones 1

Modelo con servidor de aplicaciones externo

La parte correspondiente al servidor web suele tener menos carga de trabajo que el servidor de aplicaciones por lo que se puede establecer una estructura en la que el servidor web sea independiente del servidor de aplicaciones, de manera que el servidor web se pueda implantar de forma dedicada precisando menos recursos. Un redirector será el encargado de transferir al servidor de aplicaciones los elementos que necesiten ser ejecutados, mientras que no pasarán del servidor web los recursos estáticos.

Modelo servidor aplicaciones externo

Modelo con varios servidores de aplicaciones

Si la carga de trabajo del servidor de aplicaciones se estima que va a ser elevado, se puede implantar un sistema con varios servidores de aplicaciones unidos a un mismo servidor web que requiere menos rendimiento. La conexión se realizará a través de un redirector como en el caso anterior, que además realizará las funciones de balanceador de carga para determinar en un determinado momento qué servidor de aplicaciones debe ejecutar el código en función de la carga de trabajo que tenga cada uno. En este caso, todos los servidores de aplicaciones deben ser iguales.

Modelo servidor aplicaciones varios