Arquitectura Cliente-Servidor

Introducción
Es una arquitectura
distribuida que consiste en que un cliente realice una petición y un servidor
lo procese y devuelva una respuesta. El modelo Cliente-Servidor está referido a
Ordenadores en red y consta de 3 niveles, el nivel 1 es el cliente, el nivel 2 el servidor, y el nivel 3 los recursos con los que interactúa el servidor. Por ejemplo: En un sistema distribuido cada máquina puede
cumplir tanto con el rol de servidor como el de cliente. El cliente participa
en las conexiones enviando la petición deseada, y se quede esperando por una
respuesta, una vez que reciba la respuesta del servidor termina su conexión.
Los Servidores
El servidor se puede ejecutar en cualquier sistema donde exista
TCP/IP. Y está activo desde antes que le llegue la primera petición, lo cual
hace que su tiempo de vida sea "interminable". Ellos pueden ejecutar
tareas sencillas, que es donde procesan una petición a la vez, pero
secuencialmente, ya que son rápidos al devolver una respuesta. Los más
complejos trabajan concurrentemente, tienen alto requerimiento de protección y
autorización, son capaces de leer archivos de sistema, mantenerse en línea,
acceder a datos protegidos y a archivos de usuario, pero ellos tardan en dar
una respuesta.
Constan de dos partes
- Programa o proceso que es responsable de aceptar nuevas peticiones se le llama: Maestro o Padre.
- Programas o procesos que deben manejar las peticiones individualmente son llamados: Esclavos o Hijos.
El programa “Maestro” tiene diferentes tareas, entre ellas están
el abrir un puerto para que puedan acceder los clientes, esperar y aceptar las
peticiones de los clientes, iniciar un programa “Esclavo” para realizar su petición.
CARACTERÍSTICAS
- Combinación de un cliente que interactúa con el
usuario (interfaz del sistema), y un servidor que interactúa con los recursos a
compartir (bases de datos, impresoras, modem, entre otros).
- Se
establece una relación entre procesos distintos, los cuales pueden ser
ejecutados en la misma máquina o en máquinas diferentes distribuidas a lo largo
de la red.
- No existe otra relación entre clientes y
servidores que no sea el que se tiene en el intercambio de mensajes, ya que el
mensaje es el medio de las peticiones y respuestas.
- Conecta clientes y servidores independientemente de sus plataformas.
- Tiene
escalabilidad, permite agregar más estaciones de trabajo activas sin afectar
altamente a su rendimiento, y puede agregar múltiples servidores.
VENTAJAS
- Se
pueden usar componentes software/hardware de varios fabricantes, contribuye a
la reducción de costos.
- Facilita
la integración entres sistemas distintos y comparte información (Puede integrar
varias PCs sin que tenga el mismo sistema operativo).
- Es más rápido el mantenimiento y desarrollo de aplicaciones (SQL, sockets, RPC).
- Contribuye a proporcionar a los diferentes departamentos de una organización, soluciones locales. Pero permitiendo la integración de la información relevante a nivel global.
DESVENTAJAS
- El
mantenimiento de los sistemas es más difícil pues implica los distintos
componentes de software y hardware distribuidos por distintos proveedores, es difícil
detectar las fallas.
- Escasas
herramientas de administración.
- Los
clientes y servidores deben usar el mimo mecanismo (sockets, RPC), por lo tanto,
deben tener mecanismos generales en distintas plataformas.
- En
el aspecto de la seguridad se deben hacer verificaciones en el cliente y el
servidor.
- El
desempeño puede disminuir por congestión de red y el tráfico de datos.
CONCLUSIÓN
El modelo Cliente-Servidor es importante para la conexión y el intercambio de información a nivel mundial, puesto que el cliente pide y el servidor envía. Lo cual su importancia implica en los sistemas distribuidos, ya que los distintos ordenadores se reparten las tareas. Es posible que su seguridad no sea muy avanzada pero sin el modelo no podrían ejecutarse muchas aplicaciones con las que hoy en día contamos.
Referencias
Aquitectura Cliente-Servidor, EcuRed, sin fecha https://www.ecured.cu/Arquitectura_Cliente_Servidor
Cliente-Servidor, Udlap, sin fecha http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/marquez_a_bm/capitulo5.pdf
Rodrigo Paszniuk, Arquitectura Cliente-Servidor, 2013-07-09, Programación
No hay comentarios:
Publicar un comentario