RMI
En el presente trabajo se explicaran los componentes y la estructura de la API de JAVA RMI.
“RMI es una implementación orientada a objetos del modelo de llamada a procedimientos remotos. Se trata de una API exclusiva para programas Java….. En RMI, un servidor de objeto exporta un objeto remoto y lo registra en un servicio de directorios. El objeto proporciona métodos remotos, que pueden invocar los programas clientes. Sintácticamente, un objeto remoto se declara como una interfaz remota, una extensión de la interfaz de Java. El servidor de objeto implementa una interfaz remota. Un cliente de objeto accede al objeto mediante la invocación de sus métodos, utilizando una sintaxis similar a las invocaciones de los métodos locales. “ (M.L.Liu, 2004)
“RMI es una implementación orientada a objetos del modelo de llamada a procedimientos remotos. Se trata de una API exclusiva para programas Java….. En RMI, un servidor de objeto exporta un objeto remoto y lo registra en un servicio de directorios. El objeto proporciona métodos remotos, que pueden invocar los programas clientes. Sintácticamente, un objeto remoto se declara como una interfaz remota, una extensión de la interfaz de Java. El servidor de objeto implementa una interfaz remota. Un cliente de objeto accede al objeto mediante la invocación de sus métodos, utilizando una sintaxis similar a las invocaciones de los métodos locales. “ (M.L.Liu, 2004)
Utilidades del Sistema RMI
· Hacerlo más simple como posible la escritura de aplicaciones distribuidas.
· Preservar la seguridad proporcionada por el ambiente Java.
· Proporcionar varias semánticas para las referencias de los objetos remotos.
Esqueletos y Stubs
RMI utiliza el mismo mecanismo que los sistemas RPC para implementar la comunicación con los objetos remotos, el basado en esqueletos y cabos. 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.
Bibliografía
nstituto Politecnico Nacional. (2007). Tesis IPN. Obtenido de Arañas distribuidas: http://tesis.ipn.mx/bitstream/handle/123456789/1312/2337_2007_CIC_MAESTRIA_olguin_aguilar_luisantonio.pdf?sequence=1
M.L.Liu. (2004). Computación Distribuida Fundamentos y Aplicaciones. Madrid: Pearson Educación.
Méndez, R. M. (2001). Revista UNAM. Obtenido de RMI: http://www.revista.unam.mx/vol.2/num1/art3/
UNAM. (2017). Remote Method Invocation. Obtenido de Facultad de Ciencias: http://lya.fciencias.unam.mx/jloa/rmi.pdf
· Preservar la seguridad proporcionada por el ambiente Java.
· Proporcionar varias semánticas para las referencias de los objetos remotos.
· Proporcionar invocación remota de objetos que se encuentran en MVs diferentes.
· Soportar llamadas a los servidores desde los applets.
· 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.
· Soportar llamadas a los servidores desde los applets.
· 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.
Proceso
Los clientes comienzan las invocaciones a los métodos remotos realizando una llamada local a un código representante (stub).
Los stubs son específicos de las interfaces remotas e incluyen a todos los métodos remotos que están disponibles desde el objeto remoto del lado del servidor.
Los clientes obtienen referencias de objetos remotos por medio del servicio de nombres el cual es implementado en el registro(registry).
Los objetos servidor registran sus referencias a objeto con el registro de manera que los clientes puedan localizarlos.
Los objetos servidor pueden ser activados explícitamente por algún administrados o implícitamente cuando se hace una invocación de un método remoto a ese objeto. En el úlitmo caso debe ser posible activar al objeto, el cual debe usar interfaces de activación llaman al constructor del objeto y permiten al objeto restaurar su estado. Una vez que un objeto es activado el control es pasado al esqueleto(skeleton) el cual invoca al método remoto deseado.
Cuando se invoca algún método de un cabo, realiza las siguientes 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ó.
Cuando un esqueleto recibe una invocación, realiza las siguientes acciones:
· Desaplana los parámetros necesarios para la ejecución del método remoto.
· Invoca el método de la implantación del objeto remoto.
· Aplana los resultados y los envía de vuelta al cliente.
Utilización de hilos en la invocación de métodos remotos
El sistema de tiempo de ejecución de RMI no garantiza que la activación de las invocaciones de los objetos remotos se proyecte sobre diferentes hilos de ejecución. Pero debido a que es posible que las invocaciones remotas de un mismo objeto se ejecuten concurrentemente, es necesario que las implantaciones de los objetos sean thread-safe .
Los clientes comienzan las invocaciones a los métodos remotos realizando una llamada local a un código representante (stub).
Los stubs son específicos de las interfaces remotas e incluyen a todos los métodos remotos que están disponibles desde el objeto remoto del lado del servidor.
Los clientes obtienen referencias de objetos remotos por medio del servicio de nombres el cual es implementado en el registro(registry).
Los objetos servidor registran sus referencias a objeto con el registro de manera que los clientes puedan localizarlos.
Los objetos servidor pueden ser activados explícitamente por algún administrados o implícitamente cuando se hace una invocación de un método remoto a ese objeto. En el úlitmo caso debe ser posible activar al objeto, el cual debe usar interfaces de activación llaman al constructor del objeto y permiten al objeto restaurar su estado. Una vez que un objeto es activado el control es pasado al esqueleto(skeleton) el cual invoca al método remoto deseado.
Cuando se invoca algún método de un cabo, realiza las siguientes 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ó.
Cuando un esqueleto recibe una invocación, realiza las siguientes acciones:
· Desaplana los parámetros necesarios para la ejecución del método remoto.
· Invoca el método de la implantación del objeto remoto.
· Aplana los resultados y los envía de vuelta al cliente.
Utilización de hilos en la invocación de métodos remotos
El sistema de tiempo de ejecución de RMI no garantiza que la activación de las invocaciones de los objetos remotos se proyecte sobre diferentes hilos de ejecución. Pero debido a que es posible que las invocaciones remotas de un mismo objeto se ejecuten concurrentemente, es necesario que las implantaciones de los objetos sean thread-safe .
Esqueletos y Stubs
RMI utiliza el mismo mecanismo que los sistemas RPC para implementar la comunicación con los objetos remotos, el basado en esqueletos y cabos. 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.
Bibliografía
nstituto Politecnico Nacional. (2007). Tesis IPN. Obtenido de Arañas distribuidas: http://tesis.ipn.mx/bitstream/handle/123456789/1312/2337_2007_CIC_MAESTRIA_olguin_aguilar_luisantonio.pdf?sequence=1
M.L.Liu. (2004). Computación Distribuida Fundamentos y Aplicaciones. Madrid: Pearson Educación.
Méndez, R. M. (2001). Revista UNAM. Obtenido de RMI: http://www.revista.unam.mx/vol.2/num1/art3/
UNAM. (2017). Remote Method Invocation. Obtenido de Facultad de Ciencias: http://lya.fciencias.unam.mx/jloa/rmi.pdf
Comentarios
Publicar un comentario