Sesion 08 tel202 2010-1

1,187 views

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
1,187
On SlideShare
0
From Embeds
0
Number of Embeds
21
Actions
Shares
0
Downloads
14
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

×