Tarea #2 Sistemas Distribuidos "Modelo Cliente Servidor"

Modelo Cliente-Servidor

Obed Islas

Un método habitual de organizar el software que se desea ejecutar en sistemas distribuidos consiste en separar las funciones en dos partes: clientes y servidores.
Este modelo, que predomina en la actualidad, permite descentralizar el procesamiento y recursos, sobre todo, de cada uno de los servicios y de la visualización de la Interfaz Gráfica de Usuario. Esto hace que ciertos servidores estén dedicados sólo a una aplicación determinada y por lo tanto ejecutarla en forma eficiente.

Definición: Sistema en donde el cliente es una máquina que solicita un determinado servicio y se denomina servidor a la máquina que lo proporciona. Los servicios pueden ser:
  • Ejecución de un determinado programa.
  • Acceso a un determinado banco de información.
  • Acceso a un dispositivo de hardware.

Los procesos de cliente y servidor se consideran parte de la capa de aplicación. El cliente comienza el intercambio solicitando los datos al servidor, quien responde enviando uno o más streams de datos al cliente. Los protocolos de la capa de aplicación describen el formato de las solicitudes y respuestas entre clientes y servidores. Además de la transferencia real de datos, este intercambio también puede requerir la autenticación del usuario y la identificación de un archivo de datos que se vaya a transferir. Por lo general, los clientes y los servidores se comunican entre sí a través de una red, pero también pueden residir ambos en un mismo sistema (el mismo hardware). Siguen este modelo de cliente/servidor servicios como el intercambio de emails, el acceso a webs, el acceso a bases de datos, y muchos otros protocolos de internet se basan en esta idea (HTTP, SMTP, Telnet, DNS), etc.
El cliente realiza una petición de un servicio, y un servidor lleva a cabo ese servicio. Las funciones de servidor a menudo requieren alguna gestión de recursos, en que un servidor sincroniza y gestiona el acceso al recurso, y responde a las peticiones de cliente con datos o información de estado.
Los programas de cliente normalmente manejan las interacciones del usuario y con frecuencia solicitan datos o inician alguna modificación de datos en nombre de un usuario.

Existen varias arquitecturas del tipo Cliente-Servidor, las dos más importantes y usadas son las siguentes:
Arquitectura Cliente-Servidor de Dos Capas.- Consiste en una capa de presentación y lógica de la aplicación; y la otra de la base de datos. Normalmente esta arquitectura se utiliza cuando se requiera poco procesamiento de datos en la organización, cuando se tiene una base de datos centralizada en un solo servidor, cuando la base de datos es relativamente estática o cuando se requiere un mantenimiento mínimo.
Arquitectura Cliente-Servidor de Tres Capas- Consiste en una capa de la Presentación, otra capa de la lógica de la aplicación y otra capa de la base de datos. Normalmente esta arquitectura se utiliza En aplicaciones donde la funcionalidad este en constante cambio, cuando se requiera mucho procesamiento de datos en la aplicación o Cuando se requiera separar el código del cliente para que se facilite el mantenimiento.

También existe una arquitectura en una capa, que se presenta cuando se levanta un servidor en un equipo de computo y este mismo funge como cliente al usar una aplicación local.


Conclusión

Con esto podemos concluir que el Modelo Cliente-Servidor es de vital importancia en esa época pues eficientiza los procesos en un sistema y descentralizar el procesamiento y recursos, así como el acceso a datos.
Cabe mencionar que es fundamental para el funcionamiento correcto y eficaz de un Sistema Distribuido.Gracias a este modelo, la informática ha podido tener una gran expansión.
Sus ventajas son variadas, como la facilidad de mantenimiento y actualización del lado del servidor ademas de quela información es almacenada en el lado del servidor, lo cual es más seguro que si se quedara en los clientes
Aunque también se encuentran las desventajas, como lo es un fallo en el servidor, entonces el servicio quedaría paralizado para los clientes, además de que existe la posiilidad de que el servidor llegue asaturarse al haber muchas conexiones simultaneamente.
A pesar de todo, es usado en miles de sistemas y el más usado en el mundo, y en mi opinion lo seguirá siendo.

Fuentes

  • Coulouris George (2008). Sistemas Distribuidos. Madrid, España: Pearson.
  • Sistemas distribuidos (s.f.)
    http://www.tamps.cinvestav.mx/~vjsosa/clases/sd/sistemas_distribuidos_panorama.pdf
  • Ventajas y desventajas del modelo cliente-servidor (2010)
    http://www.alegsa.com.ar/Respuesta/ventajas_y_desventajas_del_modelo_clienteservidor.htm

Comentarios

Entradas más populares de este blog

Mapa conceptual "Métricas de calidad"

Sistemas Distribuidos (Ensayo)

Cifrado Hash