miércoles, 8 de junio de 2016

Arquitectura del Desarrollo web




Modelo Cliente Servidor. 

   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, llamados clientes. Un cliente realiza peticiones a otro programa, el servidor, quien le da respuesta.
   El modelo cliente-servidor consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta.
   La tecnología denominada Cliente -Servidor es utilizada por todas las aplicaciones de Internet/Intranet. Un cliente funciona en su ordenador local, se comunica con el servidor remoto, y pide a éste información. El servidor envía la información solicitada
Características:
  • Espera y recibe las respuestas del servidor.
  • Por lo general, puede conectarse a varios servidores a la vez.
  • Normalmente interactúa directamente con los usuarios finales mediante una interfaz   gráfica de usuario

Información General
 
   En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.

   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. Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma.

   Una disposición muy común son los sistemas multicapa en los que el servidor se descompone en diferentes programas que pueden ser ejecutados por diferentes computadoras aumentando así el grado de distribución del sistema.

   La red cliente-servidor es una red de comunicaciones en la cual los clientes están conectados a un servidor, en el que se centralizan los diversos recursos y aplicaciones con que se cuenta; y que los pone a disposición de los clientes cada vez que estos son solicitados. Esto significa que todas las gestiones que se realizan se concentran en el servidor, de manera que en él se disponen los requerimientos provenientes de los clientes que tienen prioridad, los archivos que son de uso público y los que son de uso restringido, los archivos que son de sólo lectura y los que, por el contrario, pueden ser modificados, etc. Este tipo de red puede utilizarse conjuntamente en caso de que se esté utilizando en una red mixta.

Características
En la arquitectura C/S el remitente de una solicitud es conocido como cliente. Sus características son:
  • Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la comunicación (dispositivo maestro o amo).
  • Espera y recibe las respuestas del servidor.
  • Por lo general, puede conectarse a varios servidores a la vez.
  • Normalmente interactúa directamente con los usuarios finales mediante una interfaz gráfica de usuario.

Al receptor de la solicitud enviada por el cliente se conoce como servidor. Sus características son:
  • Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempeñan entonces un papel pasivo en la comunicación (dispositivo esclavo).
  • Tras la recepción de una solicitud, la procesan y luego envían la respuesta al cliente.
  • Por lo general, acepta las conexiones de un gran número de clientes (en ciertos casos el número máximo de peticiones puede estar limitado).

En la arquitectura C/S sus características generales son:
  • El Cliente y el Servidor pueden actuar como una sola entidad y también pueden actuar como entidades separadas, realizando actividades o tareas independientes.
  • Las funciones de Cliente y Servidor pueden estar en plataformas separadas, o en la misma plataforma.
  • plataforma puede ser escalable independientemente. Los cambios realizados en las plataformas de los Clientes o de los Servidores, ya sean por actualización o por reemplazo tecnológico, se realizan de una manera transparente para el usuario final.
  • La interrelación entre el hardware y el software están basados en una infraestructura poderosa, de tal forma que el acceso a los recursos de la red no muestra la complejidad de los diferentes tipos de formatos de datos y de los protocolos.
  • Su representación típica es un centro de trabajo (PC), en donde el usuario dispone de sus propias aplicaciones de oficina y sus propias bases de datos, sin dependencia directa del sistema central de información de la organización.
 
Ventajas de la arquitectura cliente/servidor
 
 
El modelo cliente/servidor se recomienda, en particular, para redes que requieran un alto grado de fiabilidad. Las principales ventajas son:
  • Recursos centralizados: debido a que el servidor es el centro de la red, puede administrar los recursos que son comunes a todos los usuarios, por ejemplo: una base de datos centralizada se utilizaría para evitar problemas provocados por datos contradictorios y redundantes.
  • Seguridad mejorada: ya que la cantidad de puntos de entrada que permite el acceso a los datos no es importante.
  • Administración al nivel del servidor: ya que los clientes no juegan un papel importante en este modelo, requieren menos administración.
  • Red escalable: gracias a esta arquitectura, es posible quitar o agregar clientes sin afectar el funcionamiento de la red y sin la necesidad de realizar mayores modificaciones.

Desventajas del modelo cliente/servidor
La arquitectura cliente/servidor también tiene las siguientes desventajas:
  • Costo elevado: debido a la complejidad técnica del servidor.
  • Un eslabón débil: el servidor es el único eslabón débil en la red de cliente/servidor, debido a que toda la red está construida en torno a él. Afortunadamente, el servidor es altamente tolerante a los fallos (principalmente gracias al sistema RAID).

Funcionamiento del sistema cliente/servidor

Un sistema cliente/servidor funciona tal como se detalla en el siguiente diagrama:

 
  • El cliente envía una solicitud al servidor mediante su dirección IP y el puerto, que está reservado para un servicio en particular que se ejecuta en el servidor.
  • El servidor recibe la solicitud y responde con la dirección IP del equipo cliente y su puerto.
 
FUENTE: