SlideShare una empresa de Scribd logo
CLIENTE SERVIDOR Alumno: Calzada meza, José Antonio Tema: Cliente Servidor
Tema I: EL PARADIGMA CLIENTE SERVIDOR
EL PARADIGMA CLIENTE SERVIDOR En la práctica el esquema de programación mas utilizado para la implementación de aplicaciones distribuidas es el paradigma cliente - servidor. La motivación fundamental para el empleo del paradigma cliente - servidor surge del problema del rendezvous.  Para entender dicho problema, imaginemos un técnico de computadoras que inicia la ejecución de dos programas en máquinas distintas y que tiene la intención de que dichos programas puedan comunicar entre sí.  Una vez iniciado el primer programa este envía un mensaje a su contertulio. La conexión con la maquina a la cual va dirigido el mensaje se puede establecer en un intervalo de unos pocos milisegundos (recordar que las computadoras funcionan a velocidades muchos ordenes de magnitud por encima de los humanos), por lo que el proceso recién lanzado determina que su contertulio todavía no existe, con lo cual emite un mensaje de error y finaliza su ejecución.
El paradigma cliente-servidor como abstracción El modelo de paso de mensajes No especifica cómo se sincronizan los procesos No especifica cuantos tipos de procesos comunican No especifica el protocolo (diálogo) a seguir entre los procesos El paradigma cliente-servidor es una abstracción del modelo de paso de mensajes Especifica cómo se sincronizan los procesos: el servidor espera de forma pasiva la llegada de peticiones de clientes Especifica que hay dos tipos de procesos y sus roles: servidores y clientes Especifica el modelo de diálogo basado en petición-respuesta Restringirnos al modelo cliente-servidor, limita lo que podemos hacer con una aplicación distribuida, pero abstrae algunos de los problemas asociados al IPC Al desarrollar con APIs cliente-servidor (i.e.servlets) se percibe esa abstracción
El paradigma cliente-servidor como arquitectura software Definición de arquitectura de un sistema software “La arquitectura comprende la enumeración de los componentes software especificando sus interfaces y la relación que estos guardan entre sí” Un patrón arquitectural es una plantilla o descripción que puede aplicarse al diseño de arquitecturas de sistemas que tienen una problemática similar El modelo cliente servidor es un patrón arquitectural de software distribuido que define dos tipos de componentes y un modelo de interacción basado en un diálogo petición-respuesta Este patrón arquitectural puede aplicarse al diseño de aplicaciones distribuidas en múltiples niveles de abstracción
El paradigma cliente-servidor como arquitectura software El patrón cliente-servidor trata de proporcionar una arquitectura escalable para el desarrollo de aplicaciones distribuidas en la que intervienen sólo dos tipos de procesos: clientes y servidores La interacción entre el cliente y el servidor es síncrona El servidor Es pasivo, espera las peticiones de los clientes Cuando recibe peticiones, debe procesarlas y ofrecer una respuesta Suele ser diseñado con objetivos de eficiencia El cliente Es activo, tiene la iniciativa de iniciar el diálogo con el servidor enviando peticiones Por cada petición enviada, se debe obtener una respuesta Suele ser diseñado con el objetivo de interaccionar con el usuario final
El paradigma cliente-servidor como arquitectura de sistema Un sistema distribuido está compuesto por Nodos de procesamiento (ordenadores) Infraestructuras de comunicaciones (red) En muchas ocasiones se eligen características específicas sobre los nodos de procesamiento en términos de hardware, sistema operativo, prestaciones, etc. Estas características dependen del papel que el nodo esté destinado a representar En muchas ocasiones, los ordenadores que están destinados a almacenar procesos servidor (desde el punto de vista de arquitectura software) también son denominados servidores ellos mismos En este caso, por tanto, la palabra servidor se refiere a un equipo, no a un proceso
Tema II: CLIENTE - SERVIDOR
CLIENTE - SERVIDOR TCP es un protocolo orientado a conexión. No hay relaciones maestro/esclavo. Las aplicaciones, sin embargo, utilizan un modelo cliente/servidor en las comunicaciones. Un servidor es una aplicación que ofrece un servicio a usuarios de Internet; un cliente es el que pide ese servicio. Una aplicación consta de una parte de servidor y una de cliente, que se pueden ejecutar en el mismo o en diferentes sistemas.  Los usuarios invocan la parte cliente de la aplicación, que construye una solicitud para ese servicio y se la envía al servidor de la aplicación que usa TCP/IP como transporte.  El servidor es un programa que recibe una solicitud, realiza el servicio requerido y devuelve los resultados en forma de una respuesta. Generalmente un servidor puede tratar múltiples peticiones(múltiples clientes) al mismo tiempo.
CLIENTE - SERVIDOR Algunos servidores esperan las solicitudes en puertos bien conocidos de modo que sus clientes saben a que zócalo IP deben dirigir sus peticiones. El cliente emplea un puerto arbitrario para comunicarse. Los clientes que se quieren comunicar con un servidor que no usa un puerto bien conocido tienen otro mecanismo para saber a qué puerto dirigirse. Este mecanismo podría usar un servicio de registro como Portmap, que utiliza un puerto bien conocido.
Clientes y servidores: quién hace qué? Las aplicaciones distribuidas existen para ofrecer unas funcionalidades al usuario La arquitectura abstracta de una aplicación distribuida cliente-servidor es siempre Capa de presentación Suele residir en el cliente El servidor puede tener funcionalidades de presentación menores Lógica de negocio: Puede residir en el servidor Puede residir en el cliente Puede residir parte en el cliente y parte en el servidor Capa de servicios: Es compartida, aunque suele tener más peso en el servidor
Ejemplos de aplicaciones cliente/servidor La capa de presentación requiere, entre otros: Capacidad para representar documentos HTML C Capacidad para representar imágenes en diferentes formatos C Capacidad para representar e interpretar otros tipos datos (pdf, applets, etc.) C La lógica de la aplicación requiere, entre otros: No hay mucha lógica de negocio en un servidor/cliente web clásico ¿Hay algo en un cliente o en un servidor web que no tenga que ver con Presentar los datos Proporcionar un servicio de lectura/codificación/envío de ficheros? La capa de servicios debe proporcionar, entre otros La implementación del protocolo HTTP Capacidad de acceder a ficheros identificados por un path HTTP S Comprimir y descomprimir un fichero (si se soporta el encodinggzip) C
Ejemplos de aplicaciones cliente/servidor Lógica de negocio en pseudocódigo VENTA (vendedor, numeroProductos, costeProducto){ pagado = numeroProductos*costeProducto ingresos = pagado – pagado*0,1 – pagado*0,15 InsertarEnTabla(TESORERIA, ingresos) BorrarDeTabla(INVENTARIO, numeroProductos) InsertarTabla(MATERIALES, numeroProductos, pagado*0,15) InsertarEnTabla(COMISIONES, vendedor, pagado*0,1)} Quién hace qué? Evidentemente, las tablas de datos deben estar en el servidor para que diferentes tiendas puedan compartirlas (servicio de BBDD) Evidentemente, en el cliente hay una GUI que permite al vendedor introducir su identificador, el número de productos vendidos y el coste por producto pactado ¿Quién implementa la lógica de negocio? ¿Qué pinta tiene el protocolo de nivel de aplicación que necesitamos? •Ambas respuestas están muy relacionadas
Ejemplos de aplicaciones cliente/servidor Solución 1: El servidor proporciona al cliente un servicio para hacer operaciones InsertarEnTabla(tabla, columna, valor) BorrarDeLaTabla(tabla, comuna, valor) Se define un protocolo de petición-respuesta para implementarlo Solución 2: El servidor proporciona al cliente un servicio para hacer operaciones ActualizarVenta(vendedor, numeroProductos, costePorProducto) Se define un protocolo de petición-respuesta para implementarlo Puede haber muchas otras soluciones intermedias Solución 1: ¿Donde reside la lógica de negocio, en el cliente o en el servidor? Solución 2: ¿Dónde reside la lógica de negocio, en el cliente o en el servidor?
Clientes gordos, flacos e híbridos Decimos que un cliente es Flaco (thin) Cuando no implementa en absoluto la lógica de la aplicación Es un mero intermediario entre el usuario y el servidor Requiere muy pocos recursos hardware Gordo (thick, fat) Cuando implementa la mayor parte de la lógica de la aplicación Procesa la información del usuario antes de comunicar con el servidor Requiere capacidad de proceso y, normalmente, capacidad de almacenamiento Híbrido (hybrid) Implementa una parte de la lógica de aplicación Si optamos por una arquitectura basada en un cliente flaco/híbrido El servidor será más complicado  Si optamos por una arquitectura basada en un cliente gordo El servidor será más sencillo
Servidores con estados y sin estados
Servidores con estados y sin estados
Tema III: Mecanismos de caché en la arquitectura cliente-servidor
Mecanismos de Caché El mecanismo de caché, en el contexto de las redes de ordenadores, consiste en duplicar (una parte de) los datos que posee un nodo, en otro distinto del original, con el objetivo de mejorar las prestaciones del acceso a los mismos Las cachés son un elemento esencial de las aplicaciones cliente-servidor Para comprender el funcionamiento de una caché observemos lo siguiente:
Mecanismos de Caché
Mecanismos de Caché El mecanismo de caché, en el contexto de las redes de ordenadores, consiste en duplicar (una parte de) los datos que posee un nodo, en otro distinto del original, con el objetivo de mejorar las prestaciones del acceso a los mismos Las cachés son un elemento esencial de las aplicaciones cliente-servidor Para comprender el funcionamiento de una caché observemos lo siguiente:
Mecanismos de Caché El mecanismo de caché, en el contexto de las redes de ordenadores, consiste en duplicar (una parte de) los datos que posee un nodo, en otro distinto del original, con el objetivo de mejorar las prestaciones del acceso a los mismos Las cachés son un elemento esencial de las aplicaciones cliente-servidor Para comprender el funcionamiento de una caché observemos lo siguiente:
¿Por qué la caché mejora la eficiencia? Mejora en términos de latencia Escenario: t1 = Latencia cliente-caché, t2 = Latencia caché-servidor Descarga de servidor (proceso inmediato): TServ = t1 + t2 + t2 + t1 = 2(t1+t2) Descarga de caché (proceso inmediato): TCache = t1 + t1 = 2t1 La descarga desde la caché siempre tiene latencia de comunicación menor Mejora en términos de ancho de banda/tiempo de servicio Escenario: Fichero de 1G, 100 clientes que comparten la misma caché Sin caché: el servidor proporciona 100G bytes de datos a través de su línea Con caché: el servidor proporciona 1G byte de datos a través de su línea Mejora en términos de escalabilidad Parte del trabajo del servidor la hace la caché: el servidor soporta más clientes En general, la presencia de un sistema de caché permite que el cliente tenga “la respuesta” a sus peticiones de manera mucho más rápida

