Modelo Cliente / Servidor

Anuncio
Modelo Cliente / Servidor
Gerardo Grinman
5D
Introducción
• En el mundo de TCP/IP las comunicaciones
entre computadoras se rigen básicamente por
lo que se llama modelo Cliente-Servidor.
• Éste es un modelo que intenta proveer:
– usabilidad,
– flexibilidad,
– interoperabilidad
– y escalabilidad en las comunicaciones.
… Introducción
• Su funcionamiento es sencillo: se tiene una
máquina cliente, que requiere un servicio de
una máquina servidor, y éste realiza la función
para la que está programado (nótese que no
tienen que tratarse de máquinas diferentes; es
decir, una computadora por sí sola puede ser
ambos cliente y servidor dependiendo del
software de configuración ).
Definición
• Una arquitectura distribuida que permite a los
usuarios finales obtener acceso a la
información en forma transparente aún en
entornos multiplataforma.
Funcionamiento
• En el modelo cliente servidor, el cliente envía
un mensaje solicitando un determinado
servicio a un servidor (hace una petición), y
este envía uno o varios mensajes con la
respuesta (provee el servicio). En un sistema
distribuido cada máquina puede cumplir el rol
de servidor para algunas tareas y el rol de
cliente para otras.
… Funcionamiento
• Usualmente la mayoría del trabajo pesado se
hace en el proceso llamado servidor y el o los
procesos cliente sólo se ocupan de la interacción
con el usuario (aunque esto puede variar).
• En otras palabras la arquitectura Cliente/Servidor
es una extensión de programación modular en la
que la base fundamental es separar una gran
pieza de software en módulos con el fin de hacer
más fácil el desarrollo y mejorar su
mantenimiento.
Cliente
• El Cliente normalmente maneja todas las
funciones relacionadas con la manipulación y
despliegue de datos, por lo que están
desarrollados sobre plataformas que permiten
construir interfaces gráficas de usuario (GUI),
además de acceder a los servicios distribuidos
en cualquier parte de una red.
Cliente
• El Cliente es una aplicación o una computadora
que consume un servicio remoto en otro
computador.
• Se utiliza para obtener datos externos (por
ejemplo: paginas web, informacion bursatil o
bases de datos), interactuar con otros usuarios a
traves de un gestor central (BitTorrent o IRC) y
otros ejemplos.
• Uno de los clientes mas utilizados es el
navegador web! Ejemplo: Internet Explorer,
Firefox, Chrome, Opera, etc.
Servidor
• Es el encargado de atender a múltiples
clientes que hacen peticiones de algún recurso
administrado por él.
• El servidor normalmente maneja todas las
funciones relacionadas con la mayoría de las
reglas del negocio y los recursos de datos.
Tipos de Servidores
• Servidor de impresiones: controla una o más impresoras y
acepta trabajos de impresión de otros clientes de la red.
• Servidor de correo: almacena, envía, recibe, enruta y
realiza otras operaciones relacionadas con el correo
electrónico para los clientes de la red.
• Servidor web: almacena documentos HTML, imágenes,
archivos de texto, escrituras, y demás material Web
compuesto por datos (conocidos colectivamente como
contenido), y distribuye este contenido a clientes que la
piden en la red.
• Servidor de base de datos: provee servicios de base de
datos a otros programas u otras computadoras, como es
definido por el modelo cliente-servidor.
Ejemplo
• Para ver una Pagina Web se requiere:
– Un servidor web:
• Maquina servidor (www.google.com, www.ort.edu.ar)
• Programa servidor (Apache, IIS, etc)
– Un cliente
• Maquina cliente (conectada a una red, ejemplo
Internet)
• Programa cliente (Mozilla Firefox, Internet Explorer,
Chrome, etc)
Ventajas
• Centralización del control: los accesos,
recursos y la integridad de los datos son
controlados por el servidor de forma que un
programa cliente defectuoso o no autorizado
no pueda dañar el sistema.
• Escalabilidad: se puede aumentar la capacidad
de clientes y servidores por separado.
• Fácil mantenimiento.
• Aumento de seguridad en las transacciones.
Desventajas
• La congestión del tráfico ha sido siempre un
problema en el paradigma de C/S.
• Cuando un servidor está caído, las peticiones de
los clientes no pueden ser satisfechas.
• El software y el hardware de un servidor son
generalmente muy determinantes.
• El cliente no dispone de los recursos que puedan
existir en el servidor. Por ejemplo, si la aplicación
es una Web, no podemos escribir en el disco duro
del cliente.
Descargar