SlideShare una empresa de Scribd logo
Aplicación Utilizando Rmi Lucy Pillalaza Universidad Israel - Décimo Nivel
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 es Windows  El jdk utilizado es 1.5.0
Código Fuente  Creamos en C: una carpeta para ubicar el código fuente del servidor, rmi Para no mezclar el código del cliente, dentro de rmi, creamos una carpeta cliente.  Utilizaremos dos ventanas de línea de comandos: una para las acciones sobre el código de servidor y otra para las operaciones del cliente.
Clases del servidor Las ubicamos en la carpeta c:rmi4  Son: EcoRMI.java (interfaz remota), EcoRMISirviente.java (implementación de la interfaz remota) y EcoRMIServidor.java (la aplicación remota)
EcoRMI.java publicinterface EcoRMIextendsjava.rmi.Remote 	{ publicString eco(String mensaje)  throwsjava.rmi.RemoteException;  	}
EcoRMISirviente.java (1/2) importjava.rmi.*;  importjava.rmi.server.UnicastRemoteObject;  publicclassEcoRMISirvienteextendsUnicastRemoteObject implementsEcoRMI {  publicEcoRMISirviente(String nombre) throwsRemoteException 	  {  super();    try    {  Naming.rebind(nombre, this);  } catch (Exception e) {  System.out.println(quot;Excepcion: quot; + e.getMessage());  e.printStackTrace();    }  	}
EcoRMISirviente.java (2/2) // Implementación del método remoto publicString eco(String mensaje) throwsRemoteException {  System.out.println(quot;Recibido: quot; + mensaje);  returnmensaje;  }       }
EcoRMIServidor.java import java.rmi.*;  importjava.rmi.server.*;  publicclassEcoRMIServidor {  publicstaticvoidmain(Stringargs[])   {      // Crea e instala el gestor de seguridad System.setSecurityManager(new RMISecurityManager());      try       {  EcoRMISirvientemiEco = new  EcoRMISirviente(quot;//:4000/mi-EcoRMIquot;); System.out.println(quot;Servidorde EcoRMIlisto.quot;);  } catch (Exception e) {  System.out.println(quot;Excepcion: quot; + e.getMessage());  e.printStackTrace();  }      }    }
java.policy En c:rmi4 (servidor) necesitamos un archivo de política de seguridad java.policy. Lo más simple es habilitar todos los permisos. También lo necesita el cliente; no obstante, basta con darle la ruta en el momento de ejecutarlo posteriormente.  grant{  permissionjava.security.AllPermission; };
Compilar en el servidor Desde la línea de comandos, compilamos todas las clases en c:rmi4 (servidor):  >cd c:rmi4  c:rmi4>javac*.java
Generar stub En la misma línea de comandos, generamos el archivo de stub:  	c:rmi4>rmicEcoRMISirviente Se genera un archivo llamado EcoRMISirviente_stub.class. Es importante, acordarse de copiarlo en la carpeta cliente. También debemos copiar en la carpeta cliente los archivos EcoRMI.java y EcoRMI.class
FIN

Más contenido relacionado

La actualidad más candente

Seguridad: Ataque Unicode Solución
Seguridad: Ataque Unicode SoluciónSeguridad: Ataque Unicode Solución
Seguridad: Ataque Unicode Solución
Francesc Perez
 
Seguridad Informatica Virus
Seguridad Informatica VirusSeguridad Informatica Virus
Seguridad Informatica Virus
guest74971
 
Ethical hacking 00a
Ethical hacking 00aEthical hacking 00a
Ethical hacking 00a
Tensor
 
Administrador de tareas
Administrador de tareasAdministrador de tareas
Administrador de tareas
ferchos07
 
Practica 1 unidad 4
Practica 1 unidad 4Practica 1 unidad 4
Practica 1 unidad 4
Juan Lopez
 
Ataque win xp
Ataque win xpAtaque win xp
Ataque win xp
darlyjazmin
 
Manipulación Troyano Optix Pro
Manipulación Troyano Optix ProManipulación Troyano Optix Pro
Manipulación Troyano Optix Pro
Vianney Rodriguez
 
Ejerreueltos de c
Ejerreueltos de cEjerreueltos de c
Ejerreueltos de c
Sol Hernández
 
Claseprogrmacion
ClaseprogrmacionClaseprogrmacion
Claseprogrmacion
Gisela Milagros
 
Ejerreueltos de c
Ejerreueltos de cEjerreueltos de c
Ejerreueltos de c
Sol Hernández
 
09practicafinal
09practicafinal09practicafinal
Tema servlets
Tema servletsTema servlets
Tema servlets
simeonhuamanchao
 
Desplegando Proyectos Symfony2 con Capistrano-Capifony y Git
Desplegando Proyectos Symfony2 con Capistrano-Capifony y GitDesplegando Proyectos Symfony2 con Capistrano-Capifony y Git
Desplegando Proyectos Symfony2 con Capistrano-Capifony y Git
moisesgallego
 
Comando de java
Comando de javaComando de java
Comando de java
Joselyn Aguirre
 

La actualidad más candente (14)

Seguridad: Ataque Unicode Solución
Seguridad: Ataque Unicode SoluciónSeguridad: Ataque Unicode Solución
Seguridad: Ataque Unicode Solución
 
Seguridad Informatica Virus
Seguridad Informatica VirusSeguridad Informatica Virus
Seguridad Informatica Virus
 
Ethical hacking 00a
Ethical hacking 00aEthical hacking 00a
Ethical hacking 00a
 
Administrador de tareas
Administrador de tareasAdministrador de tareas
Administrador de tareas
 
Practica 1 unidad 4
Practica 1 unidad 4Practica 1 unidad 4
Practica 1 unidad 4
 
Ataque win xp
Ataque win xpAtaque win xp
Ataque win xp
 
Manipulación Troyano Optix Pro
Manipulación Troyano Optix ProManipulación Troyano Optix Pro
Manipulación Troyano Optix Pro
 
Ejerreueltos de c
Ejerreueltos de cEjerreueltos de c
Ejerreueltos de c
 
Claseprogrmacion
ClaseprogrmacionClaseprogrmacion
Claseprogrmacion
 
Ejerreueltos de c
Ejerreueltos de cEjerreueltos de c
Ejerreueltos de c
 
09practicafinal
09practicafinal09practicafinal
09practicafinal
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Desplegando Proyectos Symfony2 con Capistrano-Capifony y Git
Desplegando Proyectos Symfony2 con Capistrano-Capifony y GitDesplegando Proyectos Symfony2 con Capistrano-Capifony y Git
Desplegando Proyectos Symfony2 con Capistrano-Capifony y Git
 
Comando de java
Comando de javaComando de java
Comando de java
 

Similar a Aplicación RMI

Java Rmi
Java RmiJava Rmi
Java Rmi
guest46f7c6
 
Ejemplo Java Rmi
Ejemplo Java RmiEjemplo Java Rmi
Ejemplosencillocon rmi
Ejemplosencillocon rmiEjemplosencillocon rmi
Ejemplosencillocon rmi
Jesus Ortiz Tellez
 
Tema RMI en java e invocación utilizando
Tema RMI en java e invocación utilizandoTema RMI en java e invocación utilizando
Tema RMI en java e invocación utilizando
AntonioFloresLara
 
Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!
Ricard Luquero
 
Airbase y KARMetasploit
Airbase y KARMetasploitAirbase y KARMetasploit
Airbase y KARMetasploit
Daniel
 
Java Rmi
Java RmiJava Rmi
RMI
RMIRMI
Tema servlets
Tema servletsTema servlets
Tema servlets
simeonhuamanchao
 
Tema servlets
Tema servletsTema servlets
Tema servlets
simeonhuamanchao
 
Tema servlets
Tema servletsTema servlets
Tema servlets
simeonhuamanchao
 
Entornos de desarrollo para symfony2 con vagrant y puppet
Entornos de desarrollo para symfony2 con vagrant y puppetEntornos de desarrollo para symfony2 con vagrant y puppet
Entornos de desarrollo para symfony2 con vagrant y puppet
Vicent Soria Durá
 
2. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-20062. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-2006
Samuel Marrero
 
Semana 13 ejemplo del uso del rmi
Semana 13   ejemplo del uso del rmiSemana 13   ejemplo del uso del rmi
Semana 13 ejemplo del uso del rmi
TerryJoss
 
CRUD básico con Symfony
CRUD básico con SymfonyCRUD básico con Symfony
CRUD básico con Symfony
Symfony Zaragoza
 
INSTALACION DE CENTOS Y OPENSSL
INSTALACION DE CENTOS Y OPENSSLINSTALACION DE CENTOS Y OPENSSL
INSTALACION DE CENTOS Y OPENSSL
Edson Ortega
 
Spring OSGI , dm server - Leonardo Torres Altez
Spring OSGI , dm server - Leonardo Torres AltezSpring OSGI , dm server - Leonardo Torres Altez
Spring OSGI , dm server - Leonardo Torres Altez
a19987225
 
Manual de instalación de Exchangey tmg 2010
Manual de instalación de Exchangey tmg 2010Manual de instalación de Exchangey tmg 2010
Manual de instalación de Exchangey tmg 2010
Hugo Rios
 
Manual de instalación de EXCHANGE y TMG 2010
Manual de instalación de EXCHANGE y TMG 2010Manual de instalación de EXCHANGE y TMG 2010
Manual de instalación de EXCHANGE y TMG 2010
Hugo Rios
 
Manual de instalación de EXCHANGE y TMG 2010
Manual de instalación de EXCHANGE y TMG 2010Manual de instalación de EXCHANGE y TMG 2010
Manual de instalación de EXCHANGE y TMG 2010
Hugo Rios
 

Similar a Aplicación RMI (20)

Java Rmi
Java RmiJava Rmi
Java Rmi
 
Ejemplo Java Rmi
Ejemplo Java RmiEjemplo Java Rmi
Ejemplo Java Rmi
 
Ejemplosencillocon rmi
Ejemplosencillocon rmiEjemplosencillocon rmi
Ejemplosencillocon rmi
 
Tema RMI en java e invocación utilizando
Tema RMI en java e invocación utilizandoTema RMI en java e invocación utilizando
Tema RMI en java e invocación utilizando
 
Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!
 
Airbase y KARMetasploit
Airbase y KARMetasploitAirbase y KARMetasploit
Airbase y KARMetasploit
 
Java Rmi
Java RmiJava Rmi
Java Rmi
 
RMI
RMIRMI
RMI
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Entornos de desarrollo para symfony2 con vagrant y puppet
Entornos de desarrollo para symfony2 con vagrant y puppetEntornos de desarrollo para symfony2 con vagrant y puppet
Entornos de desarrollo para symfony2 con vagrant y puppet
 
2. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-20062. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-2006
 
Semana 13 ejemplo del uso del rmi
Semana 13   ejemplo del uso del rmiSemana 13   ejemplo del uso del rmi
Semana 13 ejemplo del uso del rmi
 
CRUD básico con Symfony
CRUD básico con SymfonyCRUD básico con Symfony
CRUD básico con Symfony
 
INSTALACION DE CENTOS Y OPENSSL
INSTALACION DE CENTOS Y OPENSSLINSTALACION DE CENTOS Y OPENSSL
INSTALACION DE CENTOS Y OPENSSL
 
Spring OSGI , dm server - Leonardo Torres Altez
Spring OSGI , dm server - Leonardo Torres AltezSpring OSGI , dm server - Leonardo Torres Altez
Spring OSGI , dm server - Leonardo Torres Altez
 
Manual de instalación de Exchangey tmg 2010
Manual de instalación de Exchangey tmg 2010Manual de instalación de Exchangey tmg 2010
Manual de instalación de Exchangey tmg 2010
 
Manual de instalación de EXCHANGE y TMG 2010
Manual de instalación de EXCHANGE y TMG 2010Manual de instalación de EXCHANGE y TMG 2010
Manual de instalación de EXCHANGE y TMG 2010
 
Manual de instalación de EXCHANGE y TMG 2010
Manual de instalación de EXCHANGE y TMG 2010Manual de instalación de EXCHANGE y TMG 2010
Manual de instalación de EXCHANGE y TMG 2010
 

Último

Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024
israelsouza67
 
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdfCUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
Inslvarez5
 
1° T3 Examen Zany de primer grado compl
1° T3 Examen Zany  de primer grado compl1° T3 Examen Zany  de primer grado compl
1° T3 Examen Zany de primer grado compl
ROCIORUIZQUEZADA
 
Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......
LuanaJaime1
 
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docxLecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Alejandrino Halire Ccahuana
 
Presentación de proyecto en acuarela moderna verde.pdf
Presentación de proyecto en acuarela moderna verde.pdfPresentación de proyecto en acuarela moderna verde.pdf
Presentación de proyecto en acuarela moderna verde.pdf
LuanaJaime1
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
Sandra Mariela Ballón Aguedo
 
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJAPANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
estroba5
 
Manual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HCManual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HC
josseanlo1581
 
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
Inteligencia Artificial para Docentes  HIA  Ccesa007.pdfInteligencia Artificial para Docentes  HIA  Ccesa007.pdf
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
Demetrio Ccesa Rayme
 
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdfGuia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Demetrio Ccesa Rayme
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
ViriEsteva
 
2° año LA VESTIMENTA-ciencias sociales 2 grado
2° año LA VESTIMENTA-ciencias sociales 2 grado2° año LA VESTIMENTA-ciencias sociales 2 grado
2° año LA VESTIMENTA-ciencias sociales 2 grado
GiselaBerrios3
 
Planificación Ejemplo con la metodología TPACK
Planificación Ejemplo con la metodología  TPACKPlanificación Ejemplo con la metodología  TPACK
Planificación Ejemplo con la metodología TPACK
ssusera6697f
 
tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)
saradocente
 
Respuesta del icfes pre saber verificadas
Respuesta del icfes pre saber verificadasRespuesta del icfes pre saber verificadas
Respuesta del icfes pre saber verificadas
KarenCaicedo28
 
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdfLas Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Demetrio Ccesa Rayme
 
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLMExamen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Juan Martín Martín
 
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdfFEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
Jose Luis Jimenez Rodriguez
 
Libro Integrado 8vo egb len-mat-ccnn-eess
Libro Integrado 8vo egb len-mat-ccnn-eessLibro Integrado 8vo egb len-mat-ccnn-eess
Libro Integrado 8vo egb len-mat-ccnn-eess
maxgamesofficial15
 

Último (20)

Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024
 
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdfCUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
 
1° T3 Examen Zany de primer grado compl
1° T3 Examen Zany  de primer grado compl1° T3 Examen Zany  de primer grado compl
1° T3 Examen Zany de primer grado compl
 
Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......
 
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docxLecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
 
Presentación de proyecto en acuarela moderna verde.pdf
Presentación de proyecto en acuarela moderna verde.pdfPresentación de proyecto en acuarela moderna verde.pdf
Presentación de proyecto en acuarela moderna verde.pdf
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
 
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJAPANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
 
Manual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HCManual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HC
 
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
Inteligencia Artificial para Docentes  HIA  Ccesa007.pdfInteligencia Artificial para Docentes  HIA  Ccesa007.pdf
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
 
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdfGuia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
 
2° año LA VESTIMENTA-ciencias sociales 2 grado
2° año LA VESTIMENTA-ciencias sociales 2 grado2° año LA VESTIMENTA-ciencias sociales 2 grado
2° año LA VESTIMENTA-ciencias sociales 2 grado
 
Planificación Ejemplo con la metodología TPACK
Planificación Ejemplo con la metodología  TPACKPlanificación Ejemplo con la metodología  TPACK
Planificación Ejemplo con la metodología TPACK
 
tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)
 
Respuesta del icfes pre saber verificadas
Respuesta del icfes pre saber verificadasRespuesta del icfes pre saber verificadas
Respuesta del icfes pre saber verificadas
 
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdfLas Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
 
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLMExamen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
 
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdfFEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
 
Libro Integrado 8vo egb len-mat-ccnn-eess
Libro Integrado 8vo egb len-mat-ccnn-eessLibro Integrado 8vo egb len-mat-ccnn-eess
Libro Integrado 8vo egb len-mat-ccnn-eess
 

Aplicación RMI

  • 1. Aplicación Utilizando Rmi Lucy Pillalaza Universidad Israel - Décimo Nivel
  • 2. 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 es Windows El jdk utilizado es 1.5.0
  • 3. Código Fuente Creamos en C: una carpeta para ubicar el código fuente del servidor, rmi Para no mezclar el código del cliente, dentro de rmi, creamos una carpeta cliente. Utilizaremos dos ventanas de línea de comandos: una para las acciones sobre el código de servidor y otra para las operaciones del cliente.
  • 4. Clases del servidor Las ubicamos en la carpeta c:rmi4 Son: EcoRMI.java (interfaz remota), EcoRMISirviente.java (implementación de la interfaz remota) y EcoRMIServidor.java (la aplicación remota)
  • 5. EcoRMI.java publicinterface EcoRMIextendsjava.rmi.Remote { publicString eco(String mensaje) throwsjava.rmi.RemoteException; }
  • 6. EcoRMISirviente.java (1/2) importjava.rmi.*; importjava.rmi.server.UnicastRemoteObject; publicclassEcoRMISirvienteextendsUnicastRemoteObject implementsEcoRMI { publicEcoRMISirviente(String nombre) throwsRemoteException { super(); try { Naming.rebind(nombre, this); } catch (Exception e) { System.out.println(quot;Excepcion: quot; + e.getMessage()); e.printStackTrace(); } }
  • 7. EcoRMISirviente.java (2/2) // Implementación del método remoto publicString eco(String mensaje) throwsRemoteException { System.out.println(quot;Recibido: quot; + mensaje); returnmensaje; } }
  • 8. EcoRMIServidor.java import java.rmi.*; importjava.rmi.server.*; publicclassEcoRMIServidor { publicstaticvoidmain(Stringargs[]) { // Crea e instala el gestor de seguridad System.setSecurityManager(new RMISecurityManager()); try { EcoRMISirvientemiEco = new EcoRMISirviente(quot;//:4000/mi-EcoRMIquot;); System.out.println(quot;Servidorde EcoRMIlisto.quot;); } catch (Exception e) { System.out.println(quot;Excepcion: quot; + e.getMessage()); e.printStackTrace(); } } }
  • 9. java.policy En c:rmi4 (servidor) necesitamos un archivo de política de seguridad java.policy. Lo más simple es habilitar todos los permisos. También lo necesita el cliente; no obstante, basta con darle la ruta en el momento de ejecutarlo posteriormente. grant{ permissionjava.security.AllPermission; };
  • 10. Compilar en el servidor Desde la línea de comandos, compilamos todas las clases en c:rmi4 (servidor): >cd c:rmi4 c:rmi4>javac*.java
  • 11. Generar stub En la misma línea de comandos, generamos el archivo de stub: c:rmi4>rmicEcoRMISirviente Se genera un archivo llamado EcoRMISirviente_stub.class. Es importante, acordarse de copiarlo en la carpeta cliente. También debemos copiar en la carpeta cliente los archivos EcoRMI.java y EcoRMI.class
  • 12. FIN