SlideShare una empresa de Scribd logo
1 de 3
Ejemplo del uso del RMI<br />Se hará una impresión de quot;
Mi Bibliotecaquot;
 en versión cliente/servidor<br />Los archivos necesarios serán:<br />Biblio.java (Una interface con lo básico)<br />BiblioImpl.java (El objeto servidor en sí mismo, con método main para poder ejecutarse)<br />BiblioClient.java (El cliente java)<br />Estos 3 archivos componen la parte servidora (objetos en el lado del servidor)<br />Biblio.java<br />import java.rmi.Remote;import java.rmi.RemoteException;     public interface Biblio extends Remote {        String mensaje() throws RemoteException;    }<br />  <br />BiblioImpl.java<br />        import java.rmi.Naming;        import java.rmi.RemoteException;        import java.rmi.RMISecurityManager;        import java.rmi.server.UnicastRemoteObject;        public class BiblioImpl extends UnicastRemoteObject implements Biblio {            public BiblioImpl() throws RemoteException {                super();            }            public String mensaje() {                return quot;
Esta es Mi Biblioteca.quot;
;            }            public static void main(String args[]) {                // Create and install a security manager                if (System.getSecurityManager() == null) {                    System.setSecurityManager(new RMISecurityManager());                }                try {                    BiblioImpl obj = new BiblioImpl();                    // Bind this object instance to the name quot;
BiblioServerquot;
                    Naming.rebind(quot;
//192.168.0.18/BiblioServerquot;
, obj);                    System.out.println(quot;
BiblioServer bound in registryquot;
);                } catch (Exception e) {                    System.out.println(quot;
BiblioImpl err: quot;
 + e.getMessage());                    e.printStackTrace();                }            }        }<br />policy<br />grant {        // Allow everything for now        permission java.security.AllPermission;};<br />Este es para la parte clienteBiblioClient.java<br />import java.rmi.Naming;import java.rmi.RemoteException;public class BiblioClient {        static String message = quot;
blankquot;
;        static Biblio obj = null;        public static void main(String args[]) {        try {            obj = (Biblio)Naming.lookup(quot;
//192.168.0.18quot;
 + quot;
/BiblioServerquot;
);            message = obj.mensaje();        } catch (Exception e) {            System.out.println(quot;
BiblioApplet exception: quot;
 + e.getMessage());            e.printStackTrace();        }        System.out.println(quot;
MENSAJE: quot;
 + message);        }}<br />Compilamos y generamos los proxys para que el cliente remoto pueda acceder al objeto servidor (que simplemente devuelve un mensaje).<br />javac Biblio.java BiblioImpl.java<br />rmic BiblioImpl<br />Lo cual nos genera los .class de Biblio.java y BiblioImpl.java. Además de esto, el comando rmic, genera unos proxys para copiar en el lado cliente son: BiblioImpl_Stub.class y BiblioImpl_Skel.class<br />El archivo policy lo necesitamos en el lado del servidor para dar seguridad al acceso a nuestro objeto. Ejecutamos el rmiregistry que levanta un servidor  escuchando en el puerto 1099, Este programa se encarga de recibir peticiones de Clientes que intentan localizar objetos servidores y les indica donde se encuentran físicamente.<br />Una vez que tenemos levantado el rmiregisty , Levantamos nuestro objeto de lado del servidor:<br />java -Djava.security.policy=$HOME/Programacion/java/rmi/policy BiblioImpl<br />haciendo referencia al archivo policy antes creado.<br />En el lado cliente compilamos BiblioClient.java y copiamos el Stub y el Skel generados en el servidor, de modo que tengamos:<br />BiblioClient.classBiblioImpl_Skel.classBiblioImpl_Stub.classy ejecutamos : java BiblioClient , que como resultado debería dar:<br />hp@hp:rmi$ java BiblioClient<br />MENSAJE: Esta es Mi Biblioteca.<br />
Semana 13   ejemplo del uso del rmi
Semana 13   ejemplo del uso del rmi

Más contenido relacionado

La actualidad más candente

App en tiempo real con HTML5+Node.js+Socket.IO
App en tiempo real con HTML5+Node.js+Socket.IOApp en tiempo real con HTML5+Node.js+Socket.IO
App en tiempo real con HTML5+Node.js+Socket.IOWalter Gerez
 
