RMI Remote Method Invocation

Slides:



Advertisements
Presentaciones similares
APLICACIONES DISTRIBUIDAS
Advertisements

RUBÉN LÓPEZ FERNÁNDEZ 4_A
TEMA1. Servicios de Red e Internet
Curso de Java Capitulo 7: Continuación Poo Profesor:
Sistema operativo Componentes de un sistema operativo
Programación Interactiva Aplicaciones Cliente-Servidor
Lenguaje de programación Java
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Práctica II: Java RMI.
Common Object Request Broker Architecture
Servicios Web.
SOCKETS INTRODUCCIÓN DEFINICIÓN TIPOS DE SOCKETS USO DE SOCKETS.
Ingeniería en Automática Industrial Software para Aplicaciones Industriales I Ingeniería en Automática Industrial Software para Aplicaciones Industriales.
Objetivos Describir la forma en que las redes impactan nuestras vidas diarias. Describir el rol del trabajo en red en la actualidad. Identificar los componentes.
Tipos de Servicios Web.
Introducción a Remoting
RMI (Remote Method Invocation)
Aplicación del paradigma orientado a objetos
PROTOCOLOS Un protocolo es un conjunto de reglas que hacen que la comunicación en una red sea más eficiente.
Objetos Distribuidos – Aplicaciones RMI
Almacenamiento virtual de sitios web: «Hosts» virtuales Gustavo Antequera Rodríguez.
DÍAZ OSCAR IVÁN HOYOS ANDRÉS FELIPE ORDOÑEZ JOSÉ LUIS INFORMÁTICA, SEMESTRE II.
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
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.
Sistemas Operativos Centralizados y Distribuidos Carlos David Zepeda.
Niveles, entidades y SAPs
Tecnologías para el desarrollo de aplicaciones Web
Remoting.Net Michel Rener. TEMARIO ¿Qué es una Aplicación Distribuida? ¿Qué es una Aplicación basada en Cliente/Servidor? ¿Qué es la Tecnología de Objetos.
Sincronización de Objectos Compartidos usando MatchMaker a través de Web Services Thomas Pieper DCC, Universidad de Chile.
Invocación de Métodos Remotos RMI: Remote Method Invocation
EL MODELO OSI GIAN PAOLO ALMEIDA ROMMEL CHIFLA GABRIEL VALENZUELA
OMAR SANCHEZ ROBLES HECTOR PEREZ GARCIA. “Sistemas de cómputo compuesto por un gran número de CPU´s conectados mediante una red de alta velocidad”, Tanenbaum.
Servicios Web. Servicios web Son programas con funcionalidad accesible a través de protocolo http que permiten la ejecución remota de métodos y funciones.
Arquitectura de una aplicación
JAVA RMI The Java Remote Method Invocation ELO330 – Programación de Sistemas Cesar Vásquez I
Arquitectura de Redes Modelos de Redes Terminales Terminales RED de
DISEÑO DE SOFTWARE 1ª. Parte
RMI Remote Method Invocation 2da. Clase del 19 de Junio
OBJETOS DISTRIBUIDOS E INVOCACIÓN REMOTA ING. MARISCAL.
Teoría de Sistemas Operativos
5. Sistemas de archivos avanzados1 Tema 5: Sistemas de Archivos Avanzados Resumen: –Sistema de archivos distribuido –File Replication Service.
Un sistema de gestión de bases de datos: Es un conjunto de programas que permite a los usuarios crear y mantener una base de datos. Por tanto, el SGBD.
Sockets. / Los sockets (zócalos, referido a los enchufes de conexión de cables) son mecanismos de comunicación entre programas a través de una red TCP/IP.
Haga clic para modificar el estilo de subtítulo del patrón 28/04/09 Por ARLEDY SARRIA MOLINA NAZLY DIAZ ARIZA JHOANNA MARQUELLA DESARROLLO DE SOFTWARE.
INTRODUCCIÓN A JAVA. Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales ¿Qué ventajas tengo como desarrollador?
JDBC Java Database Connectivity CC52N - Computación para el trabajo grupal Profesor: Nélson Baloian Por: Edgard Pineda.
Universidad Nacional de San Juan Facultad de Ciencias Exactas, Físicas y Naturales “WEB SERVICES” Integrantes: Ene Adriana Guevara Vanina Martínez Cintia.
1 Capítulo 21: Interacción Cliente Servidor ICD 327: Redes de Computadores Agustín J. González.
Cambiando la manera de diseñar aplicaciones distribuidas Diseño orientado a las comunicaciones: Primero se diseña el protocolo de las comunicaciones y.
Manuel I. Capel Tuñón Ramón A. Carrasco González
Teoría de Sistemas Operativos Sistemas Archivos de Red
Enterprise JavaBeans Distributed Component Object Model
Modelo OSI Surgimiento del Modelo OSI ¿Que es el Modelo OSI?
Distributed Component Object Model
Protocolos de comunicación TCP/IP
BASE DE DATOS DISTRIBUIDAS
Elementos y tipos de sistemas operativos
 Creado en 1984 por la Organización Internacional para la normalización (ISO)  Es un modelo de siete Capas  Cada capa realiza tareas específicas 
Significa Modelo de Interconexión de sistemas Abiertos.
Gabriel Montañés León. TCP es un protocolo orientado a conexión es decir, que permite que dos máquinas que están comunicadas controlen el estado de la.
Modelo OSI Para redes………
Arquitectura de una aplicación Arquitectur a: desarrolla un plan general del sistema, asegurando que las necesidades de los usuarios sean atendidas. Ingeniería.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLEMENTACIÓN DE COMPONENTES.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
En informática, es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol)
Patrón de diseño BROKER
Conociendo el modelo Cliente-Servidor
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
ALGORITMOS DISTRIBUIDOS EN JAVA DAJ. ¿Que es DAJ?  DAJ consiste de una librería de clases java con una simple interface de programación que permite desarrollar.
Definición: Es un estilo de programación, su objetivo primordial es la separación de la capa de presentación, capa de negocio y la capa de datos. ARQUITECTURA.
Transcripción de la presentación:

RMI Remote Method Invocation Integrantes del Equipo: Gómez Romero Magali Rojas Arteaga Karina Sánchez Flores Juan Luis Sánchez Vázquez Luis Arturo Torres Flores Claudia Ivette

INTRODUCCIÓN RMI es un mecanismo que permite que una aplicación o applet se comunique con objetos que residen en programas que se ejecutan en máquinas remotas. En lugar de crear un objeto, el programador liga el objeto remoto con un representante local, conocido como stub.

Envío de Mensajes

RMI… Es un esquema para objetos distribuidos. Tiene facilidades de comunicación de objetos que son similares a CORBA. El mecanismo de serialización de objetos provee una forma para transferir o pedir una instancia de un objeto por valor desde un proceso remoto a otro.

El mecanismo de RMI es básicamente un RPC orientado a objetos. RPC, Remote Procedure Call, es un protocolo que permite a un programa de una computadora ejecutar código en otra máquina remota sin tener que preocuparse por las comunicaciones entre ambas.

Existen tres procesos fundamentales: El cliente: proceso que invoca un método en un objeto remoto. El servidor: proceso que posee el objeto remoto Registro de objetos: se usa para el registro de objetos. Para obtener acceso a objetos remotos utilizando su nombre.

ARQUITECTURA El sistema RMI consta de tres capas: La capa de stub/skeleton La capa de referencia remota  La capa de transporte

Esta capa es la interfaz entre la capa de aplicación y CAPA 1: Stub/Skeleton Esta capa es la interfaz entre la capa de aplicación y el resto del sistema RMI. Transmite datos desde la capa de referencia remota a través de un flujo ordenado, el cual emplea un mecanismo llamado: Serialización: este mecanismo habilita los objetos java a ser transmitidos entre espacio de direcciones. Un stub para un objeto remoto implementa todas las interfaces que son soportadas para la implementación de un objeto remoto.

Un stub del cliente es responsable de: Iniciar una llamada al objeto remoto Ordenar los argumentos del flujo Informar a la capa de referencia remota que la llamada debe ser hecha Retornar el valor o excepción de un flujo esta completa. Un Skeleton para un objeto remoto en el servidor contiene un método que envía las llamadas a la actual implementación del objeto remoto. El skeleton es responsable de: Decodificar los datos del flujo de datos Hacer la llamada de la implementación del objeto remoto actual Retornar el estado de la llamada o excepción (si esta ocurre) dentro de un flujo.

Es responsable de llevar a cabo la especificación CAPA 2: Referencia Remota Es responsable de llevar a cabo la especificación de un protocolo de referencia remota, el cual es independiente del stub del cliente y del skeleton del servidor. Tiene dos componentes cooperativos: El lado del cliente : contiene información especifica al servidor remoto y vías de comunicación para transportarse al lado del cliente. El lado del servidor. Transmite datos a la capa de transporte.

En general la capa de transporte de RMI es responsable de: CAPA 3: Transporte En general la capa de transporte de RMI es responsable de: Establecer conexiones al espacio de direcciones Manejar las conexiones Monitorear las conexiones actuales Escuchar las llamadas Mantener una tabla de objetos remotos que residen en el espacio de direcciones Establecer una conexión para una llamada

FASES PARA CREAR UN EJEMPLO USANDO RMI 1. Definir la interface remota, la cual tiene las siguientes características: La interface remota debe ser pública La interface remota hereda de java.rmi.Remote. Un objeto remoto que pase un argumento debe ser declarada como interface remota no como implementación de la clase. 2. Definimos y escribimos la implementación de la clase remota, la cual necesita: Especificar la interface remota siendo implementada Definir el constructor para el objeto remoto Proveer la implementación de los métodos que pueden ser invocados remotamente Crear e instalar un administrador de seguridad  Crear una o más instancias del objeto remoto

3. Generamos un servidor y un cliente. En el servidor creamos y registramos los objetos remotos para que sus métodos puedan ser invocados remotamente. En el cliente obtenemos las referencias a los objetos remotos que creamos previamente en el servidor. Para lograrlo debemos generar el Stub y skeleton con una instrucción muy simple que usa únicamente la implementación de las clases. Esto es corriendo el compilador rmic con los nombres de la implementación de las clases. Finalmente iniciamos el registro de RMI rmiregistry {#puerto} posteriormente se corre el programa que funcionará como servidor .

SEGURIDAD La primera acción de un programa RMI es instalar el administrador de seguridad, con lo cual asegura que las clases cargadas cumplan con la características de seguridad en java. Una aplicación puede definir sus propias políticas de seguridad en vez de utilizar el administrador de RMI.

CONCLUSIONES RMI es un sistema que nos permite el intercambio de objetos, el cual se realiza de manera transparente de un espacio de dirección a otro, puesto que utiliza una técnica de serialización. Nos permite el llamado de los métodos remotamente, sin tener la necesidad de tener los métodos localmente, con lo que podemos extraer datos a través de la red de una forma rápida y segura. La facilidad de usar y programar, ya que es un sistema 100% java.

GRACIAS