Invocación remota de métodos. Jorge Iván Meza Martínez
|
|
- Ana María Camacho Nieto
- hace 5 años
- Vistas:
Transcripción
1 Invocación remota de métodos Jorge Iván Meza Martínez Especialización en Gestión de Redes de Datos Universidad Nacional de Colombia Sede Manizales 1/58
2 Contenidos Capas de middleware Protocolo request-reply Invocación remota de procedimientos (RPC) Interfaz vs. Implementación Lenguaje de definición de interfaces Invocación remota de métodos (RMI) Caso de estudio: Java RMI 2/58
3 Evaluación pre-contenido 1. En qué consiste la invocación remota de procedimientos o RPC? 2.En qué consiste la invocación remota de métodos o RMI? 3.En qué se diferencian RPC/RMI de la transmisión de información a través de sockets? 4.Qué es la interfaz y la implementación de un servicio? 5.Cuál es la utilidad de un lenguaje de definición de interfaces? 6.Para qué son útiles el stub y el skel en RMI? 3/58
4 Introducción Se basa en el patrón de paso de mensajes y su comunicación se realiza internamente a través de sockets. Provee un protocolo para establecer comunicaciones de dos vías: request y reply. Provee el soporte para la ejecución remota de operaciones. Los casos mas conocidos son RPC (remote procedure call) en el paradigma procedimental y RMI (remote method invocation) en el orientado a objetos. 4/58
5 Capas de middleware 5/58
6 Protocolo request - reply 6/58
7 Invocación remota de procedimientos Su meta es hacer que la programación distribuida se vea igual que la convencional. Transparencia en el acceso. Los procedimientos remotos son manipulados por los desarrolladores de la misma manera como se hace con los locales. Oculta necesidades como la codificación de información, paso de mensajes, preservar la semántica de las invocaciones, etc. 7/58
8 Conceptos de diseño para RPC Estilo de programación basada en interfaces. Semántica de las invocaciones. Elementos clave de transparencia. 8/58
9 Implementación Interfaz versus implementación Interfaz Pública Privada 9/58
10 Implementación Interfaz versus implementación Los servicios que provee Cómo los provee Interfaz 10/58
11 Beneficios de la separación Abstracción sólo es necesario conocer que servicios se ofrecen sin profundizar en los detalles de como fueron desarrollados. Los usuarios no necesitan conocer detalles de su implementación como en que lenguaje están hechos (heterogeneidad). Permite la actualización de la implementación de los servicios sin impacto en el sistema mientras se mantegan las interfaces. 11/58
12 Lenguaje de definición de interfaces (IDL) Proceso #1 Proceso #2 Marshalling / serialization 12/58
13 Ejemplos de IDL Sun XDR RPC Corba IDL RMI WSDL Servicios Web 13/58
14 Ejemplo Corba IDL // 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(); }; 14/58
15 Semántica de las invocaciones 15/58
16 Transparencia La invocación de procedimientos remotos es tan parecida a los procedimientos locales como sea posible. La transformación de entidades (marshalling) y el paso de mensajes permanece oculto al desarrollador. La solicitud de retransmisiones y la recepción de la información se maneja automáticamente. Transparencia de ubicacion y acceso. 16/58
17 Implementación de RPC 17/58
18 Remote Method Invocation Similar a RPC pero en el mundo de los objetos distribuidos. Su desarrollo se basa también en el uso de interfaces sobre protocolos request reply. Ofrece un nivel de transparencia similar al de RPC. Permite una completa interacción de los objetos remotos con los locales. Permite la manipulación de las referencias de los objetos remotos. 18/58
19 Retos del diseño de RMI El modelo de objetos Referencias a objetos Uso de interfaces Invocación de acciones Manejo de excepciones Recolección de basura 19/58
20 Retos del diseño de RMI Objetos distribuidos 20/58
21 Retos del diseño de RMI Modelo de objetos distribuidos Referencias a objetos remotos a través de las interfaces remotas 21/58
22 Implementación de RMI 22/58
23 Implementación de RMI 23/58
24 Roles de los objetos del middleware Proxy Hacer transparente el acceso al objeto remoto por Dispatcher Skeleton parte del cliente. Hay un proxy por cada objeto remoto. Enrruta las solicitudes y respuestas desde y hacia los objetos correspondientes. Recibe las solicitudes transforma los parámetros e invoca el método remoto (ahora local). 24/58
25 Caso de estudio: Java RMI Interacción Java Java o Java IDL. Se integra naturalmente al modelo de objetos de Java. Es necesario considerar la concurrencia en la implementación. Los argumentos y valores retornados deben ser Serializable. 25/58
26 Caso de estudio: Java RMI Los objetos remotos deben implementar la interfaz Remote. Los métodos remotos deben manejar la excepción RemoteException. Los objetos remotos pasan como parámetros por referencia mientras que los objetos locales pasan como parámetros por valor. 26/58
27 Caso de estudio: Java RMI 27/58
28 Pasos del desarrollo Diseñar las interfaces remotas. Implementar los objetos remotos que implementan las interfaces remotas. Hacer disponible las clases en la red. Implementar el servidor que publica los objetos remotos. Implementar el cliente que obtiene y manipula los objetos remotos. 28/58
29 Ejemplo: clases utilizadas RMI Registry Cliente Servidor Invocación Invocación Remota Respuesta Stub Respuesta Skel Interfaz local (sin implementación) Objeto remoto (con implementación) 29/58
30 30/58
31 Evaluación post-contenido 1. En qué consiste la invocación remota de procedimientos o RPC? 2.En qué consiste la invocación remota de métodos o RMI? 3.En qué se diferencian RPC/RMI de la transmisión de información a través de sockets? 4.Qué es la interfaz y la implementación de un servicio? 5.Cuál es la utilidad de un lenguaje de definición de interfaces? 6.Para qué son útiles el stub y el skel en RMI? 31/58
32 Ejemplo: clases utilizadas Interfaz Saludable extends Remote Define la especificación de los métodos remotos. Debe ser conocida por cliente y servidor. Clase SaludableImpl implements Saludable Sus instancias son los objetos que pueden invocarse remotamente. Clase SaludadorServer Publica los objetos remotos Clase SaludadorClient Localiza los objetos remótos e invoca métodos en ellos. 32/58
33 Interfaz remota: Saludable.java import java.rmi.*; public interface Saludable extends Remote { String saludar(int hora, String nombre) throws RemoteException; } // especificación de otros métodos remotos... 33/58
34 Implementación objeto remoto: SaludableImpl.java import java.rmi.*; public class SaludableImpl implements Saludable { public SaludableImpl() { super(); } // Implementación de métodos no remotos // Implementación de métodos remotos } public String saludar(int hora, String nombre) throws RemoteException { // } 34/58
35 Implementación del servidor del objeto remoto: SaludadorServer.java System.setSecurityManager( new RMISecurityManager()); Saludable unsaludable = new SaludableImpl(); Saludable stub = (Saludable) UnicastRemoteObject.exportObject(unSaludable, 0); Registry registry = LocateRegistry.getRegistry(); registry.rebind("saludador", stub); 35/58
36 Implementación del servidor del objeto remoto: SaludadorServer.java System.setSecurityManager( new RMISecurityManager()); Saludable unsaludable = new SaludableImpl(); Saludable stub = (Saludable) UnicastRemoteObject.exportObject(unSaludable, 0); Registry registry = LocateRegistry.getRegistry(); Crea un manejador de seguridad para registry.rebind("saludador", la publicación del objeto stub); remoto 36/58
37 Implementación del servidor del objeto remoto: SaludadorServer.java System.setSecurityManager( new RMISecurityManager()); Saludable unsaludable = new SaludableImpl(); Saludable stub = (Saludable) UnicastRemoteObject.exportObject(unSaludable, 0); Registry registry = LocateRegistry.getRegistry(); Crea una instancia del objeto remoto. registry.rebind("saludador", stub); (Polimorfismo interfaz implementación) 37/58
38 Implementación del servidor del objeto remoto: SaludadorServer.java System.setSecurityManager( new RMISecurityManager()); Saludable unsaludable = new SaludableImpl(); Saludable stub = (Saludable) UnicastRemoteObject.exportObject(unSaludable, 0); Registry registry = LocateRegistry.getRegistry(); registry.rebind("saludador", stub); Creación del stub para el objeto remoto. 38/58
39 Implementación del servidor del objeto remoto: SaludadorServer.java System.setSecurityManager( new RMISecurityManager()); Obtención del sistema de registro de RMI. Saludable unsaludable = new SaludableImpl(); Saludable stub = (Saludable) UnicastRemoteObject.exportObject(unSaludable, 0); Registry registry = LocateRegistry.getRegistry(); registry.rebind("saludador", stub); 39/58
40 Implementación del servidor del objeto remoto: SaludadorServer.java System.setSecurityManager( new RMISecurityManager()); Publicación del stub y con él del Saludable unsaludable objeto remoto en el = framework new SaludableImpl(); de RMI. Saludable Se stub registra = con (Saludable) el nombre de Saludador. UnicastRemoteObject.exportObject(unSaludable, 0); Registry registry = LocateRegistry.getRegistry(); registry.rebind("saludador", stub); 40/58
41 Implementación del servidor del objeto remoto: SaludadorServer.java System.setSecurityManager( new RMISecurityManager()); Saludable unsaludable = new SaludableImpl(); Saludable stub = (Saludable) UnicastRemoteObject.exportObject(unSaludable, 0); Registry registry = LocateRegistry.getRegistry(); registry.rebind("saludador", stub); 41/58
42 Implementación del cliente del objeto remoto System.setSecurityManager( new RMISecurityManager()); Registry registry = LocateRegistry.getRegistry(HOST); Saludable saludador = (Saludable) registry.lookup("saludador"); Creación de un manejador de seguridad System.out.println("Hola para acceder al objeto a las remoto 08:00 am: " + saludador.saludar(8, "Jorge")); 42/58
43 Implementación del cliente del objeto remoto System.setSecurityManager( new RMISecurityManager()); Registry registry = LocateRegistry.getRegistry(HOST); Saludable saludador = (Saludable) registry.lookup("saludador"); System.out.println("Hola Obtención del sistema a de las registro 08:00 RMI am: " + saludador.saludar(8, en el servidor especificado. "Jorge")); 43/58
44 Implementación del cliente del objeto remoto System.setSecurityManager( Búsqueda del objeto solicitado (Saludador) new RMISecurityManager()); en el sistema de registro requerido. Registry registry = LocateRegistry.getRegistry(HOST); Saludable saludador = (Saludable) registry.lookup("saludador"); System.out.println("Hola a las 08:00 am: " + saludador.saludar(8, "Jorge")); 44/58
45 Implementación del cliente del objeto remoto System.setSecurityManager( new RMISecurityManager()); Invocación de métodos en el Registry registry = objeto remoto. LocateRegistry.getRegistry(HOST); Saludable saludador = (Saludable) registry.lookup("saludador"); System.out.println("Hola a las 08:00 am: " + saludador.saludar(8, "Jorge")); 45/58
46 Implementación del cliente del objeto remoto System.setSecurityManager( new RMISecurityManager()); Registry registry = LocateRegistry.getRegistry(HOST); Saludable saludador = (Saludable) registry.lookup("saludador"); System.out.println("Hola a las 08:00 am: " + saludador.saludar(8, "Jorge")); 46/58
47 Compilar la interfaz: común en el cliente y en el servidor $ javac Saludable.java $ jar cvf saludable.jar Saludable.class saludable.jar 47/58
48 Compilar el servidor $ javac cp saludable.jar \ SaludableImpl.java \ SaludadorServer.java 48/58
49 Compilar el cliente $ javac cp saludable.jar \ SaludadorClient.java 49/58
50 Crear las políticas de seguridad server.policy grant { permission java.security.allpermission; }; client.policy grant { permission java.security.allpermission; }; 50/58
51 Crear las políticas de seguridad server.policy grant { Estas políticas sólo deben utilizarse durante el desarrollo ya que son }; demasiado permisivas. Deben ajustarse según los requisitos del contexto antes client.policy de pasarse el sistema a producción. permission java.security.allpermission; grant { permission java.security.allpermission; }; 51/58
52 Ejecutar el servicio de registro de objetos $ rmiregistry $ rmiregistry & dos> start rmiregistry 52/58
53 Ejecutar el servidor Linux $ java cp.:saludable.jar \ Djava.security.policy=server.policy \ SaludadorServer Windows $ java cp.;saludable.jar \ Djava.security.policy=server.policy \ SaludadorServer 53/58
54 Ejecutar el cliente Linux $ java cp.:saludable.jar \ Djava.security.policy=client.policy \ SaludadorClient Windows $ java cp.;saludable.jar \ Djava.security.policy=client.policy \ SaludadorClient 54/58
55 El resultado de la invocación remota Hola a las 08:00 am: Buenos dias Jorge Hola a las 16:00 am: Buenas tardes Jorge Hola a las 20:00 am: Buenas noches Jorge 55/58
56 Actividad Se desea desarrollar un sistema mediante la invocación remota de métodos que permita administrar un parqueadero de 5 lugares (numerados desde el 1 hasta el 5). Cuando llegue un carro este podrá verificar si existe al menos un espacio disponible y de estarlo podrá parquearse. Para guardar un carro en el parqueadero se deberá especificar su número de placa y el sistema le informará el número del espacio del parqueadero donde fue guardado. 56/58
57 Actividad Para retirar un carro del parqueadero se deberá especificar su número de placa o el número del lugar donde fue parqueado. Una vez retirado el sitio queda libre para otro carro. El sistema verificará que no será posible retirar un carro que no haya ingresado ni uno de una ubicación que no exista en las instalación físicas del parqueadero. 57/58
58 Actividad Identifique las entidades involucradas. Establezca las funcionalidades del sistema. Determine las responsabilidades de cada entidad. Diseñe la interfaz remota. Realice la implementación de la intefaz remota. Realice la implementación del servidor. Realice la implementación del cliente. 58/58
RMI. Aplicaciones Distribuidas
RMI Aplicaciones Distribuidas Contenido Objetos Distribuidos y RMI. Interface Remota. Clase Implementación. Referencias Remotas. Registro RMI. Paso de parámetros. Descarga dinámica de código. Desarrollo
Más detallesInvocación de Métodos Remotos: Prácticas de Laboratorio
Invocación de Métodos Remotos: Prácticas de Laboratorio XIII Jornadas de Enseñanza Universitaria de la Informática Teruel, 16-18 de julio de 2007 Coromoto León Hernández, Gara Miranda Valladares (cleon
Más detallesCapitulo 3. Remote Method Invocation: RMI
Capitulo 3 Remote Method Invocation: RMI En este capitulo mencionamos los aspectos principales de RMI, capas y componentes, entre otras características. 3. Remote Method Invocation (RMI) Los sistemas distribuidos
Más detallesTema 2: Programación en Red, RMI
Llamada a procedimientos remotos Tema 2: Programación en Red, RMI 1 2 Previo: Objetos e interfaces en JAVA Object 1 public class Client { private Client() { public static void main(string[] args) { Hello
Más detallesLlamada a procedimientos remotos. Programación en Red, Tema 3: RMI
Tema 3: Programación en Red, RMI 1 Llamada a procedimientos remotos 2 Previo: Objetos e interfaces en JAVA Object 1 Object 2 Interface 1 Data m1 m2 m3 implementation { of methods public class Client {
Más detallesJava RMI. Sistemas Distribuidos Rodrigo Santamaría
+ Java RMI Sistemas Distribuidos Rodrigo Santamaría RMI Java RMI 2 + RMI 3 Remote Method Invocation: middleware para que un objeto que se ejecuta en una JVM use métodos de otro objeto que se ejecuta en
Más detallesProgramación en Red, Tema 4: RMI. Llamada a procedimientos remotos. Automatización Ventas ebay. Llamada a procedimientos remotos. Server.
Tema 4: Programación en Red, RMI 22 Llamada a procedimientos remotos 24 Automatización Ventas ebay Envio(..), NuevaCompra(..),. Tienda Abierta 24*7 SOAP / RMI Actualiza(..), Comprador GET.. POST.. HTTP
Más detallesJava RMI. Sistemas distribuidos
Java RMI Sistemas distribuidos Entornos orientados a objetos Tendencia actual hacia sistemas compuestos por un conjunto de objetos que interactúan entre sí. Un programa solicita servicios invocando los
Más detallesJava RMI Remote Method Invocation. Invocación Remota de Métodos en Java
Java RMI Remote Method Invocation Invocación Remota de Métodos en Java Contenido Introducción Implementación Diseño de la interfaz remota. Implementación de la interfaz remota. Obtención de las clases
Más detallesObjetos Distribuidos
Objetos Distribuidos Objetos Distribuidos Conceptos Estado: encapsula los datos Métodos: operaciones sobre los datos Interfaz: se utiliza para la disponibilidad de los métodos El Estado y la Interfaz se
Más detallesLlamada a métodos remotos (RMI). Curso 04/05. Tema 9. Departament d Informàtica. Universitat de València. 1. Introducción 2
Tema 9 Llamada a métodos remotos (RMI). Departament d Informàtica. Índice 1. Introducción 2 1.1. Cómo funciona RMI?.......................................... 2 2. Usando RMI 4 2.1. Fase de desarrollo:
Más detallesHenry Tenorio Guzmán A76456
Henry Tenorio Guzmán A76456 Agenda Introducción Conceptos Importantes Qué es Java RMI? Objetivos de Java RMI Características Cómo se utiliza? Conclusiones Henry Tenorio Guzmán 2 Introducción La computación
Más detallesCódigo Fuente. Creamos en C:\ una carpeta para ubicar el código fuente del servidor. En mi caso, he creado una carpeta denominada rmi4
EL EJEMPLO El proceso servidor provoca un eco de la entrada de teclado enviada por el proceso cliente. Por sencillez, ejecutaremos tanto el servidor como el cliente en la máquina local. El sistema operativo
Más detallesInvocación de métodos remotos en Java: JAVA - RMI
Diseño Y Aplicaciones de Sistemas Distribuidos Invocación de métodos remotos en Java: JAVA - RMI Joan Vila DISCA / UPV Departament d Informàtica de Sistemes i Computadors Universitat Politècnica de València
Más detallesIntroducción. 50,SURSRUFLRQDFRPXQLFDFLyQUHPRWDHQWUHSURJUDPDVHVFULWRVHQHOOHQJXDMHGH SURJUDPDFLyQ-DYD
6LVWHPDV'LVWULEXLGRV 5HPRWH0HWKRG,QYRFDWLRQ $UWXUR'tD]3pUH] Sección de Computación Departamento de Ingeniería Eléctrica CINVESTAV-IPN Av. Instituto Politécnico Nacional No. 2508 Col. San Pedro Zacatenco
Más detallesEl servicio de echo en Java-RMI
PRÁCTICA 3 El servicio de echo en Java-RMI E l objetivo de esta práctica es crear y ejecutar una aplicación cliente servidor echo basada en java-rmi. La práctica tiene dos partes: La primera parte implementa
Más detallesModelo de Objetos Distribuidos
Remote Method Invocation Modelo de Objetos Distribuidos Un objeto remoto es un objeto cuyos métodos pueden ser invocados desde otra máquina virtual de java, potencialmente en un host diferente. Modelo
Más detallesJAVA - Serializacíon / RMI. (C) Philippe Roose - 2004, 2005
JAVA - Serializacíon / RMI (C) Philippe Roose - 2004, 2005 Serializar objetos- concepto Desde el JDK 1.1 Serializar objetos permite de escribir un objeto en un fichero como un flujo de octets (archivo
Más detallesPráctica 2: Java Remote Method Invocation (RMI)
Práctica 2: Java Remote Method Invocation (RMI) Aplicaciones Telemáticas II Introducción El objetivo de esta práctica es conocer un poco más sobre el paradigma de objetos remotos. La idea principal es
Más detallesJava RMI. las RPC de Java. Parte II. Luis Fernando Llana Díaz. Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid
las RPC de Java. Parte II Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid de marzo de 00 Distribución de clases I Es conveniente distinguir: servidor. Necesarias
Más detalles1. Visión general de RMI
1. Visión general de RMI Java RMI permite al programador ejecutar métodos de objetos remotos utilizando la misma semántica que si fueran invocaciones locales (Véase Figura 1). Máquina Local (Cliente) Máquina
Más detallesIntroducción a Web Services
Introducción a Web Services Introducción internet Otros Java Organización A Organización B.Net Introducción Sistemas distribuidos procesamiento de la información está distribuido en dos o más computadoras
Más detallesIntroducción a los sistemas distribuidos. Jorge Iván Meza Martínez
Introducción a los sistemas distribuidos Jorge Iván Meza Martínez jimezam@gmail.com Especialización en Gestión de Redes de Datos Universidad Nacional de Colombia Sede Manizales 1/28 Contenidos Definiciones
Más detallesA. Goñi, J. Ibáñez, J. Iturrioz, J.A. Vadillo OCW 2013
4.3: Computación distribuida: Java RMI A. Goñi, J. Ibáñez, J. Iturrioz, J.A. Vadillo OCW 2013 Indice RMI: Introducción Construcción de aplicaciones RMI Dfii Definir Interfaz remota Implementar interfaz
Más detallesJuan Pavón Mestras Dep. Sistemas Informáticos y Programación Universidad Complutense de Madrid.
Juan Pavón Mestras Dep. Sistemas Informáticos y Programación Universidad Complutense de Madrid jpavon@sip.ucm.es http://bogart.sip.ucm.es/~juan RPC Llamada a procedimiento remoto (Remote Procedure Call)
Más detallesPROGRAMACION DISTRIBUIDA MobileTracker: Ejemplo de implementación con RMI
PROGRAMACION DISTRIBUIDA MobileTracker: Ejemplo de implementación con RMI Héctor Pérez 2 MobileTracker: Especificación El computador de la torre de control ejecuta el servicio Follower que registra los
Más detallesen otra máquina exactamente de la misma manera que si se encontrará en la misma máquina
Máquina A Máquina B Máquina C Lo ideal sería tener un sistema distribuido orientado a objetos que permita: 1)Invocar un método de un objeto que se localiza en otra máquina exactamente de la misma manera
Más detallesRMI. Ingeniería del Software II Curso 2009/2010.
RMI Ingeniería del Software II Curso 2009/2010 Sergio Ilarri Artigas Sergio Ilarri Artigas silarri@unizar.es Índice Introducción Stubs y Skeletons (rmic) Objetos Remotos y Objetos Serializables: Interfaz
Más detallesRMI: Invocación de método remoto
RMI: Invocación de método remoto CORBA Java RMI Modelo de objetos en sistemas distribuidos Sistemas distribuidos. Aplicaciones inherentemente distribuidas. Se caracterizan por su complejidad. Sistemas
Más detallesJAVA RMI: ESTRUCTURA INTERNA RMI
Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas Desarrollo de Aplicaciones Distribuidas AUTORES: Alejandro Calderón Mateos Javier García Blas David Expósito Singh Laura Prada Camacho Departamento
Más detallesSistemas Distribuidos
RMI: Invocación de método remoto Modelo de objetos en sistemas distribuidos Sistemas distribuidos. Aplicaciones inherentemente distribuidas. Se caracterizan por su complejidad. Sistemas orientados a objetos.
Más detallesDISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA
DISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA José Luis Pastrana Brincones (pastrana@lcc.uma.es) Dpto. Lenguajes y Ciencias de la Computación. Universidad de Málaga
Más detallesSistemas Informáticos Industriales
Escuela Técnica Superior de Ingeniería y Diseño Industrial Universidad Politécnica de Madrid Llamadas a Procedimientos Remotos (RPC) Sistemas Informáticos Industriales 2017/2018 Raquel CEDAZO LEÓN
Más detallesTEMA 1. Introducción a las arquitecturas distribuidas
TEMA 1. Introducción a las arquitecturas distribuidas Tema 1. ARQUITECTURAS DISTRIBUIDAS: CONCEPTOS BÁSICOS 1. Qué es un sistema distribuido? 2. Servicios 3. Arquitectura 4. Definición de AD 5. Modelos
Más detallesSISTEMAS DISTRIBUIDOS Profesor: José Luis Montoya Restrepo
SISTEMAS DISTRIBUIDOS Profesor: José Luis Montoya Restrepo AGENDA El modelo Cliente Servidor. Introducción a RMI Practica Cliente Servidor utilizando RMI. Modelo Cliente Servidor El modelo Cliente Servidor
Más detallesObject Oriented Middleware: Java RMI
Object Oriented Middleware: Java RMI LSUB GSYC 20 de abril de 2016 (cc) 2015 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento
Más detallesPROGRAMACION DISTRIBUIDA
PROGRAMACION DISTRIBUIDA Ejemplo de uso de estrategias de diseño con RMI Héctor Pérez 2 Ejemplo de callback: SwiftEagle shot() setdirection() Target nearnessreport(target,observer) signal? explode() SwiftEagle
Más detallesJava RMI. las RPC de Java. Parte I. Luis Fernando Llana Díaz. Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid
las RPC de Java. Parte I Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid de marzo de 006 RMI y RPC RPC: Remote Procedure Call. RMI y RPC RPC: Remote Procedure Call.
Más detallesArquitectura Cliente/Servidor. Invocación de Métodos Remotos RMI: Remote Method Invocation. Llamadas a Métodos Remotos
Invocación de Métodos Remotos RMI: Remote Method Invocation Prof Wílmer Pereira Universidad Simón Bolívar Arquitectura Cliente/Servidor Cliente Request Reply Servidor Cómo permitir comunicación entre objetos
Más detallesCAPITULO 5 INTEGRACIÓN DEL EXPORTADOR EN LA ARQUITECTURA DE COMPONENTES GIS
CAPITULO 5 INTEGRACIÓN DEL EXPORTADOR EN LA ARQUITECTURA DE COMPONENTES GIS 5.1- INTEGRACIÓN DEL EXPORTADOR EN LA ARQUITECTURA La arquitectura de componentes GIS permite a los usuarios de Internet obtener
Más detallesRemote Method Invocation (RMI)
Remote Method Invocation (RMI) Metas La meta principal de los diseñadores de RMI fue la de permitir a los programadores el desarrollo de programas distribuidos en JAVA, usando la misma sintáxis y semántica
Más detallesRMI [Remote Method Invocation]
RMI [Remote Method Invocation] Cuando utilizamos sockets, hemos de preocuparnos de cómo se transmiten físicamente los datos entre los extremos de una conexión (a nivel de bytes, ya que usamos los streams
Más detallesRMI de Java. Servicio RMI. O b j e t o OBJETO. Variables (estado) Interfaz + Implementación interfaz. Método_1. comportamiento. Método_2.
La Comunicación Servicio RMI Interfaz + Implementación interfaz O b j e t o Variables (estado) Local Interfaz Local Visible solo en el proceso o thread que lo creó. (= MV) Método_1 Método_2 Método_3 OBJETO
Más detallesJAVA RMI (REMOTE METHOD INVOCATION)
JAVA RMI (REMOTE METHOD INVOCATION) RMI RMI (Remote Method Invocation) Mecanismo RPC de Mecanismo mediante el cual los procesos cliente y servidor en una aplicación distribuida se comunican Una aplicación
Más detallesInteracción entre Aplicaciones: objetos distribuidos e invocación remota
Interacción entre Aplicaciones: objetos distribuidos e invocación remota En la anterior práctica se ha visto cómo extender la funcionalidad de un servidor web incorporando servlets que atienden peticiones
Más detallesMIDDLEWARE: Arquitectura para Aplicaciones Distribuidas Dr. Víctor J. Sosa Sosa
MIDDLEWARE: Arquitectura para Aplicaciones Distribuidas Dr. Víctor J. Sosa Sosa vjsosa@tamps.cinvestav.mx Contenido Middleware: Introducción Definición Genealogía Ambientes distribuidos: Servicios Web
Más detallesUna arquitectura de componentes provee, desde el punto de vista de un. sistema computacional, la definición de las partes esenciales del proceso de
2.1 Introducción Una arquitectura de componentes provee, desde el punto de vista de un sistema computacional, la definición de las partes esenciales del proceso de información, en este caso del proceso
Más detallesRPC/RMI LSUB. 20 de marzo de 2013 GSYC
RPC/RMI LSUB GSYC 20 de marzo de 2013 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial - SinObraDerivada
Más detallesINSTITUTO TECNOLÓGICO SUPERIOR DE SAN MARTÍN TEXMELUCAN INGENIERÍA EN SISTEMAS COMPUTACIONALES. Sistemas Distribuidos
INSTITUTO TECNOLÓGICO SUPERIOR DE SAN MARTÍN TEXMELUCAN INGENIERÍA EN SISTEMAS COMPUTACIONALES Sistemas Distribuidos PRÀCTICA 3: El servicio de echo en Java-RMI Profesor: Susana Garrido Cortes Alumnos:
Más detallesComunicación entre procesos: sockets udp. Jorge Iván Meza Martínez
Comunicación entre procesos: sockets udp Jorge Iván Meza Martínez jimezam@gmail.com Especialización en Gestión de Redes de Datos Universidad Nacional de Colombia Sede Manizales 1/31 Contenidos Conceptos
Más detallesIntroducción. Introducción y conceptos de POO. En qué consiste la POO? Vocabulario. Definiciones
Introducción Fernández Universidad Autónoma de Madrid 20 de febrero de 2009 Introducción En qué consiste la Programación Orientada a Objetos? Vocabulario básico Ejemplo sencillo En qué consiste la POO?
Más detallesImplementación de clientes con CORBA y Java
Implementación de clientes con CORBA y Java Sistemas Distribuidos: Programación con CORBA Juan Pavón Mestras Dep. Sistemas Informáticos y Programación Universidad Complutense Madrid Facultad de Informática,
Más detalles1. Introducción. 1.1 Construcción de una aplicación CORBA
1. Introducción 1.1 Construcción de una aplicación CORBA Toda aplicación CORBA empieza con la definición de las interfaces de los objetos que pueden distribuirse. Para ello se utiliza el lenguaje IDL.
Más detallesCONTENIDO. Serialización. Carga dinamica de stubs RMI AVANZADO. Callbacks. Carga dinámica de Stubs
CONTENIDO RMI AVANZADO Carga dinamica de stubs Callbacks Carga dinámica de Stubs Para tener acceso a un objeto remoto mediante RMI, el cliente debe recibir un stub serializado y deserializarlo. El stub
Más detallesDescripción de Servicios
Descripción de Servicios JUAN CARLOS CONDE RAMÍREZ WEB-SERVICES Contenido 1. Definición y búsqueda de servicios 2. Interacción entre Servicios Web 3. Combinación de Servicios Web FCC-BUAP 2 Contenido 1.
Más detallesRMI. Ingeniería del Software II Curso 2007/2008. Sergio Ilarri Artigas
RMI Ingeniería del Software II Curso 2007/2008 Sergio Ilarri Artigas silarri@unizar.es Índice Introducción Stubs y Skeletons (rmic) Objetos Remotos y Objetos Serializables: Interface Remoto: ejemplo Objeto
Más detallesIntroducción y conceptos de POO
Fernández Universidad Autónoma de Madrid 20 de febrero de 2009 Introducción Introducción En qué consiste la Programación Orientada a Objetos? Vocabulario básico Ejemplo sencillo En qué consiste la POO?
Más detallesIntroducción a Java LSUB. 30 de enero de 2013 GSYC
Introducción a Java LSUB GSYC 30 de enero de 2013 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial
Más detallesSistemas Distribuidos. Llamadas a Procedimientos Remotos
Sistemas Distribuidos Llamadas a Procedimientos Remotos Sun RPCs RPC Sistemas Distribuidos 1 Llamadas a Procedimientos Remotos Cliente send(msg) receive(rpy) msg rpy Paso de mensajes (visión de bajo nivel)
Más detallesTema 3.1: Introducción a Servicios Web
Tema 3.1: Introducción a Servicios Web Servicios Web (1) La Web proporciona un mecanismo de transporte universal, eficiente, robusto, escalable y probado tanto en aplicaciones inter-organización como intraorganización.
Más detallesEspecialista en Aplicaciones distribuidas en Java con Tecnología RMI
Especialista en Aplicaciones distribuidas en Java con Tecnología RMI titulación de formación continua bonificada expedida por el instituto europeo de estudios empresariales Especialista en Aplicaciones
Más detallesSistemas Distribuidos Java RMI (Remote Method Invocation) Alberto Lafuente Mikel Larrea Dpto. ATC, UPV/EHU
Sistemas Distribuidos Java RMI (Remote Method Invocation) Alberto Lafuente Mikel Larrea Dpto. ATC, UPV/EHU Contenido Interfaz Implementación Servidor Cliente Puesta en marcha de la aplicación: Compilador
Más detallesLaboratorio I Java Threads (Silberschatz Galvin)
Laboratorio I Java Threads (Silberschatz Galvin) Un proceso es un programa ejecutandose dentro de su propio espacio de direcciones. Java es un sistema multiproceso, esto significa que soporta varios procesos
Más detallesTEMA 5. Otras arquitecturas distribuidas III. Otros entornos de objetos distribuidos
TEMA 5. Otras arquitecturas distribuidas III. Otros entornos de objetos distribuidos III. Otros entornos de objetos distribuidos 1. Problemas de CORBA 2. Java Enterprise Edition 1. EJB 2. Servidor de aplicaciones
Más detalles5.1 Introducción a las tecnologías de objetos distribuidos con Java RMI
5.1 Introducción a las tecnologías de objetos distribuidos con Java RMI Contenidos Tutorial de Java RMI Caso de estudio: diseño e implementación de la capa modelo de MiniBank con Java RMI Arquitectura
Más detallesSistemas Distribuidos Orientados a Objetos
Sistemas Distribuidos Orientados a Objetos Dr. Ing. Álvaro Rendón G. Ing. Armando Ordoñez. Ing. Pablo Augusto Magé. Agosto de 2005 Objetivos Sistemas Distribuidos Orientados a Objetos Obtener una panorámica
Más detallesCAPITULO 3 ARQUITECTURA DE COMPONENTES GIS EN INTERNET
CAPITULO 3 ARQUITECTURA DE COMPONENTES GIS EN INTERNET 3.1- ARQUITECTURA DE COMPONENTES GIS La presente tesis trata del diseño y desarrollo de una aplicación basado en el Web para servir datos geográficos
Más detallesPROGRAMACION DISTRIBUIDA
PROGRAMACION DISTRIBUIDA Introducción a RMI (Remote Method Invocation) Héctor Pérez 2 Abstracción de comunicaciones en sist. distribuidos proporciona la base para la comunicación programación estructurada
Más detalles5.3 Diseño por capas con Servicios Web
5.3 Diseño por capas con Servicios Web Diseño por capas Misma idea que en CORBA Interfaz de usuario (no WS) Capa de traducción y delegación (WS) Capa de traducción y delegación (WS) IDL Capa de lógica
Más detallesServicios Telemáticos Avanzados 4º Grado en Ingeniería en Tecnologías de Telecomunicación Especialidad de Telemática
Servicios Telemáticos Avanzados 4º Grado en Ingeniería en Tecnologías de Telecomunicación Especialidad de Telemática 2 Hora 1 1 Middlewares 2 Remote Procedure Call (RPC) 3 Remote Object/Method Invocation
Más detallesBloque II. Elementos del lenguaje de programación Java
Bloque II. Elementos del lenguaje de programación Java 1.Introducción a los lenguajes de programación 2. Estructura de un programa 3. Datos y expresiones simples 4. Instrucciones de control 5. Entrada/salida
Más detallesIntroducción a Web Services. Taller de Programación 2017
Introducción a Web Services Taller de Programación 2017 tprog@fing.edu.uy Introducción internet Otros Java Organización A.Net Organización B Introducción Sistemas distribuidos procesamiento de la información
Más detallesClases y herencia. FJP Unidad 8. Diseño de clases
Clases y herencia FJP Unidad 8 Encapsulamiento Diseño de clases El encapsulamiento provee protección de atributos y métodos definidos en una clase de forma tal que comportamiento de objetos de una clase
Más detallesIngeniería del Software Arquitectura Física en 3 niveles
Introducción En este laboratorio desplegaremos en 3 niveles físicos una aplicación que verifica si una cuenta y un password son correctos, basada en la que fue presentada en el laboratorio Separación entre
Más detallesTema VI. Servicios Web I. Introducción
Tema VI. Servicios Web I. Introducción Desarrollo de Aplicaciones para Internet Curso 12 13 Índice 1.Introducción 2.Llamada a Procedimientos Remotos (RPC) 3.Servicios Web i. Introducción ii. WSDL iii.soap
Más detallesTema 1: Principios de Java
Tema 1: Principios de Java 0 Definición de java Java (del idioma indonesio: JAWA) Isla más poblada del archipiélago indonesio. Una variedad del grano de café producido en la isla de Java. Lenguaje de programación
Más detallesComunicación en sistemas distribuidos (i): del cliente/servidor al modelo de objetos
Comunicación en sistemas distribuidos (i): del cliente/servidor al modelo de objetos Joan Vila DISCA / UPV Departament d Informàtica de Sistemes i Computadors Universitat Politècnica de València Comunicación
Más detallesTema%4.( Sistemas(distribuidos( Middleware.(Modelos(de(interacción.( ICE( (Internet(Communica8ons(Engine(
Tema%4. Sistemasdistribuidos Middleware.Modelosdeinteracción. ICE InternetCommunica8onsEngine MarisolGarcíaValls DepartamentodeIngenieríaTelemá8ca UniversidadCarlosIIIdeMadrid mvalls@it.uc3m.es ArquitecturadesistemasII
Más detallesCentro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta Sesión VIII Composición... 4 Herencia... 8 Herencia e Inicialización... 11 Constructor de Superclase...
Más detallesPráctica 4: Java Remote Method Invocation (RMI)
Práctica 4: Java Remote Method Invocation (RMI) Aplicaciones Telemáticas II Introducción Hasta el momento hemos visto aplicaciones remotas donde un cliente utiliza un objeto remoto que ha sido publicado
Más detallesRemote Method Invocation (RMI)
Que deseamos hacer con objetos remotos Remote Method Invocation (RMI) Basado en: Fundamentals of RMI. Short Course. JGuru. Cliente Result = Obj.method1(val1) Servidor Def Obj { int method1(int v) { string
Más detallesSISTEMAS DISTRIBUIDOS
Sesión 5: Tema 8: Objetos Distribuidos e Invocación Remota. Java RMI SISTEMAS DISTRIBUIDOS GRADO EN INGENIERÍA INFORMÁTICA UNED Introducción Índice (1/2) Modelos de programación de aplicaciones distribuidas.
Más detallesAspectJ. Juan Rodriguez Duran Johann Triana Olaya Jonatan Parra Toro
AspectJ Juan Rodriguez Duran Johann Triana Olaya Jonatan Parra Toro Tabla de contenido 1. 2. 3. 4. 5. 6. Historia y descripción Ventajas y desventajas Instalación de AspectJ en Eclipse Sintaxis Repaso
Más detallesSistemas Distribuidos. Soporte de Sistemas Operativos
Soporte de Sistemas Operativos Soporte de Sistemas Operativos Soporte de Sistemas Operativos Soporte de Sistemas Operativos Tareas principales de un SO: Administrar recursos Proveer abstracciones de los
Más detallesIntroducción a OOP. Programación Orientada a Objeto
Introducción a OOP Programación Orientada a Objeto Evolución Programación no Estructurada, Programación procedimental, Programación modular y Programación orientada a objetos. Programación no Estructurada
Más detallesModelos de los sistemas distribuidos. Jorge Iván Meza Martínez jimezam@gmail.com
Modelos de los sistemas distribuidos Jorge Iván Meza Martínez jimezam@gmail.com Especialización en Gestión de Redes de Datos Universidad Nacional de Colombia Sede Manizales 1/36 Contenidos Modelo arquitectónico
Más detalles3 ALTERNATIVAS DE SOLUCIÓN
3 ALTERNATIVAS DE SOLUCIÓN En esta sección se describen las herramientas que pueden trabajar en conjunto con las herramientas proporcionadas para conectarse al sistema R/3. Entonces, se tendrá un panorama
Más detallesIntroducción a los Servicios Web
Octubre 2006 Contenidos Introducción Estándares SOAP WSDL UDDI Arquitecturas Retos Servicios Web Aplicaciones auto-contenidas, auto-descritas que pueden ser publicadas, localizadas e invocadas a través
Más detallesFSD Práctica Invocación Remota: JavaRMI. Estudio Previo. Información
FSD Práctica Invocación Remota: JavaRMI Tipo de entrega: por grupos de prácticas Fecha límite: sesión de laboratorio Lugar: Campus Digital Comentario: No hay que entregar el estudio previo Objetivo de
Más detallesWeb Services Tecnologías asociadas
Web Services 274 Web Services Tecnologías asociadas SOAP WSDL XML Tecnologías asociadas El modelo de web services está basado en ciertas tecnologías emergente que es el resultado del trabajo de varias
Más detallesRemote Method Invocation (RMI) de Java
Remote Method Invocation (RMI) de Java Concurrencia y Distribución Programación Avanzada Posgrado en Ciencia e Ingeniería de la Computación, UNAM 1. Introducción El mecanismo RMI (Remote Method Invocation)
Más detalles'HVDUUROORGH$SOLFDFLRQHV FRQ-DYD50,
'HVDUUROORGH$SOLFDFLRQHV FRQ-DYD50, /DERUDWRULRGH,QJHQLHUtDGHO6RIWZDUH &RQWHQLGR Antecedentes Introducción a los Sistemas Distribuidos Sockets RPC Java RMI Características Modelo de Objetos Distribuidos
Más detallesPROGRAMACION DISTRIBUIDA
PROGRAMACION DISTRIBUIDA Aspectos avanzados de RMI Héctor Pérez 2 Objetivos Análisis de un conjunto de estrategias de diseño utilizando RMI que nos pueden servir de guía para el diseño de sistemas distribuidos
Más detallesUna aplicación sencilla con CORBA y Java
Una aplicación sencilla con CORBA y Java Sistemas Distribuidos: Programación con CORBA Juan Pavón Mestras Dep. Sistemas Informáticos y Programación Universidad Complutense Madrid Facultad de Informática,
Más detallesGuía práctica de estudio 08: Polimorfismo
Guía práctica de estudio 08: Polimorfismo Elaborado por: M.C. M. Angélica Nakayama C. Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez Mena Guía práctica de estudio 08: Polimorfismo
Más detallesRemote Method Invocation (RMI) Basado en: Fundamentals of RMI. Short Course. JGuru.
Remote Method Invocation (RMI) Basado en: Fundamentals of RMI. Short Course. JGuru. 1 Paradigmas de desarrollo Desarrollo basado en protocolos Se diseña el protocolo Se elaboran los módulos para manejo
Más detallesImplementación de Componentes
Implementación de Componentes Concepto Un componente es una parte no trivial, casi independiente, y reemplazable de un sistema que llena claramente una funcionalidad dentro de un contexto en una arquitectura
Más detallesCentro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta Sesión IX Composición... 4 Herencia... 8 Herencia e Inicialización... 12 Constructor de Superclase...
Más detallesRMI: Invocación de método remoto
RMI: Invocación de método remoto Java RMI CORBA Modelo de objetos en sistemas distribuidos Sistemas distribuidos. Aplicaciones inherentemente distribuidas. Se caracterizan por su complejidad. Sistemas
Más detalles