Desarrollo web con JAVA: Introduccion a los Servlets
Desarrollo web con JAVA: Introduccion a los ServletsDesarrollo web con JAVA: Introduccion a los Servlets
Desarrollo web con JAVA: Introduccion a los ServletsJon Vadillo Romero
 
SALUDOS EN INGLES
SALUDOS EN INGLESSALUDOS EN INGLES
SALUDOS EN INGLESludiviarosa
 
Modulo13 Web Services
Modulo13 Web ServicesModulo13 Web Services
Modulo13 Web ServicesEduardo
 
Aplicaciones en tiempo real con nodejs y html5
Aplicaciones en tiempo real con nodejs y html5Aplicaciones en tiempo real con nodejs y html5
Aplicaciones en tiempo real con nodejs y html5programadoresmx
 
ASP.NET MVC - introduccion al web api
ASP.NET MVC - introduccion al web apiASP.NET MVC - introduccion al web api
ASP.NET MVC - introduccion al web apiDanae Aguilar Guzmán
 

La actualidad más candente (9)

App en tiempo real con HTML5+Node.js+Socket.IO
App en tiempo real con HTML5+Node.js+Socket.IOApp en tiempo real con HTML5+Node.js+Socket.IO
App en tiempo real con HTML5+Node.js+Socket.IO
 
WebSockets
WebSocketsWebSockets
WebSockets
 
Desarrollo web con JAVA: Introduccion a los Servlets
Desarrollo web con JAVA: Introduccion a los ServletsDesarrollo web con JAVA: Introduccion a los Servlets
Desarrollo web con JAVA: Introduccion a los Servlets
 
SALUDOS EN INGLES
SALUDOS EN INGLESSALUDOS EN INGLES
SALUDOS EN INGLES
 
Modulo13 Web Services
Modulo13 Web ServicesModulo13 Web Services
Modulo13 Web Services
 
Presentacion node
Presentacion nodePresentacion node
Presentacion node
 
Aplicaciones en tiempo real con nodejs y html5
Aplicaciones en tiempo real con nodejs y html5Aplicaciones en tiempo real con nodejs y html5
Aplicaciones en tiempo real con nodejs y html5
 
ASP.NET MVC - introduccion al web api
ASP.NET MVC - introduccion al web apiASP.NET MVC - introduccion al web api
ASP.NET MVC - introduccion al web api
 
Java servlets
Java servletsJava servlets
Java servlets
 

Destacado

Semana 11 pruebas unitarias
Semana 11   pruebas unitariasSemana 11   pruebas unitarias
Semana 11 pruebas unitariasTerryJoss
 
Semana 10 eventos excepciones y errores
Semana 10   eventos excepciones y erroresSemana 10   eventos excepciones y errores
Semana 10 eventos excepciones y erroresTerryJoss
 
Выездные проверки Резников Сколково
Выездные проверки Резников СколковоВыездные проверки Резников Сколково
Выездные проверки Резников СколковоDmitry Tseitlin
 
Dia de la tierra
Dia de la tierraDia de la tierra
Dia de la tierraarnold777
 
FRASES CÉLEBRES
FRASES CÉLEBRESFRASES CÉLEBRES
FRASES CÉLEBRESguest95cdd1
 
Ch el hambre como problema de salud comunitaria
Ch el hambre como problema de salud comunitariaCh el hambre como problema de salud comunitaria
Ch el hambre como problema de salud comunitariaMatías Valverde Romera
 
State of innovation Thomson Reuters 2016
State of innovation Thomson Reuters 2016 State of innovation Thomson Reuters 2016
State of innovation Thomson Reuters 2016 Dmitry Tseitlin
 

Destacado (7)

Semana 11 pruebas unitarias
Semana 11   pruebas unitariasSemana 11   pruebas unitarias
Semana 11 pruebas unitarias
 
Semana 10 eventos excepciones y errores
Semana 10   eventos excepciones y erroresSemana 10   eventos excepciones y errores
Semana 10 eventos excepciones y errores
 
