CLIENTE-SERVIDOR
JUAN ANDRÉS GÁLDOS
CHRISTIAN VALERIANO
TIPOS DE COMUNICACIÓN
• Escribir y recibir datos del cliente, por medio de las funciones write() y read(), que son
exactamente las mismas que usamos para escribir o leer de un fichero.
• Tanto el cliente como el servidor deben saber qué datos esperan recibir, qué datos
tienen que enviar y en qué formato.
• La comunicación se cierra por medio de la función close(), que es la misma que sirve para
cerrar un fichero.
FUNCIONES DEL CLIENTE
• Ejemplos:
• En la misma máquina, sistema de gestión de una consulta de un médico con un solo
ordenador.
• Con servidor único, sistemas basados en LAN con un servidor y varios clientes.
• Con varios servidores de funciones distintas, duplicación de serviores para robustez
frente a fallos o para el aumento del rendimiento,
ELEMENTOS DE ARQUITECTURAS CLIENTE-
SERVIDOR
• Se pueden evidenciar 3 bloques
básicos en una arquitectura cliente-
servidor: Cliente, Servidor y
Middleware.
CLIENTE
• Ejemplos:
• GUI: Windows 3.X, Motif y páginas web sencillas.
• OOUI: MacOs, Windows 32 bits, Gnome, KDE y páginas web que utilizan Java 2 JavaBeans.
CARACTERÍSTICAS DEL CLIENTE:
REQUISITOS DEL SO DEL CLIENTE
• Todos necesitan mecanismo para implementar el mecanismo de solicitud/respuesta (evidente).
• Todos necesitan algún tipo de transferencia de ficheros (intercambio de imágenes, texto...).
• Facilidades multitarea (prioridades, preasignación temporal de tareas, comunicación entre procesos,
threads).
• Imprescindible en clientes sin GUI con multitarea en el servicio y clientes con OOUI .
• Para GUI simples viene bien.
• Para clientes sin GUI y sin multitarea no es necesario
• Portabilidad de código: máquina virtual Java en los clientes.
• Robustez: el servidor no controla los clientes => evitar que un proceso de cliente dé problemas en el
servicio.
EL MIDDLEWARE
• Es un software de capa alta (Por encima de la red física y de las capas de transporte), que
proporciona un enlace de comunicación entre aplicaciones de software independientes.
• Es el enlace que permite que un cliente obtenga un servicio de un servidor.
• Se ubica entre el sistema operativo y las aplicaciones manejando todas aquellas complejas
tareas requeridas para proveer el acceso a datos y aplicaciones entre plataformas
distintas.
• Sirve para crear aplicaciones distribuidas en ambientes heterogéneos.