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