Выездные проверки Резников Сколково
Выездные проверки Резников СколковоВыездные проверки Резников Сколково
Выездные проверки Резников Сколково
 
Dia de la tierra
Dia de la tierraDia de la tierra
Dia de la tierra
 
FRASES CÉLEBRES
FRASES CÉLEBRESFRASES CÉLEBRES
FRASES CÉLEBRES
 
Ch el hambre como problema de salud comunitaria
Ch el hambre como problema de salud comunitariaCh el hambre como problema de salud comunitaria
Ch el hambre como problema de salud comunitaria
 
State of innovation Thomson Reuters 2016
State of innovation Thomson Reuters 2016 State of innovation Thomson Reuters 2016
State of innovation Thomson Reuters 2016
 

Similar a Semana 13 ejemplo del uso del rmi (20)

Herramientas Java
Herramientas JavaHerramientas Java
Herramientas Java
 
Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!
 
Suarez l 2001 el paquete java io
Suarez l 2001 el paquete java ioSuarez l 2001 el paquete java io
Suarez l 2001 el paquete java io
 
Java Rmi
Java RmiJava Rmi
Java Rmi
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Hands-on Spring 3: The next generation
Hands-on Spring 3: The next generationHands-on Spring 3: The next generation
Hands-on Spring 3: The next generation
 
Acceso a-base-de-datos-en-php
Acceso a-base-de-datos-en-phpAcceso a-base-de-datos-en-php
Acceso a-base-de-datos-en-php
 
Java
JavaJava
Java
 
Ejemplo Java Rmi
Ejemplo Java RmiEjemplo Java Rmi
Ejemplo Java Rmi
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on Rails
 
Aplicación RMI
Aplicación RMIAplicación RMI
Aplicación RMI
 
mysql y visual c++.pdf
mysql y visual c++.pdfmysql y visual c++.pdf
mysql y visual c++.pdf
 
Java script
Java scriptJava script
Java script
 
Ejemplosencillocon rmi
Ejemplosencillocon rmiEjemplosencillocon rmi
Ejemplosencillocon rmi
 
Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3
 
Reportes En J Developer Parte 1 Y 2
Reportes En J Developer   Parte 1 Y 2Reportes En J Developer   Parte 1 Y 2
Reportes En J Developer Parte 1 Y 2
 
Tema4[php]
Tema4[php]Tema4[php]
Tema4[php]
 

Más de TerryJoss

Semana 13 sistemas distribuidos
Semana 13   sistemas distribuidosSemana 13   sistemas distribuidos
Semana 13 sistemas distribuidosTerryJoss
 
Semana 12 interfaces gráficas de usuario
Semana 12   interfaces gráficas de usuarioSemana 12   interfaces gráficas de usuario
Semana 12 interfaces gráficas de usuarioTerryJoss
 
Semana 12 interfaces gráficas de usuario
Semana 12   interfaces gráficas de usuarioSemana 12   interfaces gráficas de usuario
Semana 12 interfaces gráficas de usuarioTerryJoss
 
Diagramas de clases y actividades
Diagramas de clases y actividadesDiagramas de clases y actividades
Diagramas de clases y actividadesTerryJoss
 
Diagrama de actividades
Diagrama de actividadesDiagrama de actividades
Diagrama de actividadesTerryJoss
 
Proyecto biblioteca
Proyecto bibliotecaProyecto biblioteca
Proyecto bibliotecaTerryJoss
 

Más de TerryJoss (9)

Semana 13 sistemas distribuidos
Semana 13   sistemas distribuidosSemana 13   sistemas distribuidos
Semana 13 sistemas distribuidos
 
Semana 12 interfaces gráficas de usuario
Semana 12   interfaces gráficas de usuarioSemana 12   interfaces gráficas de usuario
Semana 12 interfaces gráficas de usuario
 
Semana 12 interfaces gráficas de usuario
Semana 12   interfaces gráficas de usuarioSemana 12   interfaces gráficas de usuario
Semana 12 interfaces gráficas de usuario
 
Diagramas de clases y actividades
Diagramas de clases y actividadesDiagramas de clases y actividades
Diagramas de clases y actividades
 
Diagrama de actividades
Diagrama de actividadesDiagrama de actividades
Diagrama de actividades
 