Más contenido relacionado

La actualidad más candente

Arquitectura
ArquitecturaArquitectura
Arquitectura
miguel966
 
Cliente Servidor
Cliente ServidorCliente Servidor
Cliente Servidor
Jimmy Campo
 
Modelo cliente servidor
Modelo cliente servidor Modelo cliente servidor
Modelo cliente servidor
Andreina Silva
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
Noe Gonzalez Mendoza
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidorPriscyArriaga
 
Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...
Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...
Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...
Samhya LLerena
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidorMiguel Orquera
 
Diseño de software en arquitectura cliente servidor
Diseño de software en arquitectura cliente   servidorDiseño de software en arquitectura cliente   servidor
Diseño de software en arquitectura cliente servidorCintia Cadena
 
Estructura del cliente servidor
Estructura del cliente servidorEstructura del cliente servidor
Estructura del cliente servidormasaquiza-07
 
Sistemas cliente servidor
Sistemas cliente   servidorSistemas cliente   servidor
Sistemas cliente servidor
Jramos_95
 
Diseno de-software-en-arquitectura-cliente-servidor
Diseno de-software-en-arquitectura-cliente-servidorDiseno de-software-en-arquitectura-cliente-servidor
Diseno de-software-en-arquitectura-cliente-servidorOskr Gamez
 
