20
COMUNICACIÓN DISTRIBUIDA

COMUNICACIÓN DISTRIBUIDA

  • Upload
    diana

  • View
    3.620

  • Download
    0

Embed Size (px)

DESCRIPTION

Estrategias que permiten comunicación entre aplicaciones distribuidas

Citation preview

Page 1: COMUNICACIÓN DISTRIBUIDA

COMUNICACIÓN DISTRIBUIDA

Page 2: COMUNICACIÓN DISTRIBUIDA

SOCKETS

Permiten a procesos distribuidos comunicarse por una red.

Esta compuesto de una dirección IP concatenada con un número de puerto.

Utilizan una arquitectura cliente-servidor

Page 3: COMUNICACIÓN DISTRIBUIDA

Servidor: espera solicitudes provenientes del cliente escuchando a un puerto especificado.

El servidor acepta una conexión del socket del cliente para completar la conexión.

Page 4: COMUNICACIÓN DISTRIBUIDA

Servidores e Hilos

Un servidor podría manejar solicitudes concurrentes asignando un hilo distinto.

Por Ej. Un servidor web ocupado podría asignar un hilo distinto para dar servicio a cada solicitud de una pagina web.

Page 5: COMUNICACIÓN DISTRIBUIDA

Sockets en Java

Los sockets orientados a conexión (TCP) se implementan con la clase socket.

Los sockets sin conexión (UDP) utilizan la clase DatagramSocket.

El socketMulticastSocket, que es una subclase de DatagramSocket.

Page 6: COMUNICACIÓN DISTRIBUIDA

Invocación de métodos remotos

La RMI le permite a un hilo invocar un método en un objeto remoto.

Los objetos se consideran remotos si residen en una máquina virtual de java.

Page 7: COMUNICACIÓN DISTRIBUIDA

Diferencias entre RMI y RCP

Las RCP solo soporta programación de procedimientos, por lo que solo se pueden llamar procedimientos.

Las RMI está basada en objetos, soporta la invocación de métodos en objetos remotos.

Los parámetros para los procedimientos remotos son estructuras de datos ordinarias en la RCP.

En las RMI es posible pasar objetos como parámetros a métodos remotos

Page 8: COMUNICACIÓN DISTRIBUIDA

Al permitir que un programa en java invoque método en objetos remotos, la RMI hace posible que los usuarios desarrollen aplicaciones en Java que se distribuyen a lo largo de una red.

Para que los métodos remotos sean transparentes para el cliente y para el servidor, la RMI implementa el objeto remoto utilizando stub y esqueletos.

Page 9: COMUNICACIÓN DISTRIBUIDA

STUB

Es una red que distribuye paquetes desde y hacia sistemas locales.

Este componente a lado del cliente es responsable de crear un paquete que consiste en el nombre del método que se va a invocar en el servidor y los parámetros

El stub separa el valor de retorno y lo pasa al cliente.

Page 10: COMUNICACIÓN DISTRIBUIDA

Esqueleto

Una vez enviado el paquete al servidor, el esqueleto es responsable de separar los parámetros e invocar el método deseado en el servidor.

Luego pone en orden el valor de retorno (o excepción) en un paquete, devolviéndolo al cliente.

Page 11: COMUNICACIÓN DISTRIBUIDA
Page 12: COMUNICACIÓN DISTRIBUIDA

Objetos Remotos

Definimos a los Objetos remotos declarando una interfaz que especifica los métodos que pueden ser invocados en forma remota.

Por ejemplo, el paso de mensajes del problema de productor-consumidor los métodos son: send() y receive().

Page 13: COMUNICACIÓN DISTRIBUIDA

CORBACommon Object Request Broker Architecture

Arquitectura común de intermediarios en peticiones a objetos

Page 14: COMUNICACIÓN DISTRIBUIDA

CORBA

Es un estándar que establece una plataforma de desarrollo de sistemas distribuidos facilitando la invocación de métodos remotos bajo un paradigma orientado a objetos.

Page 15: COMUNICACIÓN DISTRIBUIDA

CORBA

CORBA "envuelve" el código escrito en otro lenguaje en un paquete que contiene información adicional sobre las capacidades del código que contiene, y sobre cómo llamar a sus métodos. Los objetos que resultan pueden entonces ser invocados desde otro programa (u objeto CORBA) desde la red. En este sentido CORBA se puede considerar como un formato de documentación legible por la máquina, similar a un archivo de cabeceras pero con más información.

Page 16: COMUNICACIÓN DISTRIBUIDA

CORBA

CORBA utiliza un lenguaje de definición de interfaces ( IDL) para especificar los interfaces con los servicios que los objetos ofrecerán. CORBA puede especificar a partir de este IDL la interfaz a un lenguaje determinado, describiendo cómo los tipos de dato CORBA deben ser utilizados en las implementaciones del cliente y del servidor.

Page 17: COMUNICACIÓN DISTRIBUIDA

CORBA

Al compilar una interfaz en el IDL se genera código para el cliente y el servidor (el implementador del objeto). El código del cliente sirve para poder realizar las llamadas a métodos remotos.

Page 18: COMUNICACIÓN DISTRIBUIDA

CORBA

CORBA es más que una especificación multiplataforma, también define servicios habitualmente necesarios como seguridad y transacciones. Y así este no es un sistema operativo en si, en realidad es un middleware.

Page 19: COMUNICACIÓN DISTRIBUIDA

CORBA

Middleware (SW de nivel medio): se trata de una capa de sw intermedio, que permite la comunicación entre aplicaciones heterogéneas cliente-servidor.

Page 20: COMUNICACIÓN DISTRIBUIDA

Integrantes:

Diana Poma Nina Caraguay Marcia Sarango Henry Campoverde.

GRACIAS