Profesor: Mg. Enrique Larios V.
SESIÓN 8
Procesamiento y Comunicación en
Sistemas Distribuidos
Arquitectura de Computadora...
AGENDA
• Definición y concepto
• Clasificación
• Procesos cliente/servidor
• Llamadas a procesos remotos – RPC
• Desarroll...
Definición y concepto
 Un sistema distribuido es aquel en el que dos o más
máquinas colaboran para la obtención de un
res...
Definición y concepto
 En un esquema cliente-servidor, se denomina
cliente la máquina que solicita un determinado
servici...
Definición y concepto
 Por extensión, se puede aplicar el esquema cliente-
servidor dentro de una misma máquina, donde el...
Clasificación
 Se clasifican los sistemas cliente servidor de
acuerdo al nivel de abstracción del servicio que se
ofrece....
Clasificación
 1. Representación distribuida. La interacción con el
usuario se realiza básicamente en el servidor. El
cli...
Clasificación
 2. Representación remota. Los datos se envían sin
formatear, y es el cliente el responsable de
formatear l...
Clasificación
 3. Lógica distribuida. En el cliente se llevan a cabo
la interacción con el usuario y la parte más trivial...
Clasificación
 4. Gestión remota de datos. Tanto la interacción
con el usuario como la aplicación residen en el
cliente, ...
Clasificación
 5. B.D. Distribuidas. El cliente debe conocer la
topología de la red, así como la disposición y
ubicación ...
Clasificación
 Cliente servidor a tres niveles (three tier). La
aplicación se distribuye en los tres niveles:
aplicación,...
Proceso cliente/servidor
 Las máquinas cliente son, en general, PC
monousuario o puestos de trabajo que ofrecen una
inter...
ServidorEstación de trabajo
(cliente)
Entorno genérico cliente/servidor.
LAN o WAN o
Internet
Aplicaciones cliente/servidor
 El software básico es un sistema operativo que se
ejecuta en la plataforma del hardware.
...
Arquitectura genérica cliente/servidor.
Servidor
Estación de trabajo
cliente
Servicios de
presentación
Software de
comunic...
Aplicaciones cliente/servidor
 Las funciones reales de la aplicación pueden
repartirse entre cliente y servidor de forma ...
Aplicaciones de bases de
datos
 El servidor es un servidor de base de datos.
 La interacción entre el cliente y el servi...
Servicios de
presentación
Lógica de
aplicación
Software de
comunicaciones
Sistema operativo
cliente
Plataforma
hardware
Es...
Utilización de bases de datos
cliente/servidor
Servidor
Cliente
Base de datos
de 1.000.000
de registros
Consulta inicial
1...
Cliente
Servidor
Base de datos
de 1.000.000
de registros
Consulta
300.000 registros devueltos
(b) Cliente/servidor mal emp...
Arquitectura cliente/servidor
de tres capas
 El software de aplicación está distribuido entre tres
tipos de máquinas:
 M...
Cliente
Servidor de capa intermedia
(servidor de aplicaciones)
Servidores finales
(servidores de datos)
Arquitectura c/s e...
Middleware
 Conjunto de herramientas que proporcionan una