8 la arquitectura cliente servidor
8 la arquitectura cliente servidor8 la arquitectura cliente servidor
8 la arquitectura cliente servidorbeyoxtli
 
Ensayo Cliente Servidor
Ensayo Cliente ServidorEnsayo Cliente Servidor
Ensayo Cliente Servidor
Jonathan Llerena Stifler
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
Fernando Solis
 

La actualidad más candente (20)

Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
Arquitectura
ArquitecturaArquitectura
Arquitectura
 
Cliente Servidor
Cliente ServidorCliente Servidor
Cliente Servidor
 
Modelo cliente servidor
Modelo cliente servidor Modelo cliente servidor
Modelo cliente servidor
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
Arquitectura cliente
Arquitectura cliente Arquitectura cliente
Arquitectura cliente
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
Arquitectura Cliente-Servidor
Arquitectura Cliente-ServidorArquitectura Cliente-Servidor
Arquitectura Cliente-Servidor
 
Cliente/Servidor
Cliente/ServidorCliente/Servidor
Cliente/Servidor
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...
Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...
Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
Diseño de software en arquitectura cliente servidor
Diseño de software en arquitectura cliente   servidorDiseño de software en arquitectura cliente   servidor
Diseño de software en arquitectura cliente servidor
 
Estructura del cliente servidor
Estructura del cliente servidorEstructura del cliente servidor
Estructura del cliente servidor
 
Sistemas cliente servidor
Sistemas cliente   servidorSistemas cliente   servidor
Sistemas cliente servidor
 
Diseno de-software-en-arquitectura-cliente-servidor
Diseno de-software-en-arquitectura-cliente-servidorDiseno de-software-en-arquitectura-cliente-servidor
Diseno de-software-en-arquitectura-cliente-servidor
 
8 la arquitectura cliente servidor
8 la arquitectura cliente servidor8 la arquitectura cliente servidor
8 la arquitectura cliente servidor
 
Ensayo Cliente Servidor
Ensayo Cliente ServidorEnsayo Cliente Servidor
Ensayo Cliente Servidor
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 

Destacado

Arquitectura Cliente/ servidor
Arquitectura Cliente/ servidorArquitectura Cliente/ servidor
Arquitectura Cliente/ servidor
Jorge Luis Arcaya
 
Mapa conceptual Arquitectura Cliente/Servidor SAIA Pag. Web
Mapa conceptual Arquitectura Cliente/Servidor SAIA  Pag. WebMapa conceptual Arquitectura Cliente/Servidor SAIA  Pag. Web
Mapa conceptual Arquitectura Cliente/Servidor SAIA Pag. Web
Hector A. D'hoy
 
Instalacion y configuracion servidor y cliente nis 12.04
Instalacion y configuracion servidor y cliente nis 12.04Instalacion y configuracion servidor y cliente nis 12.04
Instalacion y configuracion servidor y cliente nis 12.04
Yerlin Delgado
 
Plataformas TecnolóGicas Para El Apoyo Al Aprendizaje
Plataformas TecnolóGicas Para El Apoyo Al AprendizajePlataformas TecnolóGicas Para El Apoyo Al Aprendizaje
Plataformas TecnolóGicas Para El Apoyo Al Aprendizaje
Isac Andrés Castañeda Chairez
 
Recursos tecnológicos
Recursos tecnológicosRecursos tecnológicos
Recursos tecnológicos
Fury012
 
Equipos de interconexión
Equipos de interconexiónEquipos de interconexión
Equipos de interconexiónJesii
 
Arquitectura cliente servidor orlando casadiego remington cucuta
Arquitectura cliente servidor orlando casadiego remington cucutaArquitectura cliente servidor orlando casadiego remington cucuta
Arquitectura cliente servidor orlando casadiego remington cucutaOrlando Casadiego
 
Aca les traigo los aclamados seriales para halo 2 activation
Aca les traigo los aclamados seriales para halo 2 activationAca les traigo los aclamados seriales para halo 2 activation
Aca les traigo los aclamados seriales para halo 2 activationbebeangelikal
 
