Saltar la navegación

1.- Paradigma Cliente/Servidor.

Caso práctico

María: Mira Juan. Ahora vamos a ver todas las características del modelo cliente/servidor. Pero no todo son ventajas. También hay desventajas que tenemos que tener en cuenta a la hora de programar las aplicaciones.

Juan: De acuerdo, estupendo. Estoy deseando empezar…

Juan utilizando un equipo.
 Imagen que muestra el modelo cliente/servidor en el que hay 3 clientes que se comunican con un servidor.

En el mundo de las comunicaciones entre equipos el modelo de comunicación más utilizado es el modelo Cliente/servidor ya que ofrece una gran flexibilidad, interoperabilidad y estabilidad para acceder a recursos de forma centralizada.

El término modelo Cliente/Servidor se acuñó por primera vez en los años 80 para explicar un sencillo paradigma: un equipo cliente requiere un servicio de un equipo servidor.

Desde el punto de vista funcional, se puede definir el modelo Cliente/Servidor como una arquitectura distribuida que permite a los usuarios finales obtener acceso a recursos de forma transparente en entornos multiplataforma. Normalmente, los recursos que suele ofrecer el servidor son datos, pero también puede permitir acceso a dispositivos hardware, tiempo de procesamiento, etc.

Los elementos que componen el modelo son:

  • Cliente. Es el proceso que permite interactuar con el usuario, realizar las peticiones, enviarlas al servidor y mostrar los datos al cliente. En definitiva, se comporta como la interfaz (front-end) que utiliza el usuario para interactuar con el servidor. Las funciones que lleva a cabo el proceso cliente se resumen en los siguientes puntos:
    • Interactuar con el usuario.
    • Procesar las peticiones para ver si son válidas y evitar peticiones maliciosas al servidor.
    • Recibir los resultados del servidor.
    • Formatear y mostrar los resultados.
  • Servidor. Es el proceso encargado de recibir y procesar las peticiones de los clientes para permitir el acceso a algún recurso (back-end). Las funciones del servidor son:
    • Aceptar las peticiones de los clientes.
    • Procesar las peticiones.
    • Formatear y enviar el resultado a los clientes.
    • Procesar la lógica de la aplicación y realizar validaciones de datos.
    • Asegurar la consistencia de la información.
    • Evitar que las peticiones de los clientes interfieran entre sí.
    • Mantener la seguridad del sistema.

La idea es tratar el servidor como una entidad que realiza un determinado conjunto de tareas y que las ofrece como servicio a los clientes.

La forma más habitual de utilizar el modelo cliente/servidor es mediante la utilización de equipos a través de interfaces gráficas; mientras que la administración de datos y su seguridad e integridad se deja a cargo del servidor. Normalmente, el trabajo pesado lo realiza el servidor y los procesos clientes sólo se encargan de interactuar con el usuario. En otras palabras, el modelo Cliente/Servidor es una extensión de programación modular en la que se divide la funcionalidad del software en dos módulos con el fin de hacer más fácil el desarrollo y mejorar su mantenimiento

Autoevaluación

Pregunta

Indica qué operación no realiza un servidor:

Respuestas

Recibir la petición del cliente.

Procesar la petición del cliente.

Mostrar el resultado al usuario.

Asegurar el sistema.

Retroalimentación