manera uniforme de acceder a los recursos del
sistema en todas ...
Middleware Middleware
Estación de trabajo cliente
Servicio
de presentación
Lógica de aplicación
Software
de comunicaciones...
Aplicación Aplicación
Plataforma:
SO
Hardware
Plataforma:
SO
Hardware
Interfaz con plataforma
API
Middleware
(Servicio...
Ejemplo de la funcionalidad
del middleware
Ejecutando sobre la
DECnet y en los PC
hay aplicaciones y
middleware
Red
Novell...
Paso distribuido de mensajes
 El paso de mensajes se utiliza para comunicar
procesos.
 Se envían y reciben mensajes, tal...
Primitivas básicas de paso
de mensajes
Proceso
emisor
Proceso
receptor
Módulo de paso
de mensajes
Módulo de paso
de mensaj...
Fiabilidad frente a no
fiabilidad
 Un servicio de paso de mensajes fiable garantiza la
entrega, siempre que sea posible.
...
Bloqueante frente a no
bloqueante
 No bloqueante:
 Un proceso no queda suspendido como resultado
de un Send o un Receive...
Llamadas a procedimiento
remoto
 Permite que programas de máquinas diferentes
interactúen mediante la semántica de
llamad...
Aplicación
cliente
Aplicación local
o
sistema operativo
Presentación
local
Mecanismo
RPC
Aplicación de
servidor remoto
Mec...
Enlace cliente/servidor
 El enlace especifica la relación entre un
procedimiento remoto y el programa llamador.
 Enlaces...
Sincronismo frente a
asincronismo
 RPC síncrona:
 Las llamadas tradicionales a procedimiento
remoto son síncronas, lo qu...
Mecanismos de Orientación
a Objetos
 Un cliente que necesita un servicio envía una
petición a un agente de servicio de ob...
Mecanismos de orientación
a objetos
Solicitador
de objetos
remotos
Agente de
solicitudes
de objetos
Servidor
de objetos
Ap...
Desarrollos Web
 Caso particular de desarrollo cliente servidor con
representación remota, en la cual disponemos de
un pr...
Desarrollos Web
 Incrustación de la lógica de aplicación en el servidor
Web:
 CGI: Common Gateware Interface
 Cada peti...
Desarrollos Web
 Incrustación de la lógica de aplicación en el servidor
Web
 Servlets: Ejecución de aplicaciones Java en...
Desarrollos Web
 Esquema general
Navegador
Web Server
Servlet
Máquina virtual
Java
Conector
CORBA
Servidor
CORBA
Procesos...
Nuevos tipos de dispositivos
 Dispositivos que acceden hoy a internet:
 Internet Explorer, Netscape, Set Top Box, Móvile...
Nuevos tipos de dispositivos
 Problema a resolver:
 Necesidad de adaptar la interfase de usuario a
cada tipo de disposit...
Nuevos tipos de dispositivos
 Tendencia actual
Navegador
Web Server
Páginas HTML
Servidor Aplicaciones Lógica de negocio
...
Nuevos tipos de dispositivos
 Variante de los fabricantes BBDD
Navegador
Web Server
Páginas HTML
Lógica de negocio
DatosB...
Nuevos tipos de dispositivos
 Variante de los fabricantes pasarelas
Navegador
Web Server
Páginas HTML
Lógica de negocio
D...
51
Bibliografía
Libro Descripción
Operating system concepts
Silberschatz, Abraham
Modern Operating Systems
Tanenbaum, Andr...
Gracias por su atención
Upcoming SlideShare
Loading in...5
×

Sesion 08 tel202 2010-1

828

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
828
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Sesion 08 tel202 2010-1

  1. 1. Profesor: Mg. Enrique Larios V. SESIÓN 8 Procesamiento y Comunicación en Sistemas Distribuidos Arquitectura de Computadoras y Sistemas Operativos para Telecomunicaciones
  2. 2. AGENDA • Definición y concepto • Clasificación • Procesos cliente/servidor • Llamadas a procesos remotos – RPC • Desarrollos Web • Bibliografía
  3. 3. Definición y concepto  Un sistema distribuido es aquel en el que dos o más máquinas colaboran para la obtención de un resultado.  En todo sistema distribuido se establecen una o varias comunicaciones siguiendo un protocolo prefijado mediante un esquema cliente-servidor.
  4. 4. Definición y concepto  En un esquema cliente-servidor, se denomina cliente la máquina que solicita un determinado servicio y se denomina servidor la máquina que lo proporciona.  El servicio puede ser la ejecución de un determinado algoritmo, el acceso a determinado banco de información o el acceso a un dispositivo hardware.
  5. 5. Definición y concepto  Por extensión, se puede aplicar el esquema cliente- servidor dentro de una misma máquina, donde el proceso servidor y el proceso cliente son dos procesos independientes que corren dentro de la misma instancia del sistema operativo.  Es por tanto un elemento primordial para que haya un sistema distribuido, la presencia de un medio físico de comunicación entre ambas máquinas, y será la naturaleza de este medio la que marque en muchos casos la viabilidad del sistema.
  6. 6. Clasificación  Se clasifican los sistemas cliente servidor de acuerdo al nivel de abstracción del servicio que se ofrece. Se distinguen tres componentes básicos de software:  Interacción con el usuario  Lógica de Aplicación  Repositorio de datos
  7. 7. Clasificación  1. Representación distribuida. La interacción con el usuario se realiza básicamente en el servidor. El cliente hace de pasarela, de sistema de acceso a los elementos hardware pantalla y teclado. Base de datos Lógica de aplicación Interfase de usuario Terminal físico
  8. 8. Clasificación  2. Representación remota. Los datos se envían sin formatear, y es el cliente el responsable de formatear los datos y realizar las acciones de interacción con el usuario. En este caso, la aplicación y la base de datos se encuentran en el servidor Base de datos Lógica de aplicación Interfase avanzado de usuario Terminal inteligente Interfase básico de usuario
  9. 9. Clasificación  3. Lógica distribuida. En el cliente se llevan a cabo la interacción con el usuario y la parte más trivial de la lógica de la aplicación. En este caso, se llevan a cabo controles básicos de rango de campos, campos obligatorios, etc, mientras que el grueso de la lógica permanece en el servidor. Base de datos Lógica de aplicación PC Desk Top Lógica básica de aplicación Interfase de usuario
  10. 10. Clasificación  4. Gestión remota de datos. Tanto la interacción con el usuario como la aplicación residen en el cliente, siendo el servidor el depositario de los datos. Base de datos PC Desk Top Lógica de aplicación Interfase de usuario
  11. 11. Clasificación  5. B.D. Distribuidas. El cliente debe conocer la topología de la red, así como la disposición y ubicación de los datos. En este caso, se delega parte de la gestión de base de datos a los clientes. Base de datos PC Desk Top Distribución de datos Lógica de aplicación Interfase de usuarioBase de datos
  12. 12. Clasificación  Cliente servidor a tres niveles (three tier). La aplicación se distribuye en los tres niveles: aplicación, datos e interfase de usuario Base de datos PC Desk Top Interfase de usuario Lógica de aplicación
  13. 13. Proceso cliente/servidor  Las máquinas cliente son, en general, PC monousuario o puestos de trabajo que ofrecen una interfaz muy amigable para el usuario final.  Cada servidor ofrece una serie de servicios de usuario compartidos a los clientes.  El servidor permite a los clientes compartir el acceso a la misma base de datos y permite el uso de un sistema de computación de alto rendimiento para gestionar la base de datos.
  14. 14. ServidorEstación de trabajo (cliente) Entorno genérico cliente/servidor. LAN o WAN o Internet
  15. 15. Aplicaciones cliente/servidor  El software básico es un sistema operativo que se ejecuta en la plataforma del hardware.  Las plataformas y los sistemas operativos del cliente y del servidor pueden ser diferentes.  Estas diferencias de niveles inferiores no son relevantes en tanto que un cliente y un servidor compartan los mismos protocolos de comunicación y soporten las mismas aplicaciones.
  16. 16. Arquitectura genérica cliente/servidor. Servidor Estación de trabajo cliente Servicios de presentación Software de comunicaciones Sistema operativo cliente Plataforma hardware Software de comunicaciones Sistema operativo cliente Plataforma hardware Petición Respuesta Interacción de protocolos Lógica de aplicación (parte del cliente) Lógica de aplicación (parte del cliente) Arquitectura genérica cliente/servidor
  17. 17. Aplicaciones cliente/servidor  Las funciones reales de la aplicación pueden repartirse entre cliente y servidor de forma que:  Se obtienen los recursos de la red y de la plataforma.  Se optimiza la capacidad de los usuarios para realizar varias tareas.  Se optimiza la capacidad para cooperar el uno con el otro en el uso de recursos compartidos.
  18. 18. Aplicaciones de bases de datos  El servidor es un servidor de base de datos.  La interacción entre el cliente y el servidor se hace en forma de transacciones:  El cliente realiza una petición a la base de datos y recibe una respuesta de aquella.  El servidor es responsable de mantener la base de datos.
  19. 19. Servicios de presentación Lógica de aplicación Software de comunicaciones Sistema operativo cliente Plataforma hardware Estación de trabajo cliente Petición Respuesta Interacción de protocolo Software de comunicaciones Sistema gestor de base de datos Sistema operativo servidor Plataforma hardware Servidor Lógica de base de datos Lógica de base de datos Arquitectura c/s para aplicaciones de base de datos.
  20. 20. Utilización de bases de datos cliente/servidor Servidor Cliente Base de datos de 1.000.000 de registros Consulta inicial 100.000 registros posibles Consulta siguiente 100.000 registros posibles Consulta final Un registro devuelto (a) Cliente/servidor bien empleado
  21. 21. Cliente Servidor Base de datos de 1.000.000 de registros Consulta 300.000 registros devueltos (b) Cliente/servidor mal empleado Utilización de bases de datos cliente/servidor
  22. 22. Arquitectura cliente/servidor de tres capas  El software de aplicación está distribuido entre tres tipos de máquinas:  Máquina de usuario:  Cliente delgado.  Servidor de capa intermedia:  Pasarelas.  Convierte protocolos.  Mezcla e integra resultados de distintas fuentes de datos.  Servidor final (backend).
  23. 23. Cliente Servidor de capa intermedia (servidor de aplicaciones) Servidores finales (servidores de datos) Arquitectura c/s en capas
  24. 24. Middleware  Conjunto de herramientas que proporcionan una manera uniforme de acceder a los recursos del sistema en todas las plataformas.  Herramienta o conjunto de herramientas que nos permitirán gestionar y coordinar los mecanismos de comunicación  Permite a los programadores  construir aplicaciones que parezcan las mismas.  utilizar el mismo método de acceso a los datos.  Independiza el servicio y su implementación, del S.O. y protocolos de comunicaciones  Permite la convivencia de distintos servicios en una misma máquina
  25. 25. Middleware Middleware Estación de trabajo cliente Servicio de presentación Lógica de aplicación Software de comunicaciones Sistema operativo cliente Plataforma hardware Servidor Software de comunicaciones Servicios de aplicación Sistema operativo servidor Plataforma hardware Interacción de ´Middleware Interacción de protocolos El papel del middleware en la arquitectura cliente/servidor
  26. 26. Aplicación Aplicación Plataforma: SO Hardware Plataforma: SO Hardware Interfaz con plataforma API Middleware (Servicios del sistema distribuido) Visión lógica del middleware
  27. 27. Ejemplo de la funcionalidad del middleware Ejecutando sobre la DECnet y en los PC hay aplicaciones y middleware Red Novell Red central Red TCP/IP DECnet LAN VMS ejecutando en VAX Estaciones de trabajo Puente Servidor de terminales Ejecutando en la red Novell hay aplicaciones, middleware, software de red Novell y OS/2 de IBM Ejecutando sobre la red local TCP/IP hay aplicaciones, middleware, software TPC/IP y UNIX
  28. 28. Paso distribuido de mensajes  El paso de mensajes se utiliza para comunicar procesos.  Se envían y reciben mensajes, tal y como se hace en un sistema único.  Llamadas a procedimiento remoto.
  29. 29. Primitivas básicas de paso de mensajes Proceso emisor Proceso receptor Módulo de paso de mensajes Módulo de paso de mensajes IDProceso Mensaje
  30. 30. Fiabilidad frente a no fiabilidad  Un servicio de paso de mensajes fiable garantiza la entrega, siempre que sea posible.  No es necesario hacer que el proceso emisor sepa que se entregó el mensaje.  Puede enviar el mensaje a la red de comunicaciones sin informar de su éxito ni de su fracaso:  Reduce la complejidad y la sobrecarga.
  31. 31. Bloqueante frente a no bloqueante  No bloqueante:  Un proceso no queda suspendido como resultado de un Send o un Receive.  Ofrece un empleo eficiente y flexible.  Los programas son difíciles de depurar.  Bloqueante:  Un Send bloqueante no devuelve el control al proceso emisor hasta que el mensaje se haya transmitido.  O no devuelve el control hasta que se haya obtenido un acuse de recibo.  Un Receive bloqueante no devuelve el control hasta que el mensaje se haya ubicado en el buffer asignado.
  32. 32. Llamadas a procedimiento remoto  Permite que programas de máquinas diferentes interactúen mediante la semántica de llamadas/retornos a simples procedimientos.  Es un enfoque muy aceptado.  Como la interfaz es estándar:  Los módulos clientes y servidores pueden trasladarse entre computadores y sistemas operativos fácilmente.
  33. 33. Aplicación cliente Aplicación local o sistema operativo Presentación local Mecanismo RPC Aplicación de servidor remoto Mecanismo RPC Presentación local Respuesta local Respuesta local Respuesta local Llamada a proce- dimiento local Llamada a proce- dimiento local Llamada a procedimiento remoto Llamada a procedimiento remoto Mecanismo de llamada a procedimiento remoto
  34. 34. Enlace cliente/servidor  El enlace especifica la relación entre un procedimiento remoto y el programa llamador.  Enlaces no persistentes:  La conexión lógica se establece entre dos procesos en el momento de la llamada remota.  Enlaces persistentes:  Una conexión se mantiene después de que el procedimiento termina.
  35. 35. Sincronismo frente a asincronismo  RPC síncrona:  Las llamadas tradicionales a procedimiento remoto son síncronas, lo que requiere que el proceso llamador espere hasta que el proceso llamado devuelva un valor.  Se comporta de manera muy parecida a una llamada a subrutina.  RPC asíncrona:  No bloquea al llamador.  Permite que un cliente invoque repetidamente a un servidor, generando una serie de peticiones de una vez .
  36. 36. Mecanismos de Orientación a Objetos  Un cliente que necesita un servicio envía una petición a un agente de servicio de objetos.  El agente:  Actúa como un directorio de todos los servicios disponibles en la red.  Llama al objeto adecuado y le pasa los datos relevantes  El objeto remoto atiende la petición y responde al agente, quien devuelve la respuesta al cliente.
  37. 37. Mecanismos de orientación a objetos Solicitador de objetos remotos Agente de solicitudes de objetos Servidor de objetos Aplicación Cliente Servidor Solicitudes y respuestas de objetos Solicitudes y respuestas de objetos Transporte Transporte Red Transporte Red Red (c) Agentes de solicitud de objetos (ORB)
  38. 38. Desarrollos Web  Caso particular de desarrollo cliente servidor con representación remota, en la cual disponemos de un protocolo standard: HTTP y un middleware denominado WebServer.  Cada página puede desencadenar la solicitud de numerosos peticiones adicionales para finalizar el proceso de representación remota.  Se dispone de un lenguaje standard de definición y formateo de páginas: HTML
  39. 39. Desarrollos Web  Incrustación de la lógica de aplicación en el servidor Web:  CGI: Common Gateware Interface  Cada petición HTTP genera un nuevo proceso, el cual analiza la solicitud y genera un resultado. Cada proceso corresponde a una transacción.  Es flexible, ideal para pequeñas aplicaciones de uso reducido  No escala adecuadamente  Páginas ASP: Caso particular de CGI  Entorno propietario Microsoft  Aspectos de rendimiento bastante mejorados
  40. 40. Desarrollos Web  Incrustación de la lógica de aplicación en el servidor Web  Servlets: Ejecución de aplicaciones Java en el servidor que procesan la petición y generan la página de respuesta  No generan un proceso adicional por cada petición  Utilizan un lenguaje de alto nivel (Java)  Objetos CORBA:  Permite la integración de objetos CORBA con el servidor Web, creando una estructura cliente servidor multinivel  Es la solución más generalista y adaptable  Permite fácil, flexible y eficiente integración con BBDD
  41. 41. Desarrollos Web  Esquema general Navegador Web Server Servlet Máquina virtual Java Conector CORBA Servidor CORBA Procesos CGI HTTP Parámetros proceso CORBA RMIBase de datos
  42. 42. Nuevos tipos de dispositivos  Dispositivos que acceden hoy a internet:  Internet Explorer, Netscape, Set Top Box, Móviles WAP, PDAs Palm Pilot, Windows CE, ...
  43. 43. Nuevos tipos de dispositivos  Problema a resolver:  Necesidad de adaptar la interfase de usuario a cada tipo de dispositivo  Medidas a tomar:  Separar la lógica de aplicación de la interfase de usuario  Utilizar métodos estándar de comunicación entre la lógica de aplicación y la interfase de usuario  Uso de herramientas que permitan adaptar rápidamente las aplicaciones a los nuevos tipos de dispositivos que irán apareciendo
  44. 44. Nuevos tipos de dispositivos  Tendencia actual Navegador Web Server Páginas HTML Servidor Aplicaciones Lógica de negocio Datos Base de datos Interfase de usuario Gestor comunicaciones UsuarioMóvil WAP Server Páginas WML SQL XML - - Wml binariohttp
  45. 45. Nuevos tipos de dispositivos  Variante de los fabricantes BBDD Navegador Web Server Páginas HTML Lógica de negocio DatosBase de datos Interfase de usuario Gestor comunicaciones UsuarioMóvil WAP Server Páginas WML XML - - Wml binariohttp
  46. 46. Nuevos tipos de dispositivos  Variante de los fabricantes pasarelas Navegador Web Server Páginas HTML Lógica de negocio Datos Base de datos Interfase de usuario Gestor comunicaciones UsuarioMóvil WAP Server Reglas de traducción WML SQL - - Wml binariohttp Interfase de usuario
  47. 47. 51 Bibliografía Libro Descripción Operating system concepts Silberschatz, Abraham Modern Operating Systems Tanenbaum, Andrew S. Sistemas Operativos Mg. Oporto Díaz, Samuel
  48. 48. Gracias por su atención
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×