Dispositivos de interconexion
Dispositivos de interconexionDispositivos de interconexion
Dispositivos de interconexion
giovanna_albarracin
 
Dispositivos de interconexión
Dispositivos de interconexiónDispositivos de interconexión
Dispositivos de interconexión
RonnyHurtado22
 
InspIRCd y X-Chat Gnome en Ubuntu (Servidor y cliente IRC)
InspIRCd y X-Chat Gnome en Ubuntu (Servidor y cliente IRC)InspIRCd y X-Chat Gnome en Ubuntu (Servidor y cliente IRC)
InspIRCd y X-Chat Gnome en Ubuntu (Servidor y cliente IRC)Jose Luis Lopez Pino
 
Arquitectura
ArquitecturaArquitectura
Arquitectura
Sam Meci
 
2012 05 11 (uned) emadrid anavarro ucm aquitectura campus virtual multiplataf...
2012 05 11 (uned) emadrid anavarro ucm aquitectura campus virtual multiplataf...2012 05 11 (uned) emadrid anavarro ucm aquitectura campus virtual multiplataf...
2012 05 11 (uned) emadrid anavarro ucm aquitectura campus virtual multiplataf...
eMadrid network
 
Apuntes entorno cliente servidor 3r parcial
Apuntes entorno cliente servidor 3r parcialApuntes entorno cliente servidor 3r parcial
Apuntes entorno cliente servidor 3r parcial
Malteadas
 
Dispositivos de Interconexión de Redes
Dispositivos de Interconexión de RedesDispositivos de Interconexión de Redes
Dispositivos de Interconexión de Redes
nachi93
 
Dispositivos de Interconexión'
Dispositivos de Interconexión'Dispositivos de Interconexión'
Dispositivos de Interconexión'
Arid Nicole Oropeza
 
Cliente servidor
Cliente   servidorCliente   servidor
Cliente servidor
Luis Alberto HeMo
 

Destacado (20)

Arquitectura Cliente/ servidor
Arquitectura Cliente/ servidorArquitectura Cliente/ servidor
Arquitectura Cliente/ servidor
 
Mapa conceptual Arquitectura Cliente/Servidor SAIA Pag. Web
Mapa conceptual Arquitectura Cliente/Servidor SAIA  Pag. WebMapa conceptual Arquitectura Cliente/Servidor SAIA  Pag. Web
Mapa conceptual Arquitectura Cliente/Servidor SAIA Pag. Web
 
Instalacion y configuracion servidor y cliente nis 12.04
Instalacion y configuracion servidor y cliente nis 12.04Instalacion y configuracion servidor y cliente nis 12.04
Instalacion y configuracion servidor y cliente nis 12.04
 
Plataformas TecnolóGicas Para El Apoyo Al Aprendizaje
Plataformas TecnolóGicas Para El Apoyo Al AprendizajePlataformas TecnolóGicas Para El Apoyo Al Aprendizaje
Plataformas TecnolóGicas Para El Apoyo Al Aprendizaje
 
Recursos tecnológicos
Recursos tecnológicosRecursos tecnológicos
Recursos tecnológicos
 
Equipos de interconexión
Equipos de interconexiónEquipos de interconexión
Equipos de interconexión
 
Arquitectura cliente servidor orlando casadiego remington cucuta
Arquitectura cliente servidor orlando casadiego remington cucutaArquitectura cliente servidor orlando casadiego remington cucuta
Arquitectura cliente servidor orlando casadiego remington cucuta
 
Conceptos basicos
Conceptos basicosConceptos basicos
Conceptos basicos
 
Aca les traigo los aclamados seriales para halo 2 activation
Aca les traigo los aclamados seriales para halo 2 activationAca les traigo los aclamados seriales para halo 2 activation
Aca les traigo los aclamados seriales para halo 2 activation
 
Dispositivos de interconexion
Dispositivos de interconexionDispositivos de interconexion
Dispositivos de interconexion
 
Dispositivos de interconexión
Dispositivos de interconexiónDispositivos de interconexión
Dispositivos de interconexión
 
InspIRCd y X-Chat Gnome en Ubuntu (Servidor y cliente IRC)
InspIRCd y X-Chat Gnome en Ubuntu (Servidor y cliente IRC)InspIRCd y X-Chat Gnome en Ubuntu (Servidor y cliente IRC)
InspIRCd y X-Chat Gnome en Ubuntu (Servidor y cliente IRC)
 
Arquitectura
ArquitecturaArquitectura
Arquitectura
 
2012 05 11 (uned) emadrid anavarro ucm aquitectura campus virtual multiplataf...
2012 05 11 (uned) emadrid anavarro ucm aquitectura campus virtual multiplataf...2012 05 11 (uned) emadrid anavarro ucm aquitectura campus virtual multiplataf...
2012 05 11 (uned) emadrid anavarro ucm aquitectura campus virtual multiplataf...
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
Apuntes entorno cliente servidor 3r parcial
Apuntes entorno cliente servidor 3r parcialApuntes entorno cliente servidor 3r parcial
Apuntes entorno cliente servidor 3r parcial
 
Dispositivos De InterconexióN
Dispositivos De InterconexióNDispositivos De InterconexióN
Dispositivos De InterconexióN
 
