Página principal

El paradigma cliente-servidor


Descargar 327.14 Kb.
Página1/10
Fecha de conversión18.07.2016
Tamaño327.14 Kb.
  1   2   3   4   5   6   7   8   9   10

  1. El paradigma cliente-servidor

En este capítulo se explorará en detalle el paradigma cliente-servidor. Se hará también uso del conocimiento de las interfaces de programación de sockets para examinar la implementación de las aplicaciones cliente-servidor que se muestran en este capítulo.

1Antecedentes


El término cliente-servidor tiene múltiples significados en informática. Puede referirse a una arquitectura de red donde los computadores en una red realizan diferentes papeles para compartir recursos. En una arquitectura cliente-servidor, a un computador se le denomina servidor si se dedica a gestionar recursos como impresoras o archivos de manera que otros computadores, llamados clientes, puedan acceder a estos recursos a través del servidor. La arquitectura cliente-servidor, aunque relacionada con el paradigma cliente-servidor, no es el tema de este capítulo.

En la informática distribuida, el paradigma cliente-servidor se refiere a un modelo de aplicaciones de red donde los procesos juegan uno de dos diferentes papeles: un proceso servidor, también llamado servidor para abreviar, se dedica a gestionar el acceso a algunos servicios de la red, mientras que los procesos cliente, llamados clientes para abreviar, acceden al servidor para obtener un servicio de red. Nótese que en la arquitectura cliente-servidor, los términos cliente y servidor están referidos a los computadores, mientras que en el paradigma de computación distribuida cliente-servidor, los términos se refieren a los procesos. En este libro, cuando se utiliza el término cliente-servidor, se usa para referirse al paradigma de computación distribuida.

La Figura 5.1 ilustra el concepto del modelo cliente-servidor. Un proceso servidor ejecuta en un computador conectado a la red, al cual nos referiremos como máquina servidora, para gestionar un servicio de red proporcionado por esa máquina. Nótese que es posible que una máquina servidora proporcione otros servicios de red que son gestionados por otros procesos. Un usuario, uno que típicamente esté usando otro computador, al que se llamará máquina cliente, utiliza un proceso cliente para acceder a un servicio particular. Es posible que otros procesos clientes (posiblemente de otros servicios) ejecuten en la máquina cliente a la vez, pero debe usarse el proceso cliente apropiado para acceder a un servicio particular.


Figura 5.1 El paradigma de computación distribuida cliente-servidor.

El modelo cliente-servidor está diseñado para proporcionar servicios de red, los cuales fueron, y todavía son, la aplicación más popular de la computación distribuida. Por servicio de red se entiende un servicio proporcionado para permitir a los usuarios de la red compartir recursos. Tales recursos pueden ser tan triviales como la hora del día o tan complejos como archivos en un sistema de archivos de la máquina servidora o datos de un sistema de base de datos. A lo largo de los años, muchos de estos servicios de red se han estandarizado en Internet: telnet, que permite entrar (logon) de forma remota en una máquina servidora; ftp, para mandar y recibir archivos de una máquina servidora; Daytime, que proporciona una marca de tiempo obtenida de una máquina servidora; y el World Wide Web, para buscar contenidos web en una máquina servidora.


2Cuestiones sobre el paradigma cliente-servidor


Mientras que el concepto del paradigma es sencillo, en la implementación real hay un número de cuestiones que se deben afrontar. En esta sección se van a discutir estas cuestiones.

Una sesión de servicio


En el contexto del modelo cliente-servidor, se utilizará el término sesión para referirse a la interacción entre el servidor y el cliente. Como se muestra en la Figura 5.1, el servicio gestionado por un servidor puede ser accesible a múltiples clientes que quieran utilizar el servicio, algunas veces concurrentemente. Cada cliente entabla una sesión separada e independiente con el servidor, durante la cual el cliente conduce un diálogo con el servidor hasta que el cliente haya obtenido el servicio deseado.

La Figura 5.2 ilustra el flujo de ejecución del proceso servidor. Una vez que ha comenzado, un proceso servidor de red se ejecuta indefinidamente, realiza un bucle continuo que acepta peticiones de las sesiones de los clientes. Para cada cliente, el servidor conduce una sesión de servicio.





Figura 5.2 El flujo de ejecución del proceso servidor.

El protocolo de un servicio


Se necesita un protocolo para especificar las reglas que deben observar el cliente y el servidor durante una sesión de servicio. Dichas reglas incluyen especificaciones en cuestiones tales como (1) la manera de localizar el servicio, (2) la secuencia de comunicación entre los procesos, y (3) la representación e interpretación de los datos intercambiados.

Localización del servicio


Debe existir un mecanismo que permita que un proceso cliente localice un servidor de un determinado servicio. En el esquema más simple, la localización de un servicio es estática y se puede identificar utilizando la dirección del proceso servidor, en términos del nombre de la máquina y el número de puerto de protocolo asignado al proceso servidor. Este es el esquema usado para los servicios de Internet, donde a cada servicio de Internet se le asigna un número de puerto específico. En particular, a un servicio bien conocido, como FTP, HTTP, o telnet, se le asigna un número de puerto por defecto que se reserva en cada máquina de Internet para ese servicio. Por ejemplo, al servicio FTP se le asignan dos números de puerto de TCP: 20 y 21, y al HTTP el puerto de TCP 80.

En un nivel más alto de abstracción, un servicio puede identificarse utilizando un nombre lógico registrado en un directorio o en un registro. El nombre lógico necesitará traducirse a la ubicación física del proceso servidor. Si la traducción se realiza en tiempo de ejecución (es decir, cuando se ejecuta un proceso cliente), es posible que la localización del servicio sea dinámica, en cuyo caso se dice que el servicio es transparente de la ubicación.


  1   2   3   4   5   6   7   8   9   10


La base de datos está protegida por derechos de autor ©espanito.com 2016
enviar mensaje