apuntes+25-02-08

25-02-08

CARACTERISTICAS FUNDAMENTALES DE LA CUMPUTACION DISTRIBUIDA

Tendremos una serie de falacias de la computación distribuida: - La red es fiable. - La latencia es nula. Puede variar de un momento a otro siendo imprevisible. Es muy dificil determinar una latencia exacta. - El ancho de banda es infinito. Puede saturarse cuando tenemos muchos nodos. - La red es segura.No tenemos que asumir la buena voluntad del cliente. - La topologia no cambia. Por ejemplo: En un cluster la topologia sera fija, pero si aumentamos la potencia en dos clusters si que cambiara.

Cosas que pretendemos conseguir con la programcacion distribuida:

- Transparencia. acceder a un recurso debe ser independiente de su situación fisica. - Apertura.Se debe permitir añadir facilmente nuevos sistemas. -Escalables: podemos añadir un numero indeterminado de nodos a la conexion con una prestaciones razonables. -Tolerancia a fallos. Si cae un componente del sistema distribuido no debe caerse todo el sistema. -Seguridad. Los protocolos deben asegurar que todo lo anterior suceda durante un rango de tiempo amplio. Todos los protocolos deben proveer que la apropiacion de recuersos sea la adecuada.

Llamada a un sistema distribuido: RPC: el cliente envia una peticion a un servisio remoto identificado por un nombre de procedimiento, y le pasa unos parametros. Formas de hacer programacion distribuida: DCOM, en Windows es un sistema de componentes para montar y desmontar dispositivos. .Net: es una especie de estrategia de microsoft, es un entorno de aplicaciones que incluye una maquina virtual. RMI: metodo especifico del lenguaje de programacion Java para acceder a metodos remotos. CORBA. casi no se usa.

Hoy en dia se esta estandarizando XML como vehiculo para invocacion de procedimientos remota.

Vemos un ejemplo a servicio remoto: a partir de un nombre de un sitio nos proporciona la latitud y longitud.