0% encontró este documento útil (0 votos)
53 vistas35 páginas

Modelo Cliente-Servidor: Fundamentos y Características

Cargado por

joao cisneros
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
53 vistas35 páginas

Modelo Cliente-Servidor: Fundamentos y Características

Cargado por

joao cisneros
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

UNIDAD

Fundamentos del modelo Cliente - Servidor


Carrera: Ingeniería de Sistemas de Información
Docente: Ing. Erick Jhonatan Palomino Alanya
Semestre: 2024 - IC
Logro u Objetivo de la Sesión
Al término de la unidad, el estudiante
comprende el modelo cliente - servidor a partir
de casos planteados por el docente, además
realizará migraciones exitosas de código.
Sesión 05
Modelo Cliente - Servidor
“Es un modelo de comunicación que permite la distribución de
tareas dentro de una red de ordenadores”

“La arquitectura cliente-servidor es un modelo de diseño de


software en el que las tareas se reparten entre los proveedores de
recursos o servicios, llamados servidores, y los demandantes,
llamados clientes”
Definición de Sistemas Cliente-Servidor
En la arquitectura cliente/servidor:
Los clientes (programas que representan entidades que necesitan
servicios) y los servidores (programas que proporcionan servicios)
son objetos separados desde un punto de vista lógico y que se
comunican a través de una red de comunicaciones para realizar
una o varias tareas de forma conjunta.
Un cliente hace una petición de un servicio y recibe la respuesta a
dicha petición; un servidor recibe y procesa la petición, y devuelve
la respuesta solicitada.
Definición de Sistemas Cliente-Servidor
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.
¿Cómo funciona el modelo cliente-
servidor?
1. El cliente realiza la solicitud de un recurso
o un servicio al servidor. Para ello envía
una señal a través de la red, en la que
entrega todas las características de la
función que requiere que se realice.
2. El servidor recibe la solicitud y procesa la
entrada de datos enviada por el cliente,
componiendo una respuesta.
3. Esa respuesta se envía por la red hasta
llegar al cliente que la recibe, y
generalmente, muestra una salida
adecuada para el usuario.
Características de la arquitectura
Cliente - Servidor
Protocolos asimétricos: Hay una relación muchos a uno entre los clientes y un
servidor. Los Clientes siempre inician un diálogo mediante la solicitud de un
servicio. Los Servidores esperan pasivamente por las solicitudes de los clientes.
Encapsulación de servicios: El servidor es un especialista, cuando se le
entrega un mensaje solicitando un servicio, él determina cómo conseguir hacer
el trabajo. Los servidores se pueden actualizar sin afectar a los clientes en tanto
que la interfaz pública de mensajes que se utilice por ambos lados, permanezca
sin cambiar.
Integridad: El código y los datos de un servidor se mantienen centralizados, lo
que origina que el mantenimiento sea más barato y la protección de la
integridad de datos compartidos. Al mismo tiempo, los clientes mantienen su
independencia y “personalidad”.
Características de la arquitectura
Cliente - Servidor
Transparencia de localización: El servidor es un proceso que
puede residir en la misma máquina que el cliente o otra una
máquina diferente de la red. El software cliente/servidor
(midleware) habitualmente oculta la localización de un servidor a
los clientes mediante la redirección de servicios. Un programa
puede actuar tanto como cliente, como servidor o como cliente y
servidor simultáneamente.
Intercambios basados en mensajes: Los clientes y servidores son
procesos débilmente acoplados que pueden intercambiar
solicitudes de servicios y respuestas utilizando mensajes.
Características de la arquitectura
Cliente - Servidor
Modularidad, diseño extensible:
• En sistemas tolerantes a fallos, los fallos pueden ocurrir sin causar la
caída de la aplicación completa.
• En una aplicación cliente/servidor tolerante a fallos, uno o más
servidores pueden fallar sin parar el sistema total mientras que los
servicios proporcionados por los servidores caídos estén disponibles
en otros servidores activos
• En una aplicación cliente/servidor puede responder
automáticamente al incremento o decremento de la carga del sistema
mediante la incorporación o eliminación de uno o más servicios o
servidores
Características de la arquitectura
Cliente - Servidor
Independencia de la plataforma: el software cliente/servidor “ideal” es
independiente del hardware o sistemas operativos, permitiendo al
programador mezclar plataformas de clientes y servidores.
• El entorno de explotación de clientes y servidores puede ser sobre
diferentes plataformas, con el fin de optimizar el tipo de trabajo.
Código reutilizable: La implementación de un servicio puede utilizarse en
varios servidores
Escalabilidad : Los sistemas cliente/servidor pueden ser escalados.
• El escalado horizontal significa añadir o eliminar estaciones clientes con
un ligero impacto en el rendimiento.
• El escalado vertical significa la migración a una máquina servidora más
grande y rápida o la incorporación de nuevas máquinas servidoras.
Características de la arquitectura
Cliente - Servidor
Separación de la funcionalidad del cliente/servidor: El modelo
cliente/servidor es una relación entre procesos que se ejecutan
en la misma o en máquinas separadas. Un proceso servidor es
un proveedor de servicios. Un cliente es un consumidor de
servicios. El modelo cliente servidor proporciona una clara
separación de funciones.
Recursos compartidos: Un servidor puede proporcionar
servicios a muchos clientes al mismo tiempo, y regular el
acceso de éstos a un conjunto de recursos compartidos.
Características de la arquitectura
Cliente - Servidor
Combinación de un cliente que interactúa con el usuario.
Las tareas del cliente y del servidor tienen diferentes requerimientos en cuanto
a recursos de cómputo como velocidad del procesador, memoria, velocidad y
capacidades del disco y input-output.
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.
La relación establecida puede ser de muchos a uno, en la que un servidor
puede dar servicio a muchos clientes, regulando su acceso a recursos
compartidos.
El ambiente es heterogéneo. La plataforma de hardware y el sistema operativo
del cliente y del servidor no son siempre la misma.
Características de la arquitectura
Cliente - Servidor
El concepto de escalabilidad tanto horizontal como vertical es
aplicable a cualquier sistema Cliente/Servidor. La escalabilidad
horizontal permite agregar más estaciones de trabajo activas sin
afectar significativamente el rendimiento. La escalabilidad
vertical permite mejorar las características del servidor o agregar
múltiples servidores.
El Cliente
El cliente es una aplicación informática o un ordenador que
consume un servicio remoto en otro ordenador conocido
como servidor, normalmente a través de una red de
telecomunicaciones. También se puede definir que un cliente
es cualquier cosa que no sea un servidor que se conecta a un
servidor.
El 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, además
de acceder a los servicios distribuidos en cualquier parte de
una red.
El Modelo Cliente Servidor (Entidades)
Cliente pesado
• Servidor de archivos
• Servidor de BD
• Servidor de objetos distribuidos
Cliente ligero
• Servidor Web
• Servidor de transacciones
• Servidor de Groupware
• Servidor objetos distribuidos
El Modelo Cliente Servidor (Entidades)
Funciones del Cliente
Administrar la interfaz de usuario.
Interactuar con el usuario.
Procesar la lógica de la aplicación y
hacer validaciones locales.
Generar requerimientos de bases
de datos.
Recibir resultados del servidor.
Formatear resultados.
El Servidor
Es el proceso encargado de atender a múltiples clientes que
hacen peticiones de algún recurso administrado por él. Al
proceso servidor se le conoce con el término back-end.
El servidor normalmente maneja todas las funciones
relacionadas con la mayoría de las reglas del negocio y los
recursos de datos.
Funciones del Servidor
Aceptar los requerimientos de
bases de datos que hacen los
clientes.
Procesar requerimientos de bases
de datos.
Formatear datos para trasmitirlos a
los clientes.
Procesar la lógica de la aplicación y
realizar validaciones a nivel de
bases de datos.
Características del Servidor
Esperar peticiones de clientes
(mensajes). Atender solicitudes
simultáneas - concurrencia.
Prioridades en la atención de las
solicitudes.
Capacidad de lanzar tareas en
segundo plano no relacionadas con
el servicio.
Robustez
Escalabilidad y extensibilidad
Servidores clústeres
Se refiere a una agrupación de
servidores que operan conjuntamente
bajo la misma dirección IP para
proporcionar a los usuarios un mayor
nivel de disponibilidad. Este método
sirve evitar el tiempo de inactividad y
las interrupciones: En caso de fallo de
un servidor, permite que otro tome el
relevo. Generalmente, se suele utilizar
para los servicios de archivos,
impresión, bases de datos y mensajería.
Administración de servidores de
clústeres
El servidor de gestión de clústeres,
también llamado adminSVM, es una
implementación de máquinas
virtuales de almacenamiento (SVM)
especializada que presenta el clúster
como una única entidad gestionable.
Además de servir como dominio
administrativo de nivel superior, el
servidor de gestión de clústeres
posee recursos que no pertenecen
lógicamente a una SVM de datos.
Componentes de servidores de clústeres
• Nodos: Un sistema informático está compuesto por una serie de componentes individuales que se comunican entre
sí, y que reciben el nombre de nodos. En este caso, cada servidor representa un nodo de computación.

• Hardware: Es el conjunto de elementos físicos de cada una de las máquinas.

• Sistema operativo: Todos los servidores poseen un sistema operativo, que posibilita la ejecución de los programas y
la gestión de los recursos. Windows, Linux.

• Red: No es posible transmitir los datos de forma rápida entre los servidores sin una interconexión de red, ya sean
cables Ethernet o fibra por internet de alta velocidad.

• Software maestro o middleware: Este software, que se halla entre el cliente que solicita información y el servidor
que responde a su petición.

• Servicios de sistema: Los servicios de sistema son las distintas configuraciones que permiten despachar el contenido
de cada uno de los nodos.

• Aplicaciones: Todos aquellos programas instalados en los servidores.


El Modelo Cliente Servidor (Entidades)
¿Qué es el middleware?: Es un software con el que las diferentes
aplicaciones se comunican entre sí.
Middleware general:
• Pilas de comunicación
• Directorios distribuidos
• Servicios de autenticación
• Llamadas a procedimiento remoto
Middleware de servicios específicos
• Para bases de datos: ODBC, JDBC
• Para groupware: Lotus
• Para objetos: CORBA 2, DCOM
• Para componentes: CORBA 3, .NET
• Para la web: HTTP, SSL, SOAP
Ventajas del esquema Cliente/Servidor
La existencia de plataformas de hardware cada vez más baratas,
la posibilidad de utilizar máquinas considerablemente más
baratas que las requeridas por una solución centralizada, basada
en sistemas grandes. Además, se pueden utilizar componentes,
tanto de hardware como de software, de varios fabricantes, lo
cual contribuye considerablemente a la reducción de costos y
favorece la flexibilidad en la implantación y actualización de
soluciones.
Ventajas del esquema Cliente/Servidor
Facilita la integración entre sistemas diferentes y comparte
información permitiendo, por ejemplo que las máquinas ya
existentes puedan ser utilizadas pero utilizando interfaces mas
amigables al usuario. De esta manera, podemos integrar PCs con
sistemas medianos y grandes, sin necesidad de que todos tengan
que utilizar el mismo sistema operacional.
Ventajas del esquema Cliente/Servidor
Mayor interacción y más intuitiva con el usuario. En el uso de
interfaces gráficas para el usuario, el esquema Cliente/Servidor
presenta la ventaja, con respecto a uno centralizado, de que no
es siempre necesario transmitir información gráfica por la red
pues esta puede residir en el cliente, lo cual permite
aprovechar mejor el ancho de banda de la red.
Más rápido el mantenimiento y el desarrollo de aplicaciones.
Ventajas del esquema Cliente/Servidor
Facilita además la integración de nuevas tecnologías y el
crecimiento de la infraestructura computacional, favoreciendo
así la escalabilidad de las soluciones.
Desventajas del esquema
Cliente/Servidor
El mantenimiento de los
sistemas es más difícil pues
implica la interacción de
diferentes partes de hardware y
de software, distribuidas por
distintos proveedores, lo cual
dificulta el diagnóstico de fallas.
Desventajas del esquema
Cliente/Servidor
Escasas herramientas para la
administración y ajuste del
desempeño de los sistemas.
Tener estrategias para el manejo
de errores y para mantener la
consistencia de los datos.
Desventajas del esquema
Cliente/Servidor
El desempeño es otro de los
aspectos que se deben tener
en cuenta en el esquema
Cliente/Servidor. Problemas de
este estilo pueden presentarse
por congestión en la red,
dificultad de tráfico de datos,
etc.
Actividad
1. En el modelo cliente servidor, ¿Cómo actúa el Middleware?
2. ¿Que proporciona la tecnología Cliente/Servidor?
3. El proyecto de investigación que usted esta desarrollando ¿esta basado
en el modelo cliente servidor?¿Sí?¿No? Fundamente.
4. Mencione que características del modelo cliente – servidor tiene su
proyecto de investigación.
5. Mencione los componentes (modelo cliente – servidor) de su proyecto
de investigación.
Bibliografía
Bibliografía Básica
- Muñoz Escoí, F. D. (2013). Concurrencia y sistemas distribuidos. Editorial de la Universidad Politécnica de Valencia.
[Link]
- Castro Gil, M. (2012). Comunicaciones industriales: sistemas distribuidos y aplicaciones. UNED - Universidad Nacional de Educación
a Distancia. [Link]
Bibliografía Complementaria
- A.S. Tanenbaum, “Sistemas Operativos Distribuidos”, 2011, Prentice Hall.
- G. Coulouris, J. Dollimore, T. Kindberg “Sistemas Distribuidos”, 2015, Addison Wesley.
- Sistemas distribuidos / Francisco de Asís López Fuentes. México: UAM, Unidad Cuajimalpa, 2015.
- Sistemas distribuidos / David Lizcano Casas. España, Madrid. 2023.
Gracias

También podría gustarte