Definiciones Sistemas Distribuidos

16,659 views

Published on

Primer capitulo de Sistemas Distribuidos: definiciones y conceptos

Published in: Technology
  • Be the first to comment

Definiciones Sistemas Distribuidos

  1. 1. Sistemas Distribuidos Lic. Jorge Guerra Guerra Abril 2009 Lic. Jorge Guerra G . Sistemas distribuidos
  2. 2. Lic. Jorge Guerra G . Sistemas distribuidos
  3. 3. Concepto informatico <ul><li>Los conceptos vienen de muchas áreas </li></ul><ul><ul><li>• Sistemas Operativos. </li></ul></ul><ul><ul><li>• Procesamiento en Paralelo. </li></ul></ul><ul><ul><li>• Sistemas en Tiempo Real. </li></ul></ul><ul><ul><li>• Sistemas Multimedia Distribuidos. </li></ul></ul><ul><ul><li>• Tipos de comunicaciones. </li></ul></ul><ul><ul><li>• Bases de datos distribuidas. </li></ul></ul><ul><ul><li>• Cliente – Servidor, Tres niveles, Internet. </li></ul></ul><ul><ul><li>• Objetos, Componentes Distribuidos. </li></ul></ul><ul><ul><li>• Computación Móvil. </li></ul></ul><ul><ul><li>• Aplicaciones Tradicionales. </li></ul></ul>Lic. Jorge Guerra G . Sistemas distribuidos
  4. 4. Lic. Jorge Guerra G . Sistemas distribuidos
  5. 5. Evolucion de las aplicaciones Lic. Jorge Guerra G . Sistemas distribuidos
  6. 6. Modelo N-capas heterogeneo Lic. Jorge Guerra G . Sistemas distribuidos
  7. 7. Modelo espacial C/S Lic. Jorge Guerra G . Sistemas distribuidos
  8. 8. Lic. Jorge Guerra G . Sistemas distribuidos
  9. 9. Lic. Jorge Guerra G . Sistemas distribuidos Definición de Sistema Distribuido <ul><li>Un sistema distribuido es aquel que ofrece servicios implementados sobre una red de computadoras como si se tratara de un único sistema. Esto se logra a través de transparencias de distribución y son: </li></ul><ul><ul><li>Transparencia de localización. </li></ul></ul><ul><ul><li>Transparencia de migración. </li></ul></ul><ul><ul><li>Transparencia de replica </li></ul></ul><ul><ul><li>Transparencia de concurrencia. </li></ul></ul><ul><ul><li>Transparencia de paralelismo. </li></ul></ul><ul><ul><li>Transparencia de acceso. </li></ul></ul><ul><ul><li>Transparencia de reubicacion. </li></ul></ul>
  10. 10. Lic. Jorge Guerra G . Sistemas distribuidos Un sistema distribuido es una colección de computadoras independientes que aparecen ante los usuarios del sistema como una única computadora Tanenbaum Un sistema distribuido es aquel en el que los componentes localizados en computadores, conectados en red, comunican y coordinan sus acciones únicamente mediante el paso de mensajes Coulouris Otras definiciones
  11. 11. Retos <ul><li>Los retos a los cuales se enfrentan los Sistemas Distribuidos son: </li></ul><ul><ul><li>• Heterogeneidad. </li></ul></ul><ul><ul><li>• Extensibilidad. </li></ul></ul><ul><ul><li>• Seguridad. </li></ul></ul><ul><ul><li>• Escalabilidad. </li></ul></ul><ul><ul><li>• Tratamiento de Fallos. </li></ul></ul><ul><ul><li>• Concurrencia. </li></ul></ul><ul><ul><li>• Transparencia. </li></ul></ul>Lic. Jorge Guerra G . Sistemas distribuidos
  12. 12. ¿ Por qué construir sistemas distribuidos? <ul><li>• Compartir recursos </li></ul><ul><li>– Tanto hardware (discos, impresoras), como software (archivos, bases de datos) </li></ul><ul><li>• En algún caso, por economizar </li></ul><ul><ul><li>– Compartir datos es esencial en muchas aplicaciones </li></ul></ul><ul><ul><ul><li>• Equipos de desarrollo comparten herramientas y datos </li></ul></ul></ul><ul><ul><ul><li>• Aplicaciones comerciales ofrecen a usuarios acceso a datos compartidos </li></ul></ul></ul><ul><ul><ul><li>• Trabajo cooperativo en algunas empresas </li></ul></ul></ul><ul><li>• Existen aplicaciones inherentemente distribuidas </li></ul><ul><ul><li>– Por ejemplo, una cadena de supermercados con varias tiendas y almacenes </li></ul></ul><ul><ul><li>– Sistemas de reservas de billetes de líneas aéreas </li></ul></ul>Lic. Jorge Guerra G . Sistemas distribuidos
  13. 13. Lic. Jorge Guerra G . Sistemas distribuidos Características de los Sistemas Distribuidos
  14. 14. Lic. Jorge Guerra G . Sistemas distribuidos
  15. 15. Características de la transparencia en Sistemas Distribuidos Lic. Jorge Guerra G . Sistemas distribuidos
  16. 16. Compartición de recursos Lic. Jorge Guerra G . Sistemas distribuidos
  17. 17. Compartición de recursos (cont) Lic. Jorge Guerra G . Sistemas distribuidos
  18. 18. Sistema Abierto Lic. Jorge Guerra G . Sistemas distribuidos
  19. 19. Escalabilidad Lic. Jorge Guerra G . Sistemas distribuidos
  20. 20. Tolerancia a fallos Lic. Jorge Guerra G . Sistemas distribuidos
  21. 21. Tolerancia a fallos Lic. Jorge Guerra G . Sistemas distribuidos
  22. 22. Seguridad Lic. Jorge Guerra G . Sistemas distribuidos
  23. 23. Ventajas e inconvenientes Lic. Jorge Guerra G . Sistemas distribuidos
  24. 24. Implementacion final Lic. Jorge Guerra G . Sistemas distribuidos
  25. 25. Aplicaciones Lic. Jorge Guerra G . Sistemas distribuidos
  26. 26. Lic. Jorge Guerra G . Sistemas distribuidos
  27. 27. Lic. Jorge Guerra G . Sistemas distribuidos Arquitecturas hardware
  28. 28. Arquitecturas hardware Lic. Jorge Guerra G . Sistemas distribuidos
  29. 29. Arquitecturas usadas en Sistemas Distribuidos <ul><li>Arquitectura basada en capas </li></ul><ul><li>Arquitectura basada en objetos </li></ul><ul><li>Arquitectura centrada en datos compartidos </li></ul><ul><li>Arquitectura basada en eventos </li></ul>Lic. Jorge Guerra G . Sistemas distribuidos
  30. 30. Arquitectura basada en capas Lic. Jorge Guerra G . Sistemas distribuidos
  31. 31. Arquitectura basada en objetos Lic. Jorge Guerra G . Sistemas distribuidos
  32. 32. Arquitectura basada en eventos Lic. Jorge Guerra G . Sistemas distribuidos
  33. 33. Arquitectura basada en datos compartidos Lic. Jorge Guerra G . Sistemas distribuidos
  34. 34. Lic. Jorge Guerra G . Sistemas distribuidos
  35. 35. Lic. Jorge Guerra G . Sistemas distribuidos
  36. 36. Lic. Jorge Guerra G . Sistemas distribuidos
  37. 37. Lic. Jorge Guerra G . Sistemas distribuidos
  38. 38. Paradigmas de Computacion en Red <ul><li>Basado en la distribución de recursos, know-how (el codigo que procesa los recursos) y el procesador donde el codigo se ejecuta, los paradigmas de computación de red puede ser clasificadas como: </li></ul><ul><li>Paradigma Cliente-Servidor </li></ul><ul><li>Paradigma Código-por-demanda </li></ul><ul><li>Paradigma Agente Móvil </li></ul>Lic. Jorge Guerra G .
  39. 39. Paradigma Cliente-Servidor Lic. Jorge Guerra G . Client Server know-how Servidor tiene todo: el know-how, el procesador y los recursos Cliente necesita inteligencia para descubrir al servidor que provee el servicio que se necesita.
  40. 40. Paradigma Cliente-Servidor Lic. Jorge Guerra G . Client Server know-how Ejemplos: RPC, CORBA, XML Web-Services etc.
  41. 41. Paradigma Código-por-demanda Lic. Jorge Guerra G . Server know-how Client Cliente tiene el procesador y los recursos. No tiene el know-how Servidor envía el know-how sobre el cliente .
  42. 42. Paradigma Código-por-demanda Lic. Jorge Guerra G . Server know-how Client
  43. 43. Paradigma Código-por-demanda Lic. Jorge Guerra G . Server Client know-how know-how
  44. 44. Paradigma Código-por-demanda Lic. Jorge Guerra G . Server Client know-how know-how Java Applets son un buen ejemplo de este paradigma.
  45. 45. Paradigma Agente Móvil Lic. Jorge Guerra G . Host Host Cada host en esta red tiene un alto grado de flexibilidad en poseer el know-how, los recursos y los procesadores
  46. 46. Paradigma Agente Móvil Lic. Jorge Guerra G . Host Host
  47. 47. Paradigma Agente Móvil Lic. Jorge Guerra G . Host Host Know-how en la forma de agentes móviles no esta unido a un único host pero esta disponible en toda la red Agente know-how
  48. 48. Paradigma Agente Móvil Lic. Jorge Guerra G . Host Host red Agente know-how
  49. 49. Paradigma Agente Móvil Lic. Jorge Guerra G . Host Host red Agente know-how
  50. 50. Paradigma Agente Móvil Lic. Jorge Guerra G . Host Host Agente know-how
  51. 51. Concepto de Agente Movil <ul><li>Un agente móvil es un objeto el cual puede moverse autónomamente a lo largo de la red de un host a otro con su código y estado de ejecución y realizar ciertas tareas a nombre de un usuario . </li></ul>Lic. Jorge Guerra G .
  52. 52. Nuevos Paradigmas de SD <ul><li>Cluster Computing: </li></ul><ul><ul><li>Dedicados a tareas específicas: </li></ul></ul><ul><ul><ul><li>Altas prestaciones. </li></ul></ul></ul><ul><ul><ul><li>Alta disponibilidad. </li></ul></ul></ul><ul><ul><li>Sistema homogéneo (a menudo dedicado): </li></ul></ul><ul><ul><ul><li>Nodos PCs. </li></ul></ul></ul><ul><ul><ul><li>LAN (de propósito general o específicas). </li></ul></ul></ul><ul><ul><li>Problemática: Grado de acoplamiento, servicios distribuidos. </li></ul></ul><ul><li>Grid Computing: </li></ul><ul><ul><li>Aprovechamiento de recursos creando un uniprocesador virtual. </li></ul></ul><ul><ul><li>Restringido a una serie de tareas. </li></ul></ul><ul><ul><li>Diferentes ámbitos: </li></ul></ul><ul><ul><ul><li>Desde intradepartamentales. </li></ul></ul></ul><ul><ul><ul><li>Hasta intercorporativos. </li></ul></ul></ul><ul><ul><li>Problemática: Coordinación, seguridad, carácter dinámico. </li></ul></ul>Lic. Jorge Guerra G . Sistemas distribuidos
  53. 53. Cluster Computing <ul><li>La idea del Cluster Computing es simple: Un grupo de ordenadores independientes se conectan entre sí. Los elementos conectantes son cables y un software especial de cluster . </li></ul><ul><li>Ya que los distintos ordenadores se complementan, por ejemplo en el caso de Failover o balanceo de cargas. Falla uno, los demás se encargan de su trabajo. Para un ordenador sólo ésto es imposible. De ésta forma se garantiza la alta disponibilidad las 24 horas del día. Igualmente se facilita la administración. La unión &quot;clusterizada&quot; de ordenadores es como un único punto de control, que podrá ser administrado sin ningún problema de forma remota. </li></ul>Lic. Jorge Guerra G . Sistemas distribuidos
  54. 54. Modelo de Cluster Lic. Jorge Guerra G . Sistemas distribuidos
  55. 55. Cluster Computing Lic. Jorge Guerra G . Sistemas distribuidos
  56. 56. Lic. Jorge Guerra G . Sistemas distribuidos
  57. 57. Lic. Jorge Guerra G . Sistemas distribuidos
  58. 58. Modelo de GRID Lic. Jorge Guerra G . Sistemas distribuidos
  59. 59. Lic. Jorge Guerra G . Sistemas distribuidos
  60. 60. Lic. Jorge Guerra G . Sistemas distribuidos
  61. 61. Lic. Jorge Guerra G . Sistemas distribuidos
  62. 62. Desarrollos Web <ul><li>Caso particular de desarrollo cliente servidor con representación remota, en la cual disponemos de un protocolo standard: HTTP y un servidor denominado WebServer. </li></ul><ul><li>Cada página puede desencadenar la solicitud de numerosos peticiones adicionales para finalizar el proceso de representación remota. </li></ul><ul><li>Se dispone de un lenguaje standard de definición y formateo de páginas: HTML </li></ul>Lic. Jorge Guerra G . Sistemas distribuidos
  63. 63. Desarrollos Web <ul><li>Incrustación de la lógica de aplicación en el servidor Web: </li></ul><ul><ul><li>CGI: Common Gateware Interface </li></ul></ul><ul><ul><ul><li>Cada petición HTTP genera un nuevo proceso, el cual analiza la solicitud y genera un resultado. Cada proceso corresponde a una transacción. </li></ul></ul></ul><ul><ul><ul><li>Es flexible, ideal para pequeñas aplicaciones de uso reducido </li></ul></ul></ul><ul><ul><ul><li>No escala adecuadamente </li></ul></ul></ul><ul><ul><li>Plug-ins </li></ul></ul><ul><ul><ul><li>Cada petición HTTP es resuelta por el componente adecuada, dentro del mismo proceso del Web-Server. </li></ul></ul></ul><ul><ul><ul><li>Mejor rendimiento </li></ul></ul></ul><ul><ul><ul><li>Compromete la seguridad y fiabilidad del servidor Web </li></ul></ul></ul><ul><ul><li>Servidor especializado </li></ul></ul><ul><ul><ul><li>Facilidad de desarrollo </li></ul></ul></ul><ul><ul><ul><li>Buen rendimiento </li></ul></ul></ul><ul><ul><ul><li>Rigidez de configuración </li></ul></ul></ul>Lic. Jorge Guerra G . Sistemas distribuidos
  64. 64. Lic. Jorge Guerra G . Sistemas distribuidos
  65. 65. Desarrollos Web <ul><li>Tipos de plug-ins </li></ul><ul><ul><li>HTML incrustado en código </li></ul></ul><ul><ul><ul><li>Se centran en la lógica </li></ul></ul></ul><ul><ul><ul><li>Son fácilmente de optimizables </li></ul></ul></ul><ul><ul><ul><li>Ejemplos: servlets, Perl, Python </li></ul></ul></ul><ul><ul><li>Código incrustado en HTML </li></ul></ul><ul><ul><ul><li>Se centran en el interface de usuario </li></ul></ul></ul><ul><ul><ul><li>Son fáciles de crear y modificar </li></ul></ul></ul><ul><ul><ul><li>No requieren grandes formalismos </li></ul></ul></ul><ul><ul><ul><li>No necesitan una gran formación </li></ul></ul></ul><ul><ul><ul><li>Ejemplos: ASP, JSP, PHP </li></ul></ul></ul>Lic. Jorge Guerra G . Sistemas distribuidos
  66. 66. Lic. Jorge Guerra G . Sistemas distribuidos
  67. 67. Desarrollo Web Lic. Jorge Guerra G . Sistemas distribuidos
  68. 68. Desarrollos Web Lic. Jorge Guerra G . Sistemas distribuidos
  69. 69. Implementacion Lic. Jorge Guerra G . Sistemas distribuidos
  70. 70. Lic. Jorge Guerra G . Sistemas distribuidos
  71. 71. Lic. Jorge Guerra G . Sistemas distribuidos View Controller Model User Modelo Vista Controlador
  72. 72. Nuevos tipos de dispositivos <ul><li>Dispositivos que acceden hoy a internet: </li></ul><ul><ul><li>Internet Explorer, Netscape, Set Top Box, Móviles WAP, PDAs Palm Pilot, Windows CE, ... </li></ul></ul><ul><li>Previsiones para los próximos años: </li></ul><ul><ul><li>2.002 el 50% de las transacciones habituales se podrán realizar desde dispositivos móviles </li></ul></ul><ul><ul><li>2.003 el 80% de los usuarios realizarán algún tipo de transacción desde dispositivos móviles </li></ul></ul><ul><ul><li>2.004 los se querrán realizar el 100% de las transacciones desde dispositivos móviles </li></ul></ul><ul><ul><li>2.005 Se esperan más de 1.000 millones de usuarios móviles de internet </li></ul></ul>Lic. Jorge Guerra G . Sistemas distribuidos
  73. 73. Nuevos tipos de dispositivos <ul><li>Problema a resolver: </li></ul><ul><ul><li>Necesidad de adaptar el interface de usuario a cada tipo de dispositivo </li></ul></ul><ul><li>Medidas a tomar: </li></ul><ul><ul><li>Separar la lógica de aplicación del interface de usuario </li></ul></ul><ul><ul><li>Utilizar métodos estándar de comunicación entre la lógica de aplicación y el interface de usuario </li></ul></ul><ul><ul><li>Uso de herramientas que permitan adaptar rápidamente las aplicaciones a los nuevos tipos de dispositivos que irán apareciendo </li></ul></ul>Lic. Jorge Guerra G . Sistemas distribuidos
  74. 74. Nuevos tipos de dispositivos <ul><li>Tendencia actual </li></ul>Lic. Jorge Guerra G . Sistemas distribuidos Navegador Web Server Páginas HTML Servidor Aplicaciones Lógica de negocio Datos Interface de usuario Gestor comunicaciones Usuario Móvil WAP Server Páginas WML SQL XML - - Wml binario http Base de datos
  75. 75. Nuevos tipos de dispositivos <ul><li>Variante de los fabricantes BBDD </li></ul>Lic. Jorge Guerra G . Sistemas distribuidos Navegador Web Server Páginas HTML Lógica de negocio Datos Interface de usuario Gestor comunicaciones Usuario Móvil WAP Server Páginas WML XML - - Wml binario http Base de datos
  76. 76. Nuevos tipos de dispositivos <ul><li>Variante de los fabricantes pasarelas </li></ul>Lic. Jorge Guerra G . Sistemas distribuidos Navegador Web Server Páginas HTML Lógica de negocio Datos Interface de usuario Gestor comunicaciones Usuario Móvil WAP Server Reglas de traducción WML SQL - - Wml binario http Interface de usuario Base de datos
  77. 77. Java Lic. Jorge Guerra G . Sistemas distribuidos
  78. 78. Arquitectura I-MODE Lic. Jorge Guerra G . Sistemas distribuidos Packet Network (PDC-P) Communication Network (PDC) iMode Server Groupware Server PSTN Info. Provider HTTP/TCP/IP Leased Line Internet Info. Provider Info. Provider PC PC HTTP/TCP/IP
  79. 79. Coexistencia Java-WAP Lic. Jorge Guerra G . Sistemas distribuidos WML Browser J2ME RTOS Invoke <ul><li>Opción 1: WML nativo </li></ul><ul><li>Interacciona con java: </li></ul><ul><li>Limitaciones en es stack </li></ul><ul><li>Limita las interdependencias </li></ul>XML or XHTML Browser J2ME RTOS <ul><li>Opción 2: Java browser </li></ul><ul><ul><li>Integración mayor </li></ul></ul><ul><ul><li>El navegado puede actualizarse </li></ul></ul><ul><ul><li>dinámicamente </li></ul></ul>
  80. 80. Arquitectura WAP Lic. Jorge Guerra G . Sistemas distribuidos Wireless Telephony Application Interface Web Server CGI Scripts, Etc... WML Decks with WML Script HTTP WTP Content WAP Gateway WML Encoder WML Script Compiler Protocol Conversion Client WML WML Script WTAI
  81. 81. Lic. Jorge Guerra G . Sistemas distribuidos
  82. 82. Lic. Jorge Guerra G . Sistemas distribuidos
  83. 83. Lic. Jorge Guerra G . Sistemas distribuidos
  84. 84. Lic. Jorge Guerra G . Sistemas distribuidos
  85. 85. Lic. Jorge Guerra G . Sistemas distribuidos
  86. 86. Lic. Jorge Guerra G . Sistemas distribuidos
  87. 87. Presente de las aplicaciones distribuidas – J2EE y .NET <ul><li>J2EE (Java 2 Enterprise Edition) J2EE es un grupo de especificaciones que permiten la creación de aplicaciones empresariales distribuidas. </li></ul><ul><ul><ul><li>Cubre toda una serie de aspectos como : acceso a base de datos, directorios distribuidos, acceso a m é todos remotos ( RMI/CORBA ), correo electr ó nico, interfaces Web (JSP y Servlets) . </li></ul></ul></ul><ul><li>Microsoft .NET es la alternativa de Microsoft a J2EE, cubre aspectos similares y de una forma similar pero desde el mundo Microsoft. </li></ul><ul><li>Ambas plataformas tienen amplio soporte de Servicios Web . </li></ul>Lic. Jorge Guerra G . Sistemas distribuidos
  88. 88. Estándares de mercado <ul><li>Estrategia Java </li></ul>Lic. Jorge Guerra G . Sistemas distribuidos Navegador Web Server Lógica de negocio Datos Gestor comunicaciones Usuario Móvil WAP Server Wml binario http Interface de usuario Páginas JSP / Servlets / Java Beans Enterprise Java Beans SQL RMI - - Base de datos
  89. 89. Estándares de mercado <ul><li>Estrategia .NET </li></ul>Lic. Jorge Guerra G . Sistemas distribuidos Navegador Web Server Lógica de negocio Datos Gestor comunicaciones Usuario Móvil WAP Server Wml binario http Interface de usuario Páginas ASP OBJETO COM + SQL XML - - Visual Basic Base de datos

×