chap-10v2-español

30
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 10 Sistemas basados en objetos Distribuidos

Upload: jesus-lopez-bernes

Post on 31-Oct-2015

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

DISTRIBUTED SYSTEMSPrinciples and Paradigms

Second EditionANDREW S. TANENBAUM

MAARTEN VAN STEEN

Chapter 10Sistemas basados en objetos

Distribuidos

Page 2: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Objetos distribuidos

Figura 10-1. Organización común de un objeto remoto con un proxy del lado del cliente.

Page 3: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Ejemplo: Enterprise Java Beans

Figura 10-2. Arquitectura general de un servidor EJB.

Page 4: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Cuatro tipos de EJBs

• Beans de sesión sin estado

• Beans de sesión con estado

• Beans de entidad

• Beans controlados por mensajes

Page 5: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Objetos Compartidos Distribuidos en Globe (1)

Figura 10-3. La organización de un objeto compartido distribuido en Globe

Page 6: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Objetos Compartidos Distribuidos en Globe(2)

Figura 10-4. La organización general de un objeto local para objetos compartidos distribuidos en Globe.

Page 7: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Adaptador de Objetos

Figura 10-5. Organización de un servidor de objetos en apoyo a diferentes políticas de activación.

Page 8: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Ejemplo: El sistema en tiempo de ejecución Ice

Figura 10-6. Ejemplo de creación de un objeto de servidor en Ice.

Page 9: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

La vinculación de un cliente a un objeto

Figura 10-7. (A) Un ejemplo con la unión implícitas utilizando sólo referencias globales. (B) Un ejemplo con enlace explícito

utilizando referencias globales y locales.

Page 10: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Paso de parámetros

Figura 10-8. Situación en que se transfiere un objeto por referencia o por valor.

Page 11: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Objectos basados en Mensajes (1)

Figura 10-9. Modelo de devolución de llamada en CORBA para

invocación de método asincrónico.

Page 12: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Objectos basados en Mensajes (2)

Figura 10-10. Modelo de votación de CORBA para

invocación de método asincrónico.

Page 13: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Referencia a Objetos de CORBA

Figura 10-11. La organización de un IOR con información específica para IIOP.

Page 14: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Referencias a Objetos Globe (1)

Figura 10-12. La representación de una capa de protocolo en una dirección de contacto apilada.

Page 15: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Referencias a Objetos Globe(2)

Figura 10-13. La repreentación de una dirección de contacto de instancia.

Page 16: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Sincronización

Figura 10-14. Diferencia en el control de flujo para bloquear objetos

Page 17: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Consistencia de Entrada

Figura 10-15. Programación determinística de hilos en servidores de objetos replicados

Page 18: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Marcos de Trabajo para Replicación (Frameworks) (1)

Las invocaciones a objetos son interceptadas en tres puntos diferentes:

• Del lado del cliente, justo antes de que la invocación sea transferida al resguardo.

• En el interior del resguardo del cliente, donde la intercepción forma parte del algoritmo de replicación.

• Del lado del servidor, justo antes de que el objeto esté a punto de ser invocado.

Page 19: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Marcos de Trabajo para Replicación (Frameworks) (2)

Figura 10-16. Estructura general para separar algoritmos de replicación de objetos en un entorno EJB.

Page 20: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Invocaciones Replicadas (1)

Figura 10-17. Problema de invocaciones a un método replicado.

Page 21: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Invocaciones Replicadas (2)

Figura 10-18. (a) Envío de una solicitud de invocación desde un objeto replicado hasta otro objeto replicado.

Page 22: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Invocaciones Replicadas (3)

Figura 10-18. (b) Devolución de una respuesta desde un objeto replicado hasta otro.

Page 23: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Ejemplo: CORBA Tolerante a Fallas

Figura 10-19. Posible organización de un IOGR de un grupo de objetos que tiene un primario y respaldos.

Page 24: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Un Ejemplo de Arquitectura

Figura 10-20. Arquitectura ejemplo de un Sistema CORBA tolerante a fallas.

Page 25: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Ejemplo: Java Tolerante a Fallas

Causas para el comportamiento no determinista:

1. JVM puede ejecutar un codigo native, es decir, un código externo a JVM y provisto a ésta por una interfaz.

2. Los datos de entrada pueden no estar sujetos a determinismo.

3. En la presencia de fallas, diferentes JVM producirán diferentes resultados que revelan que las máquinas han sido replicadas.

Page 26: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Visión General de la Seguridad de Globe

Figura 10-21. Certificados en Globe: (a) certificado de ususario, (b) certificado de réplica, (c) certificado administrativo.

Page 27: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Invocación a un Método Seguro (1)

Figura 10-22. Invocación segura a un método en Globe.

Page 28: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Invocación a un Método Seguro(2)Pasos para la invocación de un método de un objeto de

manera segura en Globe:

1. Una aplicación emite una solicitud de invocación hacienda una llamada local al método asociado, de igual modo que se llama a un procedimiento en una RPC.

2. El subobjeto de control verifica los permisos de usuario con la información guardada en el objeto de seguridad local.

3. La solicitud es empaquetada y trasferida.

4. El subobjeto de replicación solicita al middleware que establezca un canal seguro para implementar una replica apropiada.

Page 29: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Invocación a un Método Seguro(3)

5. El objeto de seguridad primero inicia una búsqueda de una réplica.

6. Una vez que se encuentra una réplica apropiada, el subobjeto de seguridad puede establecer un canal seguro con su contraparte, tras de lo cual el control es devuelto al subobjeto de replicación.

7. La solicitud se transfiere ahora al subobjeto de comunicación.

8. El subobjeto de comunicación cifra y firma la solicitud de modo que pueda ser transferida a través de un canal.

Page 30: chap-10v2-español

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Invocación a un Método Seguro(4)

9. Después de su recepción, la solicitud es descifrada y autentificada.

10. Entonces la solicitud es simplemente transferida al subobjeto de replicación del lado del servidor.

11. La autorización ocurre:

12. Entonces la solicitud es desorganizada.

13. Al final, la operación puede ser ejecutada.