You are on page 1of 4

Figura 4.

1 Capas de Middleware

Aplicaciones, servicios RMI, RPC y eventos Protocolo peticin - respuesta Empaquetado y representacin externa de datos Capas Middleware

Unidad 4

OBJETOS DISTRIBUIDOS E INVOCACION REMOTA

UDP y TCP protocolos de la capa de transporte de internet

Middleware

RPC Remote Procedure Call

Transparencia frente a ubicacin - no se necesita conocer la ubicacin del proceso. Protocolos de comunicacin - son independientes del protocolo de transporte que use, UDP/TCP. Hardware de los computadores se usa el empaquetado y desempaquetado de mensajes, oculta diferencias en Hardware. Sistemas operativos Diversos lenguajes de programacin permiten que las aplicaciones distribuidas sean escritas en ms de un lenguaje - IDL.

Permite a programas cliente llamar a procedimiento de programas servidores. Generalmente se encuentran en computadores separados. Se aprovecha uno de los paradigmas fundamentales de la programacin:
La descomposicin modular en funciones

RPC Ventajas:

Figura 4.2 RPC Remote Procedure Call

Se ocultan detalles de la comunicacin No hay diferencias entre una llamada local y una remota Con RPC, una aplicacin distribuida consiste en:
Una batera de funciones que se ejecutan en un servidor Programas que llaman a esas funciones

Llamadas a procedimientos convencionales:

En local: Se llama a una funcin en una librera

Figura 4.3 RPC Remote Procedure Call

Sistemas de Objetos Distribuidos

Llamadas a procedimientos remotos:

Surgen de aplicar los conceptos de RPCs al paradigma de la orientacin a objetos Permiten la distribucin de objetos entre clientes y servidores
Los servidores implementan objetos Los clientes invocan objetos

Las aplicaciones interactan en forma de invocaciones a distancia de mtodos pertenecientes a objetos

En programacin distribuida: se llama a una funcin que se ejecuta en otro computador

IDL - Lenguaje de Descripcin de Interfaces

Figura 4.4 Ejemplo CORBA IDL

Permiten separar el interface de los objetos de su implementacin Enmascaran los problemas de la heterogeneidad de los lenguajes Se utilizan para:
Definir tipos: Objetos y Datos intercambiados por los objetos

Interface remota: especifica los mtodos de un objeto que estn disponibles para su invocacin
// In file Person.idl struct Person { string name; string place; long year; }; interface PersonList { readonly attribute string listname; void addPerson(in Person p) ; void getPerson(in string name, out Person p); long number(); };

Algunas alternativas:
Java: RMI IDL o Interface Definition Language usado en CORBA

RMI Remote Method Invocation

RMI Remote Method Invocation - Aplicacin Genrica

Permite la invocacin remota de mtodos en objetos que residen en diferentes procesos Permite la distincin entre objetos locales y remotos Facilita el desarrollo de aplicaciones distribuidas

Servidor:
Crea objeto remoto Crea referencia al objeto remoto Espera a que un cliente invoque un mtodo en el objeto remoto

Cliente:
Obtiene referencia a un objeto remoto en el servidor Invoca un mtodo remoto

Figura 4.5 RMI Remote Method Invocation

Figura 4.6 Clases soporte de Java RMI

Un objeto remoto es aquel capaz de recibir RMI (B, F)

RemoteObject RemoteServer

Activatable

UnicastRemoteObject

Una interfaz remota especifica los mtodos que pueden ser invocados remotamente

<servant class>

You might also like