viernes, 20 de enero de 2012

Introducción y conceptos básicos del modelo/arquitecura cliente - servidor.


Imagen 1 Modelo cliente servidor
Antes de entrar a fondo con la definición del modelo/arquitectura cliente servidor, es conveniente definir los conceptos de modelo y arquitectura respectivamente. 

Un modelo es una representación teórica de un sistema o principio. Normalmente se representan mediante esquemas de cajas o diagramas de flujo. Por otra parte la arquitectura es la implementación práctica y funcional de un modelo, dicho de otra forma, el modelo llevado al mundo real. En una arquitectura se definen por completo la especificación del sistema, por tanto en el caso del modelo cliente – servidor disponemos también de una arquitectura cliente servidor.

Imagen 2 Concreción de modelo: Arquitectura



Una vez aclarados estos términos, podemos dar una primera definición de la arquitectura cliente – servidor. La arquitectura cliente – servidor es el resultado de implementar un modelo basado en dos elementos claramente diferenciados: clientes y servidores, conectados por una red de comunicaciones. Los clientes realizarán peticiones a los servidores, enviando la información necesaria y recibirán los resultados. Los servidores serán los equipos que atiendan las peticiones, dándoles respuesta y mandando los resultados.


-Origen de la arquitectura cliente-servidor.
La arquitectura cliente servidor nace como una evolución de la arquitectura monolítica, en la que una única máquina realiza las peticiones, las resuelve y almacena la información. El modelo cliente servidor nace gracias al desarrollo de las redes de computadoras que permiten interconectar máquinas separadas.
La arquitectura cliente servidor introduce dos separaciones entre máquinas, física y lógica y condicionó el desarrollo de la computación tal y como lo conocemos.
La separación lógica de máquinas permite separar procesos y colocarlos en distintas máquinas. De este modo tendremos las aplicaciones de usuario que corren en las máquinas de clientes, los gestores que corren los servidores y las bases de datos que se ubican en el mismo servidor o en otro dedicado. Esta separación permitió el desarrollo de sistemas multicapas, los cuales se organizan por capas, realizando cada una de ellas una funcionalidad. La separación lógica añade robustez al sistema frente a fallos, al dividirlo en bloques, es posible desarrollar test específicos para cada una de las partes y acotar los posibles fallos.
La separación física de las máquinas supone una ventaja frente a errores masivos en el sistema, permitiendo la duplicidad de los servidores, por ejemplo. En caso de caída, el servidor de backup tomará su lugar.
Esta arquitectura presenta otra serie de ventajas que pasamos a describir a continuación:
·     Especificación de las máquinas: Los clientes y servidores tienen distintas necesidades. Esta diferenciación abre las puertas a dos mercados bien diferenciados. Por una parte las grandes máquinas, los servidores, que requieren una gran potencia de cálculo, buses de comunicación de alta velocidad y sistemas de backup, como redundancia en los sistemas de almacenamiento. Por otra parte los equipos de cliente, de menos capacidad de cómputo. Esta diferenciación también se traduce en el coste, reduciéndose el de los host cliente.
·     Concentración de la información. Los servidores serán los encargados de almacenar la información, por tanto será más sencillo controlar en que estado se encuentra en cada momento y quién tiene acceso a la misma, tanto en modo consulta como modificándola.
·     Reducción de costes. La inversión más elevada se centra en los servidores, que tienen la potencia de cálculo.
·     Escalabilidad. La capacidad del sistema es ampliable de forma transparente al usuario. Se puede incrementar el número de servidores trabajando en paralelo o bien construir un sistema multicapas, separando las funcionalidades de los servidores y llevándolas a otro equipo, por ejemplo separando la base de datos de las aplicaciones en servidores separados.
·     Mantenimiento. Tal y como hemos mencionado arriba, dividir el sistema el bloques permite acotar con mayor facilidad los posibles fallos existentes.
A continuación os dejamos un video que cuenta como la arquitectura cliente servidor y las aplicaciones que se basan en ella han cambiado el mundo.


-Fuentes:
  •        Redes e Internet de alta velocidad, Willian Stallings, Pearsson education
  •        Andrew S. Tanenbaum, Prentice-Hall, Redes de Computadoras.
  •        www.ecured.cu/index.php/Arquitectura_Cliente_Servidor
  •        www.youtube.com
  •        www.google.com
  •        www.wikipedia.org/





No hay comentarios:

Publicar un comentario