Sistemas Operativos Centralizados y Distribuidos Carlos David Zepeda.

Slides:



Advertisements
Presentaciones similares
APLICACIONES DISTRIBUIDAS
Advertisements

Internet y tecnologías web
CJ02 – Técnicas avanzadas en java 1.4 y 5.0
Observador (observer) Visita (Visitor) Singleton
CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho.
Aplicación informática. formando parte de una red. pone sus recursos a disposición de las demás computadoras(clientes) de la red. Maneja información.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
BASES DE DATOS CLIENTE SERVIDOR Y DISTRIBUIDAS
Profra. Hilda castillo zacatelco. Alumno: Francisco Sosa herrera
Práctica II: Java RMI.
Common Object Request Broker Architecture
INTRODUCCIÓN A JAVA.
Lenguajes Servicios Web
Servicios Web.
SOCKETS INTRODUCCIÓN DEFINICIÓN TIPOS DE SOCKETS USO DE SOCKETS.
Introducción a Programación Concurrente
Ingeniería en Automática Industrial Software para Aplicaciones Industriales I Ingeniería en Automática Industrial Software para Aplicaciones Industriales.
"java del lado del servidor" Servlet y JSP Java Server Pages.
Desarrollando y consumiendo Web Services con Visual FoxPro
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
Almacenamiento virtual de sitios web: «Hosts» virtuales Gustavo Antequera Rodríguez.
Servidores de nombres de dominio (DNS)
CGI.   Cuando el World Wide Web inició su funcionamiento como lo conocemos, empezando a tomar popularidad aproximadamente en 1993, solo se podía apreciar.
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.
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.
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.
Ejemplo CORBA: Java IDL
Invocación de Métodos Remotos RMI: Remote Method Invocation
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.
Introducción a la Programación. Lenguaje de Máquina.
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.
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.
ASP.NET es una nueva y potente tecnología para escribir páginas web dinámica. Es una importante evolución respecto a las antiguas páginas ASP de Microsoft.
RMI Remote Method Invocation 2da. Clase del 19 de Junio
OBJETOS DISTRIBUIDOS E INVOCACIÓN REMOTA ING. MARISCAL.
Teoría de Sistemas Operativos
Introducción a los Sistemas Operativos
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?
Java Applets David Gil
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.
Servicios en Red UT5. Servicios FTP.
Manuel I. Capel Tuñón Ramón A. Carrasco González
Teoría de Sistemas Operativos Sistemas Archivos de Red
Servidores web. Integrantes: Dany Alexander Orozco. Maycol Gómez Herrera. Luisa Fernanda Moncada.
Permite a los procesos Acceso transparente Archivos Servidores remotos.
Modelo de 3 capas.
LABORATORIO DE ESTRUCTURA DE COMPUTADORES II Desarrollo de aplicación Cliente-Servidor.
INTEGRANTES : Selvin Rivas José Vásquez Francisco Pérez J’ Alberto Patal.
Almacenamiento virtual de sitios web: «Hosts» virtuales
Elementos y tipos de sistemas operativos
Invocación Dinámica en CORBA
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Planificación Curso UNIDAD 1. INTRODUCCIÓN A LOS SERVICIOS EN RED UNIDAD 2. SERVICIOS DHCP UNIDAD 3. SERVICIOS DNS UNIDAD 4. SERVICIOS DE ACCESO REMOTO.
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
Representación externa de datos y Serialización Marisol García Valls Arquitecturas Distribuidas 2º Ingeniero de Telecomunicación (Telemática) Departamento.
RMI: Invocación a método remoto, y Java RMI
GRUPO N°1 – SISTEMAS OPERATIVOS DISTRIBUIDOS LLAMADA A PROCEDIMIENTO REMOTO.
Transcripción de la presentación:

Sistemas Operativos Centralizados y Distribuidos Carlos David Zepeda

Definición. Remote Method Invocation. Exclusivo de Java *. Mecanismo/sistema que permite que un objeto ejecutándose en un JVM llame a métodos de otro objeto que esta en una JVM diferente. Para plataformas diferentes se necesitaría SOAP o CORBA. RMI proporciona el mecanismo para transferir información entre procesos de diferentes máquinas.

Estructura. Formado básicamente por 2 programas remotos:  Servidor. Crea objetos remotos. Referencia a ellos. Espera por la solicitud de los clientes.  Cliente. Obtiene referencia a los objetos remotos. Ejecuta sus métodos. Mecanismo general de comunicación:  Localización de objetos. 2 maneras: rmiregitry o paso de objetos en parámetros o valores de retorno de funciones.  Comunicación con objetos remotos. Control por parte de RMI. Transparencia para el programador del cliente.  Carga de bytecodes (código intermedio). Descarga del código del objeto y transferencia de sus datos.

Una aplicación... Pasos en los que se observa el desarrollo de una aplicación distribuida RMI: 1.Se inicia el servidor y registra sus objetos y métodos a invocarse en un servicio de nombramiento. Asocia un nombre con el objeto remoto. 2.Se inicia el cliente y localiza los objetos y/o métodos a invocar de manera remota en el directorio de nombres del servidor obteniendo la referencia al objeto. 3.El cliente invoca a los métodos remotos mediante la referencia al objeto obtenida. Espera por respuesta. Marshalling (reconocimiento) de los parámetros – Serialización. Invocación del método en el servidor. 4.Termina la ejecución del método en el servidor y se regresa el valor de retorno serializado al cliente.

Esquema de funcionamiento.

Funcionamiento a nivel sockets. 1.El servidor escucha un puerto. 2.El servidor conoce la máquina y puerto de eschucha del servidor mediante el “stub”. 3.El cliente invoca la función del stub. 4.El stub se conecta al puerto del servidor y envía los parámetros de la siguiente manera: 1.El cliente se conecta al puerto de escucha del servidor. 2.El servidor acepta conexión entrante y crea un nuevo socket para gestionar esta única solicitud (… en caso de bootstraping …). 3.El antiguo puerto de escucha permanece así en espera de más clientes. 4.Comunicación cliente-servidor mediante el nuevo socket. 5.Intercambio de parámetros del método mediante un protocolo. Puede ser JRMP, CORBA, SOAP. 5.El método es ejecutado en el servidor y devuelto el valor de retorno vía stub. 6.El stub devuelve el resultado al cliente como una llamada a método local.

Especificación de RMI (en Java). Interfaces, objetos y métodos remotos. Interfaces remotas:  Heredan de java.rmi.Remote  Lanzan excepción java.rmi.RemoteException. Objetos y métodos remotos.  Heredan de java.rmi.server.UnicastRemoteObject ó  Heredan de java.rmi.server.Activatable. Paso de parámetros en RMI.  Paso de objetos remotos.  Paso de objetos locales.  Transmisión de datos.

Diagrama de interfaces y clases de objetos.

RMI Stub y Skeleton. STUB: Es una representación local EN EL CLIENTE del objeto remoto. o El objeto que realiza una llamada remota invoca el método en el stub “local”. o Implementa exactamente el mismo conjunto de interfaces remotas que el objeto remoto. o Pasos que realiza son: 1. Inicia una conexión con la JVM remota que contiene el objeto remoto. 2. Escribe (serializa) y transmite los parámetros a la JVM remota. 3. Espera los resultados de la invocación remota. 4. Lee (deserializa) los valores de retorno o excepciones devueltas. 5. Devuelve el valor al objeto que inicio la llamada. o Hace uso del rmic.

Skeleton: Es una representación local EN EL SERVIDOR del objeto remoto. o Es responsable de enviar la llamada a la implementación del objeto remoto. o Pasos que realiza son: 1. Lee (deserializa) los parámetros del método remoto. 2. Invoca al método en la implementación del objeto remoto. 3. Escribe (serializa) y transmite el resultado. o A partir del JDK 1.2 (versión de Java 2) se ha introducido un protocolo stub adicional que elimina la necesidad del uso de los “esqueletos”.

Registro de objetos remotos. RMIRegistry: Se ejecuta en el servidor y es un objeto remoto con un puerto conocido. Relaciona el objeto remoto con un nombre. o El contacto directo se tiene con el stub proporcionado por el objeto remoto. o Almacena internamente la etiqueta y el objeto stub en un hashmap. o Devuelve el stub al cliente que solicito el objeto remoto. o En caso de no hacer uso de este ejecutable de Java se encuentran la interfaz Registry y la clase LocateRegistry (con sus métodos createRegustry y getRegistry).

Localización de objetos remotos. Se realiza utilizando la clase java.rmi.Naming. Esta clase “construye” un objeto stub y lo asocia al objeto remoto del registro. Maneja principalmente dos parámetros para la mayoria de sus métodos primordiales:  cadena que nombra al objeto (URL): //host:puerto/nombre.  Stub del objeto remoto. Hace uso de los siguientes métodos:  bind y rebind.  lookup.  unbind.  list.

Creación de una aplicación distribuida. 1. Diseño e implementación de las componentes (interfaz, servidor, cliente). 2.Compilar las fuentes y generar los stubs. 3.Hacer accesibles las clases a la red. 4.Iniciar la aplicación (registro y cliente - servidor).

Metas del sistema RMI de Java. Proporcionar invocación remota de objetos que se encuentran en JVM’s diferentes. Integrar el modelo de objetos distribuidos en Java de forma natural. Intentar simplificar al máximo la escritura de aplicaciones distribuidas. Preservar la seguridad proporcionada por Java. Proporcionar varias semánticas para las referencias de los objetos remotos (persistentes, no persistentes y de "activación retardada" ).

Bibliografía. Díaz Pérez, Arturo; “ Remote Method Invocation”. CINVESTAV – IPN. arcos.inf.uc3m.es/~dad/import/ /Tema2_2aParte.pdf. s/Tema%204%20-%20Java%20RMI.pdf