Dispositivos de Interconexión de Redes
Dispositivos de Interconexión de RedesDispositivos de Interconexión de Redes
Dispositivos de Interconexión de Redes
 
Dispositivos de Interconexión'
Dispositivos de Interconexión'Dispositivos de Interconexión'
Dispositivos de Interconexión'
 
Cliente servidor
Cliente   servidorCliente   servidor
Cliente servidor
 

Similar a Cliente servidor

Clientes servidor
Clientes servidorClientes servidor
Clientes servidor
ELIZABETH PULLA
 
Modelo cliente servidor bcva 45_a
Modelo cliente servidor bcva 45_aModelo cliente servidor bcva 45_a
Modelo cliente servidor bcva 45_a
Brenda Cecilia Villalobos Avendaño
 
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
José Antonio Sandoval Acosta
 
Apuntes materia entorno cliente servidor
Apuntes materia entorno cliente servidorApuntes materia entorno cliente servidor
Apuntes materia entorno cliente servidor
Malteadas
 
Arquitectura Web
Arquitectura WebArquitectura Web
Arquitectura Web
lissette_torrealba
 
Tarea1 cliente servidor1_buenaventura_jarrison
Tarea1 cliente servidor1_buenaventura_jarrisonTarea1 cliente servidor1_buenaventura_jarrison
Tarea1 cliente servidor1_buenaventura_jarrison
Jarrison Buenaventura
 
Compu 3
Compu 3Compu 3
Compu 3
Dani2lugeme
 
Compu 3
Compu 3Compu 3
Compu 3
Dani2lugeme
 
Arquitectura web
Arquitectura webArquitectura web
Arquitectura web
Rene Guaman-Quinche
 
Cliente servidor 2
Cliente servidor 2Cliente servidor 2
Cliente servidor 2
Fernando Solis
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 Capas
Fani Calle
 
Diapositivas diego
Diapositivas diegoDiapositivas diego
Diapositivas diegodbastos15
 
Conexion dinamica
Conexion dinamicaConexion dinamica
Conexion dinamica
m_aguirre
 
Arquitecturas de software
Arquitecturas de software Arquitecturas de software
Arquitecturas de software
Anel Sosa
 
Conceptos Basicos de Bases de Datos Multiusuario
Conceptos Basicos de Bases de DatosMultiusuarioConceptos Basicos de Bases de DatosMultiusuario
Conceptos Basicos de Bases de Datos Multiusuarioheliozwt
 

Similar a Cliente servidor (20)

Clientes servidor
Clientes servidorClientes servidor
Clientes servidor
 
Modelo cliente servidor bcva 45_a
Modelo cliente servidor bcva 45_aModelo cliente servidor bcva 45_a
Modelo cliente servidor bcva 45_a
 
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
 
Apuntes materia entorno cliente servidor
Apuntes materia entorno cliente servidorApuntes materia entorno cliente servidor
Apuntes materia entorno cliente servidor
 
Arquitectura Web
Arquitectura WebArquitectura Web
Arquitectura Web
 
Tarea1 cliente servidor1_buenaventura_jarrison
Tarea1 cliente servidor1_buenaventura_jarrisonTarea1 cliente servidor1_buenaventura_jarrison
Tarea1 cliente servidor1_buenaventura_jarrison
 
Compu 3
Compu 3Compu 3
Compu 3
 
Compu 3
Compu 3Compu 3
Compu 3
 
Arquitectura web
Arquitectura webArquitectura web
Arquitectura web
 
Cliente servidor 2
Cliente servidor 2Cliente servidor 2
Cliente servidor 2
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 Capas
 
Soa
SoaSoa
Soa
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
bd
bdbd
bd
 
Diapositivas diego
Diapositivas diegoDiapositivas diego
Diapositivas diego
 
Conexion dinamica
Conexion dinamicaConexion dinamica
Conexion dinamica
 
Arquitectura de Software
Arquitectura de SoftwareArquitectura de Software
Arquitectura de Software
 
Presentacion
PresentacionPresentacion
Presentacion
 
Arquitecturas de software
Arquitecturas de software Arquitecturas de software
Arquitecturas de software
 
Conceptos Basicos de Bases de Datos Multiusuario
Conceptos Basicos de Bases de DatosMultiusuarioConceptos Basicos de Bases de DatosMultiusuario
Conceptos Basicos de Bases de Datos Multiusuario
 

Más de Calzada Meza

Virus informática
Virus informáticaVirus informática
Virus informática
Calzada Meza
 
Calidad y validacion
Calidad y validacionCalidad y validacion
Calidad y validacion
Calzada Meza
 
Topicos de ingeneria_de_sistema_sii_calzada1
Topicos de ingeneria_de_sistema_sii_calzada1Topicos de ingeneria_de_sistema_sii_calzada1
Topicos de ingeneria_de_sistema_sii_calzada1Calzada Meza
 
Topicos ii calzada
Topicos ii calzadaTopicos ii calzada
Topicos ii calzadaCalzada Meza
 
Wsdl bpel4ws chumpitaz
Wsdl bpel4ws chumpitazWsdl bpel4ws chumpitaz
Wsdl bpel4ws chumpitazCalzada Meza
 
Exposicion topicos avanzados_chumpitaz
Exposicion topicos avanzados_chumpitazExposicion topicos avanzados_chumpitaz
Exposicion topicos avanzados_chumpitazCalzada Meza
 
2 do trabajo-penas
2 do trabajo-penas2 do trabajo-penas
2 do trabajo-penasCalzada Meza
 
