• Like
RMI en java
Upcoming SlideShare
Loading in...5
×
Uploaded on

LLamada Procedimientos Remotos en Java

LLamada Procedimientos Remotos en Java

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,754
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
62
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Llamada Procedimientos RemotoRMI en Java
  • 2. Contenido• Introducción• Definición• ¿Cómo surgió?• Arquitectura RMI• Esqueletos y Cabos (Stubs)• ¿Cómo se produce la conectividad entre cliente y servidor?• Funcionamiento General• JAVA RMI v/s API SOCKETS ▫ Similitudes ▫ Diferencias• Metas del Sistema RMI de Java
  • 3. Introducción• La invocación remota de métodos de Java es un modelo de objetos distribuidos, diseñado específicamente para el lenguaje Java, por lo que mantiene la semántica del modelo de objetos locales de Java, facilitando de esta manera la implantación y el uso de objetos distribuidos.
  • 4. • Un objeto remoto es aquel cuyos métodos pueden ser invocados por objetos que se encuentran en una máquina virtual diferente.• Los objetos de este tipo se describen por una o más interfaces remotas que contienen la definición de los métodos del objeto que es posible invocar remotamente.
  • 5. Definición• RMI es un paquete de JAVA que permite manejar objetos (y sus respectivos metodos) de manera remota, para utilizar los recursos de un servidor de manera transparente para el usuario local.
  • 6. • La manera en que RMI (y RPC en general) logra hacer esto, es por medio de lo que se conoce como STUBs. En el caso del STUB servidor, se conoce como SKELETON. Estos Stubs y Skeletons permiten que al momento de ser invocada la función remota esta pueda ser simulada localmente
  • 7. ¿Cómo surgió?• La primera alternativa que surgió al empleo de los sockets son las llamadas a procedimientos remotos (RPC) .• En RPC la comunicación entre los elementos que componen el sistema distribuido, se realiza mediante la invocación de funciones que se encuentran en espacios de direcciones diferentes.
  • 8. • RPC se encarga de empaquetar los argumentos y enviarlos al proceso que contiene el código que implementa a la rutina remota.• Los sistemas codifican los parámetros de la invocación, así como los valores de vuelta en una representación externa de los datos.• Se requiere ya no invocar procedimientos remotos, sino a métodos de objetos remotos.
  • 9. Arquitectura RMI CLIENTE OBJETO REMOTO OSICliente indicando Objeto remoto ofrece el Capa de aplicaciónmétodo en el objeto servicioremoto Stub Skeleton Capa de presentación JRMP JRMP Capa de sesión TCP TCP Capa de transporte IP IP Capa de red
  • 10. Esqueletos y Cabos (Stubs)• Los cabos forman parte de las referencias y actúan como representantes de los objetos remotos ante sus clientes. En el cliente se invocan los métodos del cabo, quien es el responsable de invocar de manera remota al código que implementa al objeto remoto.• En RMI un cabo de un objeto remoto implementa el mismo conjunto de interfaces remotas que el objeto remoto al cual representa.
  • 11. Cuando se invoca algún método de un cabo, realiza lassiguientes acciones:• Inicia una conexión con la MV que contiene al objeto remoto.• Aplana (marshals) y transmite los parámetros de la invocación a la MV remota.• Espera por el resultado de la invocación.• Desaplana (unmarshals) y devuelve el valor de retorno o la excepción.• Devuelve el valor a quien lo llamó.
  • 12. • Los cabos se encargan de ocultar los mecanismos de comunicación empleados.• En la MV remota, cada objeto debe poseer su esqueleto correspondiente. El esqueleto es responsable de despachar la invocación al objeto remoto.
  • 13. ¿Cómo se produce la conectividad entre cliente y servidor?• Se ocupa la herramienta de Java, java MRI Registry.• Puede estar localizado en un lugar distinto al servidor, se encarga de registrar un determinado objeto y asinarle un servidor que se encargara de procesar dicho objeto.
  • 14. Funcionamiento General• Se ejecuta el RMI Registry en algún lugar de la red.• El servidor que desea manejar un objeto se registra en dicho servidor• El RMI Registry registra el par : OBJETO/SERVIDOR• El cliente que necesita utilizar un determinado objeto, hace una consulta RMI Registry , quien devuelve el STUB listo para la comunicación
  • 15. JAVA RMI vs API SOCKETSSimilitudes• Una referencia a un objeto, puede ser pasada como argumento o retornado como resultado de cualquier invocación (local o remoto).• Un objeto remoto puede ser invocado sobre cualquier set de interfaces remotas soportadas por la implementación, usando la sintaxis de : InterfaceRemota irem = (InterfaceRemota) new ClaseRemota();
  • 16. Diferencias• Los clientes de objetos remotos interactúan con interfaces remotas, NUNCA con la implementación de esas interfaces.• Una invocación remota a un método son pasados por copia en vez de por referencia.• Un objeto remoto es pasado por referencia, no copiando su actual implementación remota.
  • 17. Sockets, tienen la capacidad de comunicar dos procesos, yasea mediante datagramas o flujos de datos (streams).requieren que las aplicaciones implanten sus propiosprotocolos para codificar y decodificar los mensajes queintercambian.
  • 18. Metas del Sistema RMI de Java• Proporcionar invocación remota de objetos que se encuentran en MVs diferentes.• Integrar el modelo de objetos distribuidos en el lenguaje Java de una manera natural, conservando en medida de lo posible la semántica de los objetos Java.
  • 19. • Hacer tan simple como sea posible la escritura de aplicaciones distribuidas.• Preservar la seguridad proporcionada por el ambiente Java.