Sunteți pe pagina 1din 18

Remote Method Invocation

Santiago Quiñones, M.Sc.

lsquinones@utpl.edu.ec @lsquinones linkedin/lsquinones github.com/lsantiago


01
Fundamentos
La aplicación se divide en un número de unidades.

• Cada unidad se coloca en una máquina diferente.


• Cada unidad se puede ejecutar en un sistema diferente.
• Cada unidad puede ser programada en un idioma diferente.
• Sommerville (2012): es aquel que implica numerosas computadoras.
• Tanenbaum (2006): es una colección de computadoras independientes, que el
usuario percibe como un único sistema coherente.
• Coulouris (2011): es un sistema en que los componentes HW/SW ubicados en
diferentes computadoras en red comunican y coordinan a través de pasos de
mensajes.
• Tanenbaum (2016): colección de sistemas autónomos que aparecen a sus
usuarios como un único sistema coherente.
• Concurrencia: cada computador puede realizar su trabajo y compartir recursos
cuando sea necesario.
• Carencia de reloj global: cuando los programas necesitan cooperar coordinan
sus acciones a través del paso de mensajes.
• Independencia de las fallas: cada componente del sistema puede fallar
independientemente, dejando a los demás en funcionamiento.
• Compartición de recursos (HW y SW)
• Apertura: están diseñados en torno a protocolos estándar
• Concurrencia: procesos se ejecutan al mismo tiempo en computadoras
independiente en red.
• Escalabilidad: el sistema puede crecer agregando nuevos recursos.
• Tolerancia a fallas
1. Sistemas monolíticos (década de los 70). Utiliza un único nodo que aloja el
GUI, BD y la lógica del programa. Considerado aquí por la programación
modular.
2. Cliente servidor (década de los 80). Divide a los programas en dos
componentes (nodos de ejecución). Lógica de la aplicación y acceso a datos.
3. Sistemas distribuidos con objetos. Uso de objetos distribuidos. Enterprise
Java Beans, DCOM en lenguajes como Java y .Net permitio tener servidores de
objetos distribuidos.
4. Sistemas de integración de aplicaciones. Evitar redundancia de datos y mejorar
la administración de estos. Aparece términos de sistemas punto a punto,
adaptadores y mediador de mensajes.
5. Arquitectura orientadas a servicios(SOA). Solución estándar para publicar,
descubrir e interactuar con otros sistemas.
• La aplicación se puede dividir en las capas de presentación, lógica de la
aplicación y almacenamiento de datos.
• Las capas pueden ser lógicas o físicas.
• Con el patrón cliente/servidor la aplicación se divide en 2 partes, una actúa
como cliente (realiza solicitudes al servidor) y otra como servidor (acepta y
procesa peticiones).
• Un mecanismo de comunicación entre cliente y servidor se denomina
procedimiento de llamada remota (RPC).
• RPC permite que un cliente llame a una función que es implementada y
ejecutada por un computador remoto.
• Una implementación de RPC en Java es RMI
• Mecanismo RPC de Java
• RMI permite que un objeto invoque métodos que se ejecutan en
otra JVM.
Se dan los 6 pasos para escribir el programa RMI.

1. Crear la interfaz remota


2. Proporcionar la implementación de la interfaz remota.
3. Compile la clase de implementación y cree los objetos stub y
skeleton usando la herramienta rmic
4. Inicia el servicio de registro mediante la herramienta rmiregistry.
5. Crea e inicia la aplicación remota.
6. Crear e iniciar la aplicación cliente.
02
Códigos de ejemplo
RMI Greeting
vamos a analizarlo !
RMI Game
vamos a analizarlo !
Gracias

lsquinones@utpl.edu.ec @lsquinones linkedin/lsquinones github.com/lsantiago


Q&A

lsquinones@utpl.edu.ec @lsquinones linkedin/lsquinones github.com/lsantiago

S-ar putea să vă placă și