1 er trabajo-penas1
1 er trabajo-penas11 er trabajo-penas1
1 er trabajo-penas1
Calzada Meza
 
Criptosistemas de cifrado en flujo
Criptosistemas de cifrado en flujoCriptosistemas de cifrado en flujo
Criptosistemas de cifrado en flujo
Calzada Meza
 
Planeamiento estregico
Planeamiento estregicoPlaneamiento estregico
Planeamiento estregico
Calzada Meza
 
Seguridad informática
Seguridad informáticaSeguridad informática
Seguridad informáticaCalzada Meza
 
Compiladores
CompiladoresCompiladores
Compiladores
Calzada Meza
 
Universidad josé carlos mariátegui+logica difusa
Universidad josé carlos mariátegui+logica difusaUniversidad josé carlos mariátegui+logica difusa
Universidad josé carlos mariátegui+logica difusa
Calzada Meza
 
Inteligencia artificial piensa en forma racional
Inteligencia artificial piensa en forma racionalInteligencia artificial piensa en forma racional
Inteligencia artificial piensa en forma racionalCalzada Meza
 
Inteligencia artificial piensa en forma racional
Inteligencia artificial piensa en forma racionalInteligencia artificial piensa en forma racional
Inteligencia artificial piensa en forma racional
Calzada Meza
 
Inteligencia artificial piensa en forma racional
Inteligencia artificial piensa en forma racionalInteligencia artificial piensa en forma racional
Inteligencia artificial piensa en forma racional
Calzada Meza
 

Más de Calzada Meza (20)

Virus informática
Virus informáticaVirus informática
Virus informática
 
Calidad y validacion
Calidad y validacionCalidad y validacion
Calidad y validacion
 
Topicos de ingeneria_de_sistema_sii_calzada1
Topicos de ingeneria_de_sistema_sii_calzada1Topicos de ingeneria_de_sistema_sii_calzada1
Topicos de ingeneria_de_sistema_sii_calzada1
 
Topicos ii calzada
Topicos ii calzadaTopicos ii calzada
Topicos ii calzada
 
Trabajoartemio
TrabajoartemioTrabajoartemio
Trabajoartemio
 
Wsdl bpel4ws chumpitaz
Wsdl bpel4ws chumpitazWsdl bpel4ws chumpitaz
Wsdl bpel4ws chumpitaz
 
Exposicion topicos avanzados_chumpitaz
Exposicion topicos avanzados_chumpitazExposicion topicos avanzados_chumpitaz
Exposicion topicos avanzados_chumpitaz
 
2 do trabajo-penas
2 do trabajo-penas2 do trabajo-penas
2 do trabajo-penas
 
1 er trabajo-penas1
1 er trabajo-penas11 er trabajo-penas1
1 er trabajo-penas1
 
Legislaci..
Legislaci..Legislaci..
Legislaci..
 
Topicos ii
Topicos iiTopicos ii
Topicos ii
 
Criptosistemas de cifrado en flujo
Criptosistemas de cifrado en flujoCriptosistemas de cifrado en flujo
Criptosistemas de cifrado en flujo
 
Compilador2
Compilador2Compilador2
Compilador2
 
Planeamiento estregico
Planeamiento estregicoPlaneamiento estregico
Planeamiento estregico
 
Seguridad informática
Seguridad informáticaSeguridad informática
Seguridad informática
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Universidad josé carlos mariátegui+logica difusa
Universidad josé carlos mariátegui+logica difusaUniversidad josé carlos mariátegui+logica difusa
Universidad josé carlos mariátegui+logica difusa
 
Inteligencia artificial piensa en forma racional
Inteligencia artificial piensa en forma racionalInteligencia artificial piensa en forma racional
Inteligencia artificial piensa en forma racional
 
Inteligencia artificial piensa en forma racional
Inteligencia artificial piensa en forma racionalInteligencia artificial piensa en forma racional
Inteligencia artificial piensa en forma racional
 
Inteligencia artificial piensa en forma racional
Inteligencia artificial piensa en forma racionalInteligencia artificial piensa en forma racional
Inteligencia artificial piensa en forma racional
 

Último

INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdfINFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
Alejandrogarciapanta
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
LorenaCovarrubias12
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
DIANADIAZSILVA1
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
https://gramadal.wordpress.com/
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
LorenaCovarrubias12
 
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Demetrio Ccesa Rayme
 
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
rosannatasaycoyactay
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
BetzabePecheSalcedo1
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Demetrio Ccesa Rayme
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
LilianaRivera778668
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
pablomarin116
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
SandraBenitez52
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
jmorales40
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
YolandaRodriguezChin
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
CESAR MIJAEL ESPINOZA SALAZAR
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
sandradianelly
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
Ruben53283
 
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
AracelidelRocioOrdez
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
Demetrio Ccesa Rayme
 
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docxENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
SandraPiza2
 

Último (20)

INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdfINFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
 
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
 
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
 
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docxENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
 

Cliente servidor

  • 1. CLIENTE SERVIDOR Alumno: Calzada meza, José Antonio Tema: Cliente Servidor
  • 2. Tema I: EL PARADIGMA CLIENTE SERVIDOR
  • 3. EL PARADIGMA CLIENTE SERVIDOR En la práctica el esquema de programación mas utilizado para la implementación de aplicaciones distribuidas es el paradigma cliente - servidor. La motivación fundamental para el empleo del paradigma cliente - servidor surge del problema del rendezvous. Para entender dicho problema, imaginemos un técnico de computadoras que inicia la ejecución de dos programas en máquinas distintas y que tiene la intención de que dichos programas puedan comunicar entre sí. Una vez iniciado el primer programa este envía un mensaje a su contertulio. La conexión con la maquina a la cual va dirigido el mensaje se puede establecer en un intervalo de unos pocos milisegundos (recordar que las computadoras funcionan a velocidades muchos ordenes de magnitud por encima de los humanos), por lo que el proceso recién lanzado determina que su contertulio todavía no existe, con lo cual emite un mensaje de error y finaliza su ejecución.
  • 4. El paradigma cliente-servidor como abstracción El modelo de paso de mensajes No especifica cómo se sincronizan los procesos No especifica cuantos tipos de procesos comunican No especifica el protocolo (diálogo) a seguir entre los procesos El paradigma cliente-servidor es una abstracción del modelo de paso de mensajes Especifica cómo se sincronizan los procesos: el servidor espera de forma pasiva la llegada de peticiones de clientes Especifica que hay dos tipos de procesos y sus roles: servidores y clientes Especifica el modelo de diálogo basado en petición-respuesta Restringirnos al modelo cliente-servidor, limita lo que podemos hacer con una aplicación distribuida, pero abstrae algunos de los problemas asociados al IPC Al desarrollar con APIs cliente-servidor (i.e.servlets) se percibe esa abstracción
  • 5. El paradigma cliente-servidor como arquitectura software Definición de arquitectura de un sistema software “La arquitectura comprende la enumeración de los componentes software especificando sus interfaces y la relación que estos guardan entre sí” Un patrón arquitectural es una plantilla o descripción que puede aplicarse al diseño de arquitecturas de sistemas que tienen una problemática similar El modelo cliente servidor es un patrón arquitectural de software distribuido que define dos tipos de componentes y un modelo de interacción basado en un diálogo petición-respuesta Este patrón arquitectural puede aplicarse al diseño de aplicaciones distribuidas en múltiples niveles de abstracción
  • 6. El paradigma cliente-servidor como arquitectura software El patrón cliente-servidor trata de proporcionar una arquitectura escalable para el desarrollo de aplicaciones distribuidas en la que intervienen sólo dos tipos de procesos: clientes y servidores La interacción entre el cliente y el servidor es síncrona El servidor Es pasivo, espera las peticiones de los clientes Cuando recibe peticiones, debe procesarlas y ofrecer una respuesta Suele ser diseñado con objetivos de eficiencia El cliente Es activo, tiene la iniciativa de iniciar el diálogo con el servidor enviando peticiones Por cada petición enviada, se debe obtener una respuesta Suele ser diseñado con el objetivo de interaccionar con el usuario final
  • 7. El paradigma cliente-servidor como arquitectura de sistema Un sistema distribuido está compuesto por Nodos de procesamiento (ordenadores) Infraestructuras de comunicaciones (red) En muchas ocasiones se eligen características específicas sobre los nodos de procesamiento en términos de hardware, sistema operativo, prestaciones, etc. Estas características dependen del papel que el nodo esté destinado a representar En muchas ocasiones, los ordenadores que están destinados a almacenar procesos servidor (desde el punto de vista de arquitectura software) también son denominados servidores ellos mismos En este caso, por tanto, la palabra servidor se refiere a un equipo, no a un proceso
  • 8. Tema II: CLIENTE - SERVIDOR
  • 9. CLIENTE - SERVIDOR TCP es un protocolo orientado a conexión. No hay relaciones maestro/esclavo. Las aplicaciones, sin embargo, utilizan un modelo cliente/servidor en las comunicaciones. Un servidor es una aplicación que ofrece un servicio a usuarios de Internet; un cliente es el que pide ese servicio. Una aplicación consta de una parte de servidor y una de cliente, que se pueden ejecutar en el mismo o en diferentes sistemas. Los usuarios invocan la parte cliente de la aplicación, que construye una solicitud para ese servicio y se la envía al servidor de la aplicación que usa TCP/IP como transporte. El servidor es un programa que recibe una solicitud, realiza el servicio requerido y devuelve los resultados en forma de una respuesta. Generalmente un servidor puede tratar múltiples peticiones(múltiples clientes) al mismo tiempo.
  • 10. CLIENTE - SERVIDOR Algunos servidores esperan las solicitudes en puertos bien conocidos de modo que sus clientes saben a que zócalo IP deben dirigir sus peticiones. El cliente emplea un puerto arbitrario para comunicarse. Los clientes que se quieren comunicar con un servidor que no usa un puerto bien conocido tienen otro mecanismo para saber a qué puerto dirigirse. Este mecanismo podría usar un servicio de registro como Portmap, que utiliza un puerto bien conocido.
  • 11. Clientes y servidores: quién hace qué? Las aplicaciones distribuidas existen para ofrecer unas funcionalidades al usuario La arquitectura abstracta de una aplicación distribuida cliente-servidor es siempre Capa de presentación Suele residir en el cliente El servidor puede tener funcionalidades de presentación menores Lógica de negocio: Puede residir en el servidor Puede residir en el cliente Puede residir parte en el cliente y parte en el servidor Capa de servicios: Es compartida, aunque suele tener más peso en el servidor
  • 12. Ejemplos de aplicaciones cliente/servidor La capa de presentación requiere, entre otros: Capacidad para representar documentos HTML C Capacidad para representar imágenes en diferentes formatos C Capacidad para representar e interpretar otros tipos datos (pdf, applets, etc.) C La lógica de la aplicación requiere, entre otros: No hay mucha lógica de negocio en un servidor/cliente web clásico ¿Hay algo en un cliente o en un servidor web que no tenga que ver con Presentar los datos Proporcionar un servicio de lectura/codificación/envío de ficheros? La capa de servicios debe proporcionar, entre otros La implementación del protocolo HTTP Capacidad de acceder a ficheros identificados por un path HTTP S Comprimir y descomprimir un fichero (si se soporta el encodinggzip) C
  • 13. Ejemplos de aplicaciones cliente/servidor Lógica de negocio en pseudocódigo VENTA (vendedor, numeroProductos, costeProducto){ pagado = numeroProductos*costeProducto ingresos = pagado – pagado*0,1 – pagado*0,15 InsertarEnTabla(TESORERIA, ingresos) BorrarDeTabla(INVENTARIO, numeroProductos) InsertarTabla(MATERIALES, numeroProductos, pagado*0,15) InsertarEnTabla(COMISIONES, vendedor, pagado*0,1)} Quién hace qué? Evidentemente, las tablas de datos deben estar en el servidor para que diferentes tiendas puedan compartirlas (servicio de BBDD) Evidentemente, en el cliente hay una GUI que permite al vendedor introducir su identificador, el número de productos vendidos y el coste por producto pactado ¿Quién implementa la lógica de negocio? ¿Qué pinta tiene el protocolo de nivel de aplicación que necesitamos? •Ambas respuestas están muy relacionadas
  • 14. Ejemplos de aplicaciones cliente/servidor Solución 1: El servidor proporciona al cliente un servicio para hacer operaciones InsertarEnTabla(tabla, columna, valor) BorrarDeLaTabla(tabla, comuna, valor) Se define un protocolo de petición-respuesta para implementarlo Solución 2: El servidor proporciona al cliente un servicio para hacer operaciones ActualizarVenta(vendedor, numeroProductos, costePorProducto) Se define un protocolo de petición-respuesta para implementarlo Puede haber muchas otras soluciones intermedias Solución 1: ¿Donde reside la lógica de negocio, en el cliente o en el servidor? Solución 2: ¿Dónde reside la lógica de negocio, en el cliente o en el servidor?
  • 15. Clientes gordos, flacos e híbridos Decimos que un cliente es Flaco (thin) Cuando no implementa en absoluto la lógica de la aplicación Es un mero intermediario entre el usuario y el servidor Requiere muy pocos recursos hardware Gordo (thick, fat) Cuando implementa la mayor parte de la lógica de la aplicación Procesa la información del usuario antes de comunicar con el servidor Requiere capacidad de proceso y, normalmente, capacidad de almacenamiento Híbrido (hybrid) Implementa una parte de la lógica de aplicación Si optamos por una arquitectura basada en un cliente flaco/híbrido El servidor será más complicado Si optamos por una arquitectura basada en un cliente gordo El servidor será más sencillo
  • 16. Servidores con estados y sin estados
  • 17. Servidores con estados y sin estados
  • 18. Tema III: Mecanismos de caché en la arquitectura cliente-servidor
  • 19. Mecanismos de Caché El mecanismo de caché, en el contexto de las redes de ordenadores, consiste en duplicar (una parte de) los datos que posee un nodo, en otro distinto del original, con el objetivo de mejorar las prestaciones del acceso a los mismos Las cachés son un elemento esencial de las aplicaciones cliente-servidor Para comprender el funcionamiento de una caché observemos lo siguiente:
  • 21. Mecanismos de Caché El mecanismo de caché, en el contexto de las redes de ordenadores, consiste en duplicar (una parte de) los datos que posee un nodo, en otro distinto del original, con el objetivo de mejorar las prestaciones del acceso a los mismos Las cachés son un elemento esencial de las aplicaciones cliente-servidor Para comprender el funcionamiento de una caché observemos lo siguiente:
  • 22. Mecanismos de Caché El mecanismo de caché, en el contexto de las redes de ordenadores, consiste en duplicar (una parte de) los datos que posee un nodo, en otro distinto del original, con el objetivo de mejorar las prestaciones del acceso a los mismos Las cachés son un elemento esencial de las aplicaciones cliente-servidor Para comprender el funcionamiento de una caché observemos lo siguiente:
  • 23. ¿Por qué la caché mejora la eficiencia? Mejora en términos de latencia Escenario: t1 = Latencia cliente-caché, t2 = Latencia caché-servidor Descarga de servidor (proceso inmediato): TServ = t1 + t2 + t2 + t1 = 2(t1+t2) Descarga de caché (proceso inmediato): TCache = t1 + t1 = 2t1 La descarga desde la caché siempre tiene latencia de comunicación menor Mejora en términos de ancho de banda/tiempo de servicio Escenario: Fichero de 1G, 100 clientes que comparten la misma caché Sin caché: el servidor proporciona 100G bytes de datos a través de su línea Con caché: el servidor proporciona 1G byte de datos a través de su línea Mejora en términos de escalabilidad Parte del trabajo del servidor la hace la caché: el servidor soporta más clientes En general, la presencia de un sistema de caché permite que el cliente tenga “la respuesta” a sus peticiones de manera mucho más rápida