A. Goñi, J. Ibáñez, J. Iturrioz, J.A. Vadillo OCW 2013

Tamaño: px
Comenzar la demostración a partir de la página:

Download "A. Goñi, J. Ibáñez, J. Iturrioz, J.A. Vadillo OCW 2013"

Transcripción

1 4.3: Computación distribuida: Java RMI A. Goñi, J. Ibáñez, J. Iturrioz, J.A. Vadillo OCW 2013

2 Indice RMI: Introducción Construcción de aplicaciones RMI Dfii Definir Interfaz remota Implementar interfaz remota: Clase remota Registrar objeto clase remota Localizar y ejecutar objeto remoto Arquitectura RMI Ejemplo Conexión entre nivel de presentación, lógica del negocio y nivel de datos Evolución del sistema 105

3 Introducción a RMI RMI (Remote Method Invocation) Es un API, Conjunto de interfaces, clases y métodos que permiten desarrollar en Java aplicaciones distribuidas de manera sencilla Equivalente a RPC (Remote Procedure Call) Existen otros estándares como CORBA Permite desarrollar aplicaciones distribuidas usando distintos Lenguajes de Programación 106

4 Introducción a RMI Clase Cliente1... Clase ClienteN... EN NODOS CLIENTE Clase GestorBilletes - listabilletes: Vector - maxbilletes: int + getgestor(): GestorBilletes + getbillete(nom: String): int // Dev. nº billete asignado o -1 si no hay -- Clase con 1 sola instancia (Singleton) -- El método static getgestor() la devuelve EN NODO SERVIDOR En una arquitectura distribuida no se puede hacer lo siguiente: GestorBilletes g = GestorBilletes.getGestor(); return g.getbillete("kepa t Sola"); Ya que GestorBilletes es un objeto de la máquina virtual remota 107

5 Construcción aplicaciones RMI Para construir una aplicación Cliente/Servidor donde un cliente acceda a un servicio remoto (clase remota) usando RMI hay que: 1.- Definir la interfaz remota 2.- Implementar la interfaz remota (clase remota) 3.- Registrar un objeto de la clase remota 4.- Localizar y ejecutar el objeto remoto 108

6 1. Definir la interfaz remota Cliente1... Cliente2... Interfaz GestorBilletes + getbillete(nom: String): int // Dev. nº billete asignado o -1 si no hay -- INTERFAZ REMOTA RMI permite invocar a un objeto remoto Para ello hay que definir una interfaz remota Así, un cliente puede hacer lo siguiente: GestorBilletes g; // Código para obtener la dirección del // objeto remoto y dejarlo en g return g.getbillete( Kepa Sola ); 109

7 1. Definir la interfaz remota // GestorBilletes.java import java.rmi.*; public interface GestorBilletes extends Remote { public int getbillete(string g nom) throws RemoteException; } Interfaz java.rmi.remote -- INTERFAZ REMOTA Interfaz GestorBilletes + getbillete(nom: String): int -- INTERFAZ REMOTA La interfaz extiende java.rmi.remote Todos los métodos deben lanzar java.rmi.remoteexception 110

8 2. Implementar la Interfaz Remota La clase Remota Clase java.rmi.server.unicastremoteobject Interfaz java.rmi.remote -- CLASE REMOTA extiende -- INTERFAZ REMOTA extiende Clase ServidorGestorBilletes + getbillete(nom: String): int -- CLASE REMOTA implementa Interfaz GestorBilletes + getbillete(nom: String): int -- INTERFAZ REMOTA El servidor implementa la interfaz remota Extiende java.rmi.server.unicastremoteobject 111

9 2. Implementar la Interfaz Remota La clase Remota // ServidorGestorBilletes.java a import java.rmi.*; import java.rmi.server.unicastremoteobject; import java.util.*; public class ServidorGestorBilletes extends UnicastRemoteObject implements GestorBilletes{ private Vector listabilletes = new Vector(); private static int maxbills = 50; public ServidorGestorBilletes() throws RemoteException{} public int getbillete(string nom) throws RemoteException{ //lógica de negocio num=9999; // Devuelve siempre el billete return num; } 112

10 3. Registrar un objeto de la clase remota Se crea un registro en el servidor (en ( el main () la misma clase que el objeto u otra distinta) java.rmi.registry.locateregistry.createregistry(numpuerto); registry createregistry(numpuerto); main() de Se crea un objeto de la clase remota ServidorGestorBilletes objetoservidor = new ServidorGestorBilletes(); Se crea un nombre para ese servicio String servicio = "rmi://localhost:1099//gestorbilletes"; // si 1099 es numpuerto Se registra ese servicio con ese nombre Naming.rebind(servicio,objetoServidor) 113

11 3. Registrar un objeto de la clase remota Ejemplo class ServidorRemoto public static void main(string[] args) { //Falta el java.policy try { java.rmi.registry.locateregistry.createregistry(1099); registry createregistry(1099); } catch (Exception e) {System.out.println( Rmiregistry ya lanzado +e.tostring());} } try { ServidorGestorBilletes objetoservidor = new ServidorGestorBilletes(); 3 String servicio = "//localhost/gestorbilletes"; // "//localhost:numpuerto/nombreservicio" // Registrar el servicio remoto 4 Naming.rebind(servicio,objetoServidor); } catch (Exception e) {System.out.println("Error al lanzar el servidor");}

12 3. Registrar un objeto de la clase remota El registrador: r RMIRegistry java.rmi.registry.locateregistry.createregistry(p) Crea el proceso rmiregistry en el puerto p. El rmiregistry lanzado no acaba aunque acabe el servidor RMI Lanza una excepción si el puerto está ocupado try { java.rmi.registry.locateregistry.createregistry(1099); } catch (Exception e) {System.out.println( println( Rmiregistry ya lanzado +e.tostring());} Código que lanza el rmiregistry y controla la excepción que se puede levantar al reejecutar varias veces el servidor RMI Parar el rmiregistry:unicastremoteobject.unexportobject(registry, true); 115

13 4. Localizar y ejecutar el objeto remoto Clase java.rmi.server.unicastremoteobject Interfaz java.rmi.remote -- CLASE REMOTA -- INTERFAZ REMOTA extiende Clase ServidorGestorBilletes + getbillete(nom: String): int -- CLASE REMOTA implementa extiende Interfaz GestorBilletes + getbillete(nom: String): int -- INTERFAZ REMOTA El cliente busca el objeto remoto, a partir del nombre lógico Pide al servidor que ejecute los métodos que desee usa Clase Cliente ges : GestorBilletes -- CLASE CLIENTE 116

14 4. Localizar y ejecutar el objeto remoto import java.rmi.*; public class Cliente { public static void main(string[] args) { // Falta gestion java.policy 1 GestorBilletes objremoto; String nomserv = "rmi://localhost/gestorbilletes"; // "rmi://direccionip:numpuerto/nombreservicio" try { 2 objremoto = (GestorBilletes)Naming.lookup(nomServ); int b = objremoto.getbillete(args[0]); 3 if (b==-1) System.out.println("No hay billetes"); else System.out.println("Obtenido : "+b); } catch (Exception e) { System.out.println("Error... t tl ");}} }} 117

15 Arquitectura RMI objremoto.getbillete("koldo") RETURN: 5 Máquina virtual java CLIENTE Máquina virtual java SERVIDOR objservidor.getbillete("koldo") t ld Se desea conseguir que lo que se le pida al sea ejecutado por el en otra máquina virtual Java 118

16 Arquitectura RMI Cliente Maquina virtual java Cliente RED Maquina virtual java Servidor Objeto Stub ServidorGestorBilletes (impl. Skeleton ServidorGestorBilletes (impl. GestorBilletes) Stub ServidorGestorBilletes: Representante del objeto ServidorGestorBilletes en el cliente Skeleton ServidorGestorBilletes: Representante del objeto ServidorGestorBilletes en el servidor NOTA: Los objetos Stub, Skeleton y el objeto remoto comparten la misma interfaz POR LO TANTO: hay yq que asegurarse de que las clases STUB y la INTERFAZ REMOTA están accesibles en el cliente (copiándolas en el mismo, por ejemplo) 119

17 Arquitectura RMI: Objetos Stub y Skeleton Programa Cliente Programa Servidor call return call return Stub Skeleton Nivel de Referencia Remota Nivel de Transporte Nivel Nve de Referencia Remota Nivel de Transporte Conexión TCP/IP Los objetos Stub y Skeleton eto se encargan de realizar a la conexión y del paso de parámetros y resultados 120

18 Arquitectura RMI: Objetos Stub y Skeleton En principio, i i los stubsy tb los skeleton klt se pasan los objetos enviados como parámetros y los resultados REALIZANDO UNA COPIA DE SUS VALORES (y de los objetos incluidos en ellos, recursivamente). No se pasan referencias a un objeto remoto. Para ello, se usan los mecanismos de serialización de Java POR LO TANTO: las clases de los objetos que se pasen por parámetro en métodos remotos deben implementar la interfaz Serializable 121

19 Arquitectura RMI: Generación de stubs y skeletons El STUB y SKELETON están asociados a la interfaz remota y a la clase remota GestorBilletes.java GestorBilletes.class Stub ServidorGestorBilletes.java ServidorGestorBilletes.class Skeleton Cuando se compilan se añaden el Stub y el Skeleton a las clases correspondientes(jdk6.0) Nota: se generaban explícitamente como clases independientes usando la herramienta RMIC EL STUB: GestorBilletes.class tiene que quedar disponible para la máquina cliente.

20 Arquitectura RMI Relación entre Stub y Skeleton rmiregistry rebind (Servidor) java.rmi.registry.locateregistry.createregistry(p) GestorBilletes objetoservidor =new ServidorGestorBilletes(); String nombreservicio = //localhost/gestorbilletes ; // //localhost:numeropuerto/nombreservicio ; // Registrar servicio i remoto Naming.rebind(nombreServicio,objetoServidor); GestorBilletes.class (STUB) Instancia Lógica de Negocio ServidorGestorBilletes Skeleton Clase Clase de acceso a la Logica Remota Stub

21 Arquitectura RMI Relación entre Stub y Skeleton rmiregistry lookup (Cliente) GestorBilletes t objetoremoto t = (GestorBilletes)Naming.lookup( rmi://ip_servidor/gestorbilletes ); en puerto 1099, por defecto El método lookup, devuelve del registro una instancia de acceso a la lógica remota(stub). Esta instancia será la responsable de comunicarse (a través del Skeleton) con el objeto servidor. puerto 1099 Maquina virtual Java ubicada en IP_Servidor RMIREGISTRY GestorBilletes Naming.rebind( //localhost/gestorbilletes,objetoservidor); / en puerto 1099, por defecto 124

22 Arquitectura RMI Gestor de seguridad d Un programa Java debe especificar un gestor de seguridad que determine su política de seguridad. Algunas operaciones requieren que exista dicho gestor. En concreto, las de RMI. RMI sólo cargará una clase Serializable desde otra máquina si hay un gestor de seguridad que lo permita Se puede establecer un gestor de seguridad por defecto para RMI de la siguiente manera: System.setSecurityManager( new RMISecurityManager()); 125

23 Arquitectura RMI Gestor de seguridad El gestor de seguridad por defecto de RMI utiliza una política muy restrictiva. Sólo se pueden ejecutar STUBs del CLASSPATH local Se puede cambiar, indicando otro fichero de política de seguridad: System.setProperty(" ("java.security.policy", c:\\mipath\\java.policy"); Contenido del fichero java.policy java.policy: grant { permission java.security.allpermission; a.secu e ss }; 126

24 Arquitectura RMI Gestor de seguridad d También se puede indicar para cada ejecución cuál es la política de seguridad (esto es, usar la opción -Djava.security.policy = fichero_políticaseguridad) O bien, el fichero java.policy, hay dejarlo en un directorio concreto, conocido por la máquina virtual. De esa manera, todas las aplicaciones lanzadas con esa máquina virtual usarán dicha política de seguridad Si la máquina virtual que se ejecuta es esta: DIRECTORIO_JDK_O_JRE\bin\java.exe El fichero java.policy hay que dejarlo en DIRECTORIO_JDK_O_JRE\lib\security 127

25 import java.rmi.*; import java.sql.*; Ejemplo: Servidor Remoto accede a BD import java.rmi.server.unicastremoteobject; i t t import java.util.*; public class ServidorGestorBilletesBD extends UnicastRemoteObject implements GestorBilletes { private static Connection conexion; private static Statement sentencia; public ServidorGestorBilletesBD() throws RemoteException{ try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); sun.jdbc.odbc.jdbcodbcdriver conexion=drivermanager.getconnection("jdbc:odbc:bill"); sentencia=conexion.createstatement(); conexion.setautocommit(false);// Habrá que hacer COMMITs } catch(exception e) { System.out.println( Error: "+e.tostring());} } public int getbillete(string nom) throws RemoteException {.. 128

26 Ejemplo: Servidor Remoto accede a BD // Método main de ServidorGestorBilletesBD.java public static void main(string[] args) { System.setProperty("java.security.policy,"F:\\iso\\java.policy"); System.setSecurityManager(new RMISecurityManager()); try { java.rmi.registry.locateregistry.createregistry(1099); } catch (Exception e) {System.out.println( Rmiregistry ya lanzado +e.tostring());} try { ServidorGestorBilletesBD objetoservidor = new ServidorGestorBilletesBD(); String maquina = "//localhost/"; // o bien el nombre IP: //sisd00.si.ehu.es/ String servicio = "gestorbilletes"; String servicioremoto i = maquina+servicio; i i // Registrar el servicio remoto Naming.rebind(servicioRemoto,objetoServidor); }catch (Exception e) {System.out.println("Error: "+e.tostring());} }} 129

27 Conexión entre nivel de presentación, lógica del negocio y datos Hst Hasta ahora hr hemos hms considerado nsidrd que en el lni nivel ld de presentación, el objeto con la lógica del negocio se encuentra en un atributo (de tipo interface Java) Utilizando RMI se puede seguir con esa misma idea, pero en este caso la interfaz es remota En vez de asignarle al objeto de presentación, el objeto con la lógica del negocio se puede hacer que sea el objeto de presentación quien lo busque (usando lookup). Cambiar la lógica del negocio consiste en sustituir un objeto por otro en el servidor. 130

28 RMIREGISTRY y ServidorGestorBilletesBD en la misma máquina (IPServidor), pero cada uno en DISTINTAS MÁQUINAS VIRTUALES JAVA RmiRegistry está escuchando en un puerto (1099) objremoto:servidorgestorbillet esbd mainservidorgestorbilletesbd new Mirar métodos de LocateRegistry.createRegistry Naming exportobject(puertoanonimo) (1) Rmiregistry i rebind("localhost:1099/gestorbilletes",objremoto) getref() : PedirBillete Naming lookup("rmi://ipservidor:1099/gestorbilletes") stub getbillete("pepe") numbilleteparapepe SOCKET("IPservidor",1099,"gestorBilletes") (5) (6) PresentacionRemoto en otra máquina A. Goñi. Dpto. LSI, UPV/EHU SOCKET(stub) stub: ServidorGestorBilletesBD _Stub referenciaaobjremoto (2) (3) SOCKET("localhost",1099, gestorbilletes,stub) new(referenciaaobjremoto) stub: ServidorGestorBilletesBD _Stub (4) () Se pasa el objeto STUB serializado, El cliente cargará dinámicamente la clase ServidorGestorBilletesBD_Stub SOCKET("IPServidor", PuertoAnonimo,"gestorBilletes","getBillete","Pepe") SOCKET(numBilleteParaPepe) (7) (1) Se debe lanzar el RMIREGISTRY PARA QUE FUNCIONE RMI (2) Se debe haber generado el STUB (con RMIC, para versiones anteriores a JDK 6) (3) La clase STUB debe estar accesible en el CLASSPATH del SERVIDOR (4) Se debe permitir el USO DE SOCKETS (POLÍTICA DE SEGURIDAD) (5) La clase STUB debe estar accesible en el CLASSPATH del CLIENTE, o bien, se debe lanzar indicando de dónde descargarlo (CODEBASE) 131 (6) Se debe permitir la DESCARGA DINÁMICA DE CLASES (POLÍTICA DE SEGURIDAD) (7) Los parámetros y resultados de los métodos remotos deben ser de clases SERIALIZABLES

29 ARQUITECTURA FÍSICA EN 2 NIVELES: Interface LogicaNegocio CLIENTE GORDO / SERVIDOR FLACO hacerx( ) hacery( ) Clase Presentacion usa logne: LogicaNegocio setlogicanegocio (l: LogicaNegocio) // Permite cambiar lógica // negocio en tº ejecuc. clase LogicaNegocioConcreta // i tº j hacerx( ) // Implementaciones hacery( ) // llaman al nivel de // datos (usan JDBC) -- En esta clase se llama -- a la lógica del negocio: Por ej.: logne.hacerx( ) CREAR LA INTERFAZ GRÁFICA Y ASIGNAR LÓGICA DEL NEGOCIO: Presentacion p = new Presentacion(); p.setlogicanegocio(new LogicaNegocioConcreta()); p.setvisible(true); 132

30 ARQUITECTURA FÍSICA EN 3 NIVELES usando RMI Interface LogicaNegocio Clase Presentacion logne: LogicaNegocio usa hacerx( ) hacery( ) interfaz Remota setlogicanegocio (String nomserv) // Por ejemplo aquí se // puede asignar a logne clase LogicaNegocioConcreta // d i l N hacerx( ) // Implementaciones hacery( ) // llaman al nivel de // datos (usan JDBC) -- En esta clase se llama -- a la lógica del negocio: Por ej.: logne.hacerx( ) -- Para asignar la lógica -- del negocio se usa Naming.lookup y NomServ -- La lógica del negocio se crea -- y se exporta usando: Naming.rebind y dando un nombre de servicio: NomServ 133

Java 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 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 detalles

Ingeniería del Software Arquitectura Física en 3 niveles

Ingenierí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 detalles

JAVA RMI (REMOTE METHOD INVOCATION)

JAVA 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 detalles

Modelo de Objetos Distribuidos

Modelo 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 detalles

1. Visión general de RMI

1. 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 detalles

Llamada a métodos remotos (RMI). Curso 04/05. Tema 9. Departament d Informàtica. Universitat de València. 1. Introducción 2

Llamada 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 detalles

Java RMI. Sistemas Distribuidos Rodrigo Santamaría

Java 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 detalles

DISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA

DISEÑ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 detalles

JAVA - Serializacíon / RMI. (C) Philippe Roose - 2004, 2005

JAVA - 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 detalles

en otra máquina exactamente de la misma manera que si se encontrará en la misma máquina

en 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 detalles

Práctica 2: Java Remote Method Invocation (RMI)

Prá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 detalles

5.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 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 detalles

Sistemas 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 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 detalles

Arquitectura Cliente/Servidor. Invocación de Métodos Remotos RMI: Remote Method Invocation. Llamadas a Métodos Remotos

Arquitectura 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 detalles

PROGRAMACION DISTRIBUIDA MobileTracker: Ejemplo de implementación con RMI

PROGRAMACION 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 detalles

RMI [Remote Method Invocation]

RMI [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 detalles

Java RMI. las RPC de Java. Parte I. Luis Fernando Llana Díaz. Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid

Java 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 detalles

CAPITULO 3 ARQUITECTURA DE COMPONENTES GIS EN INTERNET

CAPITULO 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 detalles

Interacción entre Aplicaciones: objetos distribuidos e invocación remota

Interacció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 detalles

CONTENIDO. Serialización. Carga dinamica de stubs RMI AVANZADO. Callbacks. Carga dinámica de Stubs

CONTENIDO. 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 detalles

Tema 3. Objetos distribuidos

Tema 3. Objetos distribuidos Tema 3. Objetos distribuidos SCS Sistemas Cliente/Servidor 4 o informática http://ccia.ei.uvigo.es/docencia/scs octubre 2008 FJRP, FMBR 2008/09 ccia SCS 3.1 Modelo de objetos distribuidos Objetivo: Extender

Más detalles

Remote Method Invocation (RMI) Basado en: Fundamentals of RMI. Short Course. JGuru.

Remote 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 detalles

Remote Method Invocation (RMI)

Remote 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 detalles

PROGRAMACION DISTRIBUIDA

PROGRAMACION 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 detalles

FSD Práctica Invocación Remota: JavaRMI. Estudio Previo. Información

FSD 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 detalles

Sistemas Distribuidos (Capítulo 8 de Distributed Computing de M. L. Liu)

Sistemas Distribuidos (Capítulo 8 de Distributed Computing de M. L. Liu) Devoluciones de llamada en RMI (Callbacks) Sistemas Distribuidos (Capítulo 8 de Distributed Computing de M. L. Liu) Devolución de llamadas, introducción Cliente-servidor clásico servidorpasivo Tipo pull.

Más detalles

Práctica 4: Java Remote Method Invocation (RMI)

Prá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 detalles

RMI Remote Method Invocation

RMI Remote Method Invocation 2 RMI Remote Method Invocation Dr. Víctor J. Sosa Sosa Introducción La invocación remota de métodos de Java es un modelo de objetos distribuidos, diseñado específicamente para ese lenguaje, por lo que

Más detalles

El sueño de todo sistema distribuido

El sueño de todo sistema distribuido Cómputo Distribuido Mediante RMI (Remote Method Invocation) ) Modelo de objetos Modelo de objetos en sistemas distribuidos El sueño de todo sistema distribuido Máquina A Máquina B Máquina C Lo ideal sería

Más detalles

Una introducción a Java RMI

Una introducción a Java RMI Una introducción a Java RMI César Llamas Bello Estas transparencias no hubieran sido posible sin el tutorial de José M. Vidal Swearingen Engineering Center, University of South Carolina, Columbia Introducción

Más detalles

TEMA 7: Paso de Mensajes con RMI

TEMA 7: Paso de Mensajes con RMI CONTENIDO: TEMA 7: Paso de Mensajes con RMI Conceptos de Programación Distribuida Remote Method Invocation (RMI) en Java El Nivel de Resguardos La Responsable de que Todo Funcione: la interfaz El precompilador

Más detalles

Introducción Descripción del servicio

Introducción Descripción del servicio 507953 1 Contenido Contenido Cambios Introducción Descripción del servicio Introducción Arquitectura Paso a paso Capa de negocio Adapter Interface Service Proxy Fichero de propiedades Despliegue del servicio

Más detalles

SISTEMAS DISTRIBUIDOS

SISTEMAS 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 detalles

Remote Method Invocation (RMI) de Java

Remote 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

PROGRAMACION DISTRIBUIDA

PROGRAMACION 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 detalles

TutorJava recomienda...

TutorJava recomienda... TutorJava recomienda... Invocación Remota de Métodos (RMI) Autor-Traductor: Juan Antonio Palos (Ozito) Puedes encontrar la Version Original en Ingles en ( http://java.sun.com) Leer comentarios (0) Escribir

Más detalles

Sistemas de Información

Sistemas de Información Sistemas de Información Tecnologías de objetos distribuidos: RMI Agradecimientos: Marisol García Valls, Jesús Villamor Lugo, Simon Pickin de IT/UCIIIM mcfp@it.uc3m.es RMI (Remote Method Invocation) Concepto

Más detalles

VII.1: RMI: Remote Method Invocation

VII.1: RMI: Remote Method Invocation PROGRAMACION CONCURRENTE Y DISTRIBUIDA VII.1: RMI: Remote Method Invocation Posibilidades que ofrece Java para la comunicación en red: Socket,RMI y URL. 1 Sistemas distribuidos basados en middleware Client

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

Invocación de Métodos Remotos: prácticas de laboratorio

Invocación de Métodos Remotos: prácticas de laboratorio Invocación de Métodos Remotos: prácticas de laboratorio Coromoto León Hernández, Gara Miranda Valladares Dpto. de Estadística, Investigación Operativa y Computación Universidad de La Laguna c/astrofísico

Más detalles

Práctica 5: Common Object Request Broker Architecture CORBA

Práctica 5: Common Object Request Broker Architecture CORBA Práctica 5: Common Object Request Broker Architecture CORBA Aplicaciones Telemáticas II Introducción El objetivo de esta práctica es entender mejor el funcionamiento de CORBA (Common Object Request Broker

Más detalles

Tema 4: INVOCACIÓN REMOTA

Tema 4: INVOCACIÓN REMOTA Tema 4: INVOCACIÓN REMOTA E. U. Informática en Segovia Departamento de Informática Universidad de Valladolid SD_TE04_20050509 EUI-SG/INFOR.UVA.ES 1 4.1 Introducción Invocación remota: integra programas

Más detalles

'HVDUUROORGH$SOLFDFLRQHV FRQ-DYD50,

'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 detalles

FRAMEWORK 2 Recepción de SMS

FRAMEWORK 2 Recepción de SMS FRAMEWORK 2 Versión 1.1 Área de Integración y Arquitectura de Aplicaciones Hoja de Control Título Documento de Referencia Responsable FW2_MUS_Recepcion_SMS Área de Integración y Arquitectura de Aplicaciones

Más detalles

Capa de Gestión de Datos. Persistencia Bases de Datos - JDBC

Capa de Gestión de Datos. Persistencia Bases de Datos - JDBC Capa de Gestión de Datos Persistencia Bases de Datos - JDBC Persistencia - Ficheros Persistencia - Serialización 1 Persistencia Las instancias y objetos de las clases sólo existen mientras se ejecuta el

Más detalles

Práctica sobre compartición de instancias remotas.

Práctica sobre compartición de instancias remotas. Práctica sobre compartición de instancias remotas. Para esta práctica se ha construido un pequeño sistema cliente-servidor que permite la resolución de Sudokus entre varios jugadores. El servidor consta

Más detalles

CORBA desde Java. Diego Sevilla Ruiz Sistemas Distribuidos. 1. Introducción

CORBA desde Java. Diego Sevilla Ruiz Sistemas Distribuidos. 1. Introducción CORBA desde Java Diego Sevilla Ruiz Sistemas Distribuidos Índice 1. Introducción 1 2. Primeros pasos 1 2.1. Fichero IDL................................... 1 2.2. Cliente......................................

Más detalles

Universidad Politécnica de Valencia

Universidad Politécnica de Valencia Universidad Politécnica de Valencia Facultad de Informática Proyecto Final de Carrera Acceso a datos multimedia utilizando los métodos de invocación remota (RMI) de Java Director proyecto: D. Pietro Manzoni.

Más detalles

INTRODUCCION A LA PROGRAMACION EN JAVA

INTRODUCCION A LA PROGRAMACION EN JAVA Departament d Arquitectura de Computadors INTRODUCCION A LA PROGRAMACION EN JAVA Índice Paso de parámetros en tiempo de ejecución Métodos static Atributos static Try-catch-finally Throws/throw 2 Paso de

Más detalles

Características generales del lenguaje Java. María a Consuelo Franky

Características generales del lenguaje Java. María a Consuelo Franky Características generales del lenguaje Java María a Consuelo Franky 1 Temario ❶ Historia del desarrollo de Java ❷ Ventajas sobre otros lenguajes O.O. ❸ applets vs. aplicaciones ❹ Vistazo global a las características

Más detalles

INGENIERÍA DEL SOFTWARE. 4º ING. INFORMÁTICA (UPV/EHU) 29 de MAYO de 2002

INGENIERÍA DEL SOFTWARE. 4º ING. INFORMÁTICA (UPV/EHU) 29 de MAYO de 2002 INGENIERÍA DEL SOFTWARE. 4º ING. INFORMÁTICA (UPV/EHU) 29 de MAYO de 2002 NOMBRE: GRUPO: 1.- (0,5 ptos.) (Tiempo estimado: 10 ) Enuncia cuáles son las interfaces que se tienen que definir para desarrollar

Más detalles

Componentes Distribuidos EJBs. Ing. Cesar Julio Bustacara Medina

Componentes Distribuidos EJBs. Ing. Cesar Julio Bustacara Medina Componentes Distribuidos EJBs Ing. Cesar Julio Bustacara Medina Introducción La Clase del Bean Contiene la lógica del Enterprise Bean. Es una clase Java pública, que implementa los métodos de negocios

Más detalles

Base de Datos JDBC. Unidad: 1 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos

Base de Datos JDBC. Unidad: 1 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos Base de Datos JDBC Unidad: 1 Laboratorio de Programación Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos Indice Repaso clase anterior Sentencias preparadas PreparedStatement

Más detalles

1. Sistemas de colas de mensajes 2. Agentes móviles 3. Servicios de red 4. Espacios de objetos

1. Sistemas de colas de mensajes 2. Agentes móviles 3. Servicios de red 4. Espacios de objetos Tema 9. Paradigmas Avanzados de computación distribuida 1. Sistemas de colas de mensajes 2. Agentes móviles 3. Servicios de red 4. Espacios de objetos Tema 9 Paradigmas Avanzados de Computación Distribuida

Más detalles

SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS Sesión 6: Java RMI. Primeros pasos SISTEMAS DISTRIBUIDOS GRADO EN INGENIERÍA INFORMÁTICA UNED Índice Proyecto básico. Chat abierto. Servicios que ofrece el servidor: Escribir mensaje: escribir(mensaje)

Más detalles

Solución Examen Junio 2007 (a) Ejercicio GeoTaxi (1h 20 min.) Diagrama de Casos de Uso y. Casos de uso (2,5 puntos) Modelo de Dominio (1,5 puntos)

Solución Examen Junio 2007 (a) Ejercicio GeoTaxi (1h 20 min.) Diagrama de Casos de Uso y. Casos de uso (2,5 puntos) Modelo de Dominio (1,5 puntos) Solución Examen Junio 2007 (a) Ejercicio GeoTaxi (1h 20 min.) Diagrama de Casos de Uso y Casos de uso (2,5 puntos) Modelo de Dominio (1,5 puntos) 1 Actores OPERADOR CLIENTE TAXISTA 2 Actor Cliente Identificarse

Más detalles

Primera Escuela de la Red Temática SVO. Madrid, 27-28 Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta.

Primera Escuela de la Red Temática SVO. Madrid, 27-28 Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta. Primera Escuela de la Red Temática SVO. Madrid, 27-28 Noviembre, 2006 JAVA BÁSICO LAEFF - INTA raul@laeff.inta.es Qué es Java? Java es un lenguaje de programación orientado a objetos desarrollado por Sun

Más detalles

Introducción a Java LSUB. 30 de enero de 2013 GSYC

Introducció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 detalles

- Compilar y ejecutar programas en Java - Estructura básica de una clase - El comando javac - El comando java - Introducción al IDE de desarrollo

- Compilar y ejecutar programas en Java - Estructura básica de una clase - El comando javac - El comando java - Introducción al IDE de desarrollo - Introdución a Java - Breve historia de Java - Características del lenguaje Java - Estructura del JDK 1.6 - Documentación del API (JavaDoc) - Instalar y configurar el ambiente de desarrollo - La variable

Más detalles

Java en 2 horas. Rodrigo Santamaría

Java en 2 horas. Rodrigo Santamaría + Java en 2 horas Rodrigo Santamaría + Generalidades 2 Desarrollado por Sun en 1995 Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas a bytecode Gestión

Más detalles

1. Cuántas sentencias hay en la secuencia principal del siguiente programa?

1. Cuántas sentencias hay en la secuencia principal del siguiente programa? 1. Cuántas sentencias hay en la secuencia principal del siguiente programa? public class PruebaSwitch { System.out.print ("Opcion: "); case 3: System.out.println ("miércoles "); A. 1. B. 4. C. Más de 10.

Más detalles

JAVA 7 Los fundamentos del lenguaje Java

JAVA 7 Los fundamentos del lenguaje Java Presentación 1. Historia 9 1.1 Por qué Java? 9 1.2 Objetivos del diseño de Java 10 1.3 Auge de Java 11 2. Características de Java 12 2.1 El lenguaje de programación Java 12 2.1.1 Sencillo 13 2.1.2 Orientado

Más detalles

Arquitectura Centrada en la Web para el Control y Monitoreo de Funcionalidad Domótica

Arquitectura Centrada en la Web para el Control y Monitoreo de Funcionalidad Domótica Arquitectura Centrada en la Web para el Control y Monitoreo de Funcionalidad Domótica E. Echeverría; T. Ballari; H. Molina; E. Wainerman; L. Olsina GIDIS - Dpto. de Computación, Facultad de Ingeniería,

Más detalles

LABORATORIO ARQUITECTURAS SOFTWARE DE VARIOS NIVELES EN JAVA (I)

LABORATORIO ARQUITECTURAS SOFTWARE DE VARIOS NIVELES EN JAVA (I) LABORATORIO ARQUITECTURAS SOFTWARE DE VARIOS NIVELES EN JAVA (I) SEPARACIÓN DEL NIVEL DE PRESENTACIÓN Y LÓGICA DE NEGOCIO MEDIANTE EL USO DE INTERFACES JAVA 1. OBJETIVO Los objetivos de este laboratorio

Más detalles

LABORATORIO ARQUITECTURAS SOFTWARE DE VARIOS NIVELES EN JAVA (I)

LABORATORIO ARQUITECTURAS SOFTWARE DE VARIOS NIVELES EN JAVA (I) LABORATORIO ARQUITECTURAS SOFTWARE DE VARIOS NIVELES EN JAVA (I) SEPARACIÓN DEL NIVEL DE PRESENTACIÓN Y LÓGICA DE NEGOCIO MEDIANTE EL USO DE INTERFACES JAVA 1. OBJETIVO Los objetivos de este laboratorio

Más detalles

Conceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos

Conceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad

Más detalles

Reutilización de software

Reutilización de software Reutilización de software A nivel de clase: Clases y algoritmos JGL A nivel de diseño Patrones de diseño A nivel de arquitectura Arquitectura J2EE 1 Aplicaciones Web Servidor Introducción a la arquitectura

Más detalles

TEMA 4: PROGRAMACIÓN DISTRIBUIDA

TEMA 4: PROGRAMACIÓN DISTRIBUIDA TEMA 4: PROGRAMACIÓN DISTRIBUIDA!" #!$ %! % & '( '')* (+,( -./0%1' 2%1/../ -3% 450 -(.40( %16 2%1/../ -3% /.0-2%..02%% 7-89:08 1! "!;1 %1499: No existe memoria común Comunicaciones No existe un

Más detalles

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) APRENDERAPROGRAMAR.COM GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I

Más detalles

Sockets en Java. Prof. Wílmer Pereira Universidad Simón Bolívar

Sockets en Java. Prof. Wílmer Pereira Universidad Simón Bolívar Sockets en Java Prof. Wílmer Pereira Universidad Simón Bolívar Arquitectura Cliente/Servidor Cliente Request Reply Servidor Cómo permitir comunicación entre objetos situados en diferentes máquinas? Sockets

Más detalles

class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida }

class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida } REUTILIZACIÓN DE CLASES:MODELO DE HERENCIA EN JAVA Java soporta herencia simple pero no múltiple. Lo hace mediante el mecanismo de extensión de clase. A partir de él, una subclase se extiende (hereda)

Más detalles

Sistemas de colas de mensajes

Sistemas de colas de mensajes Tema 9. Paradigmas Avanzados de computación distribuida 1. Sistemas de colas de mensajes 2. Agentes móviles 3. Servicios de red 4. Espacios de objetos Sistemas de colas de mensajes Tema 9 Paradigmas Avanzados

Más detalles

Programación Orientada a Objetos. Java: Excepciones

Programación Orientada a Objetos. Java: Excepciones Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey LIDIA Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España

Más detalles

Sockets. Los sockets son un mecanismo de comunicación entre procesos que se utiliza en Internet.

Sockets. Los sockets son un mecanismo de comunicación entre procesos que se utiliza en Internet. Sockets La biblioteca estándar de clases de Java nos proporciona todo lo que necesitamos para utilizar sockets en nuestras aplicaciones en el paquete java.net, por lo que tendremos que añadir la siguiente

Más detalles

Puertos (Breve repaso) No existe memoria común Comunicaciones No existe un estado global del sistema Grado de Transparencia Escalables Reconfigurables

Puertos (Breve repaso) No existe memoria común Comunicaciones No existe un estado global del sistema Grado de Transparencia Escalables Reconfigurables CNTENID: TEMA 7: aso de Mensajes con MI Conceptos de rogramación n Distribuida Conceptos de rogramación Distribuida emote Method Invocation (MI) en Java El Nivel de esguardos La esponsable de que Todo

Más detalles

Universidad ORT - Arquitectura de Software. Requisitos

Universidad ORT - Arquitectura de Software. Requisitos Requisitos Versión 1.5 (o superior) de la JDK de Java NetBeans 6.5 como IDE de desarrollo JBoss 4.2.x como Application Server Variable de entorno de Windows JAVA_HOME apuntando al directorio de instalación

Más detalles

SISTEMAS DISTRIBUIDOS Profesor: José Luis Montoya Restrepo

SISTEMAS 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 detalles

Práctica 5: Callbacks RMI.

Práctica 5: Callbacks RMI. Práctica 5: Callbacks RMI. Ejercicio 1. (Será realizado en la Sala de Computo) El siguiente ejercicio describe los pasos a seguir para aplicar el mecanismo Callback con Java RMI. En este ejercicio se requiere

Más detalles

Programación Orientada a Objetos. Java: Excepciones

Programación Orientada a Objetos. Java: Excepciones Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España

Más detalles

Programación Orientada a Objetos, 3 er curso Ejercicios resueltos

Programación Orientada a Objetos, 3 er curso Ejercicios resueltos Programación Orientada a Objetos, 3 er curso Ejercicios resueltos 1. Cómo es posible crear objetos de una clase cuyos constructores son todos privados? a) Definiendo un método estático público en la clase

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Encapsulamiento: Control de Acceso Clases en Java (1) UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO En Java se organizan las clases en paquetes

Más detalles

Programación Orientada a Objetos en Java

Programación Orientada a Objetos en Java Programación Orientada a Objetos en Java Curso 2006-2007 Tema 1 Introducción a Java Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Historia

Más detalles

Federico Peinado www.federicopeinado.es

Federico Peinado www.federicopeinado.es Federico Peinado www.federicopeinado.es Depto. de Ingeniería del Software e Inteligencia Artificial disia.fdi.ucm.es Facultad de Informática www.fdi.ucm.es Universidad Complutense de Madrid www.ucm.es

Más detalles

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos

Más detalles

Introducción Entorno de ejecución Referencias Descripción del servicio

Introducción Entorno de ejecución Referencias Descripción del servicio 507953 1 Contenido Contenido Cambios Introducción Entorno de ejecución Referencias Descripción del servicio Introducción Arquitectura Paso a paso Interface Service Proxy Fichero de propiedades Despliegue

Más detalles

Universidad Don Bosco. Materia: Programación Orientada a Objetos Contenido: Modificadores de Acceso y JDBC

Universidad Don Bosco. Materia: Programación Orientada a Objetos Contenido: Modificadores de Acceso y JDBC Universidad Don Bosco CICLO: 01/2010 Materia: Programación Orientada a Objetos Contenido: Modificadores de Acceso y JDBC Protección de miembros de la clase ->El principio de ocultación de información se

Más detalles

Herramientas Concurrentes en JAVA

Herramientas Concurrentes en JAVA Herramientas Concurrentes en JAVA David Jesús Horat Flotats ÍNDICE 1. Introducción n a Java 2. Herramientas Concurrentes en Java 3. Lectores Escritores (2º) 4. Filósofos comensales 5. Chat usando RMI 6.

Más detalles

Solución al Examen de Prácticas de Programación (Ingeniería Informática)

Solución al Examen de Prácticas de Programación (Ingeniería Informática) Solución al Examen de Prácticas de Programación (Ingeniería Informática) Junio 2006 Parte I. Cuestiones (3 puntos=50% nota del examen) 1) Se desea crear un conjunto de clases para representar en un programa

Más detalles

Packages, Classpath y

Packages, Classpath y Packages, Classpath y utilidad JAR Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Aprender a crear e importar packages Conocer

Más detalles

Variables De Entorno Para Configuración

Variables De Entorno Para Configuración Variables De Entorno Para Configuración Rev. Fecha Descripción 1.0 20/10/2009 Versión inicial Documento: Ficheros relacionados: Preparado por: Revisado por: Aprobado por: Variables De Entorno Para Configuración

Más detalles

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas Unidad II Fundamentos de programación en Java Ing. José Luis Llamas Cárdenas En java para poder escribir se emplea el objeto System.out, t pero para leer del teclado es necesario emplear System.in Et Este

Más detalles

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría Java en 3 horas Ampliación de Sistemas Operativos Rodrigo Santamaría Generalidades Desarrollado por Sun Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas

Más detalles

Servicios Web: Concepto

Servicios Web: Concepto Servicios Web y RMI http://www.it.uc3m.es/pedmume/ Servicios Web: Concepto Uso más habitual de un servidor es dar una respuesta al usuario de una determinada página (PHP, ASP, J2EE ). Las páginas están

Más detalles

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Java Avanzado Facultad de Ingeniería. Escuela de computación. 2 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 5 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo de sus prácticas

Más detalles

Serialización de datos en C# en Binario, Soap y Xml

Serialización de datos en C# en Binario, Soap y Xml Serialización de datos en C# en Binario, Soap y Xml Quizás muchos desarrolladores hayan escuchado hablar del termino serializar la información y no saber de que se trata. Pues bien, resulta que la serialización

Más detalles

Servicios web con SOAP y Eclipse

Servicios web con SOAP y Eclipse PRÁCTICA 8 Servicios web con SOAP y Eclipse E l objetivo de esta práctica es invocar e implementar servicios web en Java desde el entorno Eclipse. La práctica está estructurada en tres partes según se

Más detalles

1. Aplicaciones del J2SE SDK1.4.2 de Sun.

1. Aplicaciones del J2SE SDK1.4.2 de Sun. Dept Informatica Índice 1 Aplicaciones del J2SE SDK142 de Sun 1 11 javac 1 12 java 1 13 javadoc 2 14 Las que no se explican 3 2 Guía de estilo de Java 3 21 Clases 3 211 Nombres para las clases 3 212 Estructura

Más detalles

NORMAS PARA LA ENTREGA DE LOS LABORATORIOS

NORMAS PARA LA ENTREGA DE LOS LABORATORIOS Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Bases de Datos I - Laboratorio # 5 - SQL 3: Conexión de Programas Java con DBMS Entrega: Sábado, 29 de Noviembre de 2014 NORMAS PARA

Más detalles

Repaso de las características más importantes de la programación Java y su adaptación a Android

Repaso de las características más importantes de la programación Java y su adaptación a Android Repaso de las características más importantes de la programación Java y su adaptación a Android 1. Entorno de programación en java 2. Variables y tipos de datos 3. Operaciones y operadores 4. Clases y

Más detalles

Cliente/Servidor en Java

Cliente/Servidor en Java Cliente/Servidor en Java Grupo ARCOS Desarrollo de Aplicaciones Distribuidas Ingeniería Informática Universidad Carlos III de Madrid Contenidos 1. Introducción: 1. Paradigma cliente/servidor 2. Entorno

Más detalles