Práctica II: Java RMI.

Slides:



Advertisements
Presentaciones similares
CJ02 – Técnicas avanzadas en java 1.4 y 5.0
Advertisements

APLICACIONES DISTRIBUIDAS
Características Generales y Entornos de Desarrollo
Curso de java básico (scjp)
Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
Common Object Request Broker Architecture (CORBA)
Lenguaje de programación Java
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Common Object Request Broker Architecture
Lenguajes Servicios Web
5. Ingeniería de Pruebas LS4128: Ingeniería del Software II
El proceso de desarrollo de software
"java del lado del servidor" Servlet y JSP Java Server Pages.
Tecnología de objetos distribuidos y arquitectura de componentes.
Inner classes CAPITULO 8.
Capitulo 4 Excepciones.
Introducción a Remoting
Entornos orientados a objetos
RMI Remote Method Invocation
RMI (Remote Method Invocation)
Universidad Nacional de San Antonio Abad del Cusco
Objetos Distribuidos – Aplicaciones RMI
PROGRAMACION DISTRIBUIDA
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Lic. Rosemary Torrico Bascopé
Práctica III: Java RMI con Serialización y Activation Framework
El patrón de diseño Proxy Raúl Heras Alberto Blasco José Manuel Arévalo.
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
Tema 10: Interfaces Antonio J. Sierra.
Sistemas Operativos Distribuidos Prácticas Justo N. Hidalgo Sanz Universidad Antonio de Nebrija 2002/03.
Ingeniería del software II
Sistemas Operativos Centralizados y Distribuidos Carlos David Zepeda.
1 Ingeniería del Software Ejercicios de Implementación  Caso de Uso Total Gasto (Junio 2003)  Caso de Uso Mejor Usuario (Septiembre 2003)  Caso de Uso.
1 TEMA 5. Seguridad en Java 1.Introducción a los Controladores de Seguridad 2.Decidir qué Métodos Sobreescribir del SecurityManager 3.Escribir un Controlador.
ATC-DistribuidasUniversidad de Oviedo / Dpto. de Informática Programación con OSF RPC y Microsoft RPC.
Ejemplo CORBA: Java IDL
SCJP Sun Certified Programmer for Java 6
Tema 4: Servicio de Comunicaciones. Sistemas Distribuidos - Nebrija - Justo Hidalgo2 T4.1.- RMI - HTTP Tunneling (I)
Invocación de Métodos Remotos RMI: Remote Method Invocation
Introducción a la Programación. Lenguaje de Máquina.
Diagramas de Clase Angela Carrillo R..
Tema 11: Excepciones Antonio J. Sierra.
JAVA RMI The Java Remote Method Invocation ELO330 – Programación de Sistemas Cesar Vásquez I
Tema VI: Java RMI Luis López Fernández.
Programación orientada a objetos
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA DOS ORIENTACION A OBJETOS.
RMI Remote Method Invocation 2da. Clase del 19 de Junio
OBJETOS DISTRIBUIDOS E INVOCACIÓN REMOTA ING. MARISCAL.
Informática II Interfaces zLas interfaces declaran un tipo que se componen sólo de métodos abstractos y constantes. zLa definición de una clase hace pensar.
Patrones de Diseño: Command
Enterprise Java Beans. EJBs Beans gestionados por un contenedor del servidor de aplicaciones para gestionar el acceso a recursos (bases de datos, colas.
INFORMATICA III ESCUELA DE INGENIERIA ELECTRONICA DEPARTAMENTO DE SISTEMAS E INFORMATICA.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
Remote Method Invocation (RMI) Basado en: Fundamentals of RMI. Short Course. JGuru.
Cambiando la manera de diseñar aplicaciones distribuidas Diseño orientado a las comunicaciones: Primero se diseña el protocolo de las comunicaciones y.
Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java.
Manuel I. Capel Tuñón Ramón A. Carrasco González
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Clases y Objetos en Java ELO329: Diseño y Programación Orientados a Objetos.
Herencia. Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente, estamos re-usando.
Detalles Generales sobre Java
Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)
Hilos Java Profesor Elian Rojas Berrocal
Herencias Conceptos básicos i
Patrón de diseño BROKER
RMI: Invocación a método remoto, y Java RMI
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Java RMI. Entornos orientados a objetos  Tendencia actual hacia sistemas compuestos por un conjunto de objetos que interactúan entre sí.  Un programa.
Transcripción de la presentación:

Práctica II: Java RMI

Práctica II: Java RMI (I): introducción Localización de objetos remotos. Comunicación con objetos remotos. Carga de código móvil. Sistemas Distribuidos - Nebrija - Justo Hidalgo

Práctica II: Java RMI (II): introducción Normalmente los sistemas RPC se declaran mediante IDL. JavaRMI utiliza una interfaz Java => sólo utilizable entre aplicaciones Java. Necesidades de las aplicaciones distribuidas: Localización de objetos remotos: Rmiregistry ó Paso de objetos como referencias remotas, ó Servicio de nombrado CORBA, en RMI/IIOP. Comunicación con objetos remotos. JavaRMI se ocupa de que la interacción entre objetos sea como invocaciones locales. Carga de los bytecodes de los objetos que se pasan como parámetros o valores de retorno. Sistemas Distribuidos - Nebrija - Justo Hidalgo

Práctica II: Java RMI (III): diferencias Diferencias con el modelo de objetos local Java: Los clientes de los objetos remotos tratan sólo con interfaces remotas, no con la implementación. Los argumentos “no remotos” se pasan siempre por copia, no por referencia. Los objetos remotos se pasan por referencia. Los clientes han de tratar más excepciones que antes. Sistemas Distribuidos - Nebrija - Justo Hidalgo

Práctica II: Java RMI (IV): interfaz java.rmi.Remote Interfaz que declara un conjunto de métodos que pueden invocarse desde una JVM remota. Una interfaz remota debe extender la interfaz java.rmi.Remote. Un método remoto: Debe incluir la excepción java.rmi.RemoteException (o superclases). Ejemplo: public interface BankAccount extends java.rmi.Remote { public void deposit(float amount) throws java.rmi.RemoteException; public void withdraw(float amount) throws OverdrawnException, java.rmi.RemoteException; public float getBalance() throws java.rmi.RemoteException; } Sistemas Distribuidos - Nebrija - Justo Hidalgo

Práctica II: Java RMI (V): clase RemoteObject Parte servidora; tres subclases: Java.rmi.Server.RemoteObject: implementaciones para los métodos de Object: hashCode, equals, toString. Java.rmi.server.UnicastRemoteObject: define un objeto remoto Singleton cuyas referencias son sólo válidas mientras el proceso esté vivo. Java.rmi.server.Activatable: abstracta que define un objeto remoto activable “on request”. Sistemas Distribuidos - Nebrija - Justo Hidalgo

Práctica II: Java RMI (VI): localización Un cliente necesita referencia al objeto remoto que quiere invocar. La referencia se almacena en un servicio de registro (rmiregistry) mediante la convención de java.rmi.Naming: Look up. Bind. Rebind. Unbind. Sistemas Distribuidos - Nebrija - Justo Hidalgo

Práctica II: Java RMI (VII): stubs & skeletons Stub: proxy en la parte cliente para el objeto remoto. El cliente invoca el stub, que es quien se conecta con la parte servidora: Conexión con JVM remota. Marshalling. Espera de resultados. Unmarshalling de valores de retorno o excepciones. Devolución de resultado a la aplicación cliente. Skeleton: no necesario en Java2 Platform.Ejerce de dispatcher. Sistemas Distribuidos - Nebrija - Justo Hidalgo

Práctica II: Java RMI (VIII): garbage collection Borrado automático de objetos remotos cuando no son referenciados por ningún cliente. RMI se basa en Network Object de Modula-3. Cuando hay una nueva referencia: count++ Especialización de Leasing. Sistemas Distribuidos - Nebrija - Justo Hidalgo

Práctica II: Java RMI (IX): ejemplo Creación de la interfaz remota Java Implementación de la interfaz remota. Main: Gestor de seguridad. Creación de instancia del objeto remoto. Registro del objeto. Implementación de la aplicación cliente. Sistemas Distribuidos - Nebrija - Justo Hidalgo

Práctica II: Java RMI (X): compilación Entorno: set CLASSPATH=%CLASSPATH%;<practicas>\examples\hello;. Compilación de las fuentes. javac Hello.java  HelloImpl.java  HelloClient.java Generación de stubs/skeletons. rmic examples.hello.HelloImpl Genera: HelloImpl_Stub.class HelloImpl_Skel.class //opcional. Sistemas Distribuidos - Nebrija - Justo Hidalgo

Práctica II: Java RMI (XI): ejecución Arranque del rmiregistry: start set CLASSPATH= rmiregistry <puerto> Arranque del servidor: java -Djava.rmi.server.codebase=file:///<path>/ -Djava.security.policy=<path>\policy examples.hello.HelloImpl Arranque del cliente: java -Djava.rmi.server.codebase=file:///<path>/ -Djava.security.policy=<path>\policy examples.hello.HelloClient <host> Sistemas Distribuidos - Nebrija - Justo Hidalgo