Memento
MementoMemento
Memento
 
Facade
FacadeFacade
Facade
 
Prototype
PrototypePrototype
Prototype
 
Proyecto biblioteca
Proyecto bibliotecaProyecto biblioteca
Proyecto biblioteca
 

Último

GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 

Último (20)

GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 

Semana 13 ejemplo del uso del rmi

  • 1. Ejemplo del uso del RMI<br />Se hará una impresión de quot; Mi Bibliotecaquot; en versión cliente/servidor<br />Los archivos necesarios serán:<br />Biblio.java (Una interface con lo básico)<br />BiblioImpl.java (El objeto servidor en sí mismo, con método main para poder ejecutarse)<br />BiblioClient.java (El cliente java)<br />Estos 3 archivos componen la parte servidora (objetos en el lado del servidor)<br />Biblio.java<br />import java.rmi.Remote;import java.rmi.RemoteException;     public interface Biblio extends Remote {        String mensaje() throws RemoteException;    }<br />  <br />BiblioImpl.java<br />        import java.rmi.Naming;        import java.rmi.RemoteException;        import java.rmi.RMISecurityManager;        import java.rmi.server.UnicastRemoteObject;        public class BiblioImpl extends UnicastRemoteObject implements Biblio {            public BiblioImpl() throws RemoteException {                super();            }            public String mensaje() {                return quot; Esta es Mi Biblioteca.quot; ;            }            public static void main(String args[]) {                // Create and install a security manager                if (System.getSecurityManager() == null) {                    System.setSecurityManager(new RMISecurityManager());                }                try {                    BiblioImpl obj = new BiblioImpl();                    // Bind this object instance to the name quot; BiblioServerquot;                     Naming.rebind(quot; //192.168.0.18/BiblioServerquot; , obj);                    System.out.println(quot; BiblioServer bound in registryquot; );                } catch (Exception e) {                    System.out.println(quot; BiblioImpl err: quot; + e.getMessage());                    e.printStackTrace();                }            }        }<br />policy<br />grant {        // Allow everything for now        permission java.security.AllPermission;};<br />Este es para la parte clienteBiblioClient.java<br />import java.rmi.Naming;import java.rmi.RemoteException;public class BiblioClient {        static String message = quot; blankquot; ;        static Biblio obj = null;        public static void main(String args[]) {        try {            obj = (Biblio)Naming.lookup(quot; //192.168.0.18quot; + quot; /BiblioServerquot; );            message = obj.mensaje();        } catch (Exception e) {            System.out.println(quot; BiblioApplet exception: quot; + e.getMessage());            e.printStackTrace();        }        System.out.println(quot; MENSAJE: quot; + message);        }}<br />Compilamos y generamos los proxys para que el cliente remoto pueda acceder al objeto servidor (que simplemente devuelve un mensaje).<br />javac Biblio.java BiblioImpl.java<br />rmic BiblioImpl<br />Lo cual nos genera los .class de Biblio.java y BiblioImpl.java. Además de esto, el comando rmic, genera unos proxys para copiar en el lado cliente son: BiblioImpl_Stub.class y BiblioImpl_Skel.class<br />El archivo policy lo necesitamos en el lado del servidor para dar seguridad al acceso a nuestro objeto. Ejecutamos el rmiregistry que levanta un servidor  escuchando en el puerto 1099, Este programa se encarga de recibir peticiones de Clientes que intentan localizar objetos servidores y les indica donde se encuentran físicamente.<br />Una vez que tenemos levantado el rmiregisty , Levantamos nuestro objeto de lado del servidor:<br />java -Djava.security.policy=$HOME/Programacion/java/rmi/policy BiblioImpl<br />haciendo referencia al archivo policy antes creado.<br />En el lado cliente compilamos BiblioClient.java y copiamos el Stub y el Skel generados en el servidor, de modo que tengamos:<br />BiblioClient.classBiblioImpl_Skel.classBiblioImpl_Stub.classy ejecutamos : java BiblioClient , que como resultado debería dar:<br />hp@hp:rmi$ java BiblioClient<br />MENSAJE: Esta es Mi Biblioteca.<br />