UNI VERSI DAD REGI ONAL AUTÓNOMA DE LOS
ANDES ‘‘ UNI ANDES’’
TEMA DEL DOCUMENTO:
¿QUÉ ES EL RMI ?
ESTUDI ANTE: J ONATHAN I SRAEL SALGUERO FLORES.
DOCENTE: BERNABÉ ORTEGA
2015
Puyo-Pastaza
¿Qué es RMI?
RMI es un paquete de J AVA que per mite manej ar obj etos (y sus respectivos mét odos) de
manera re mota, para utilizar l os recursos de un servi dor de manera transparente para el
usuari olocal.
La manera en que RMI (y RPC en general) l ogra hacer esto, es por medi o de l o que se
conoce como STUBs. En el caso del STUBservi dor, se conoce como SKELETON. Estos St ubs
y Skel etons per miten que al mo ment o de ser i nvocada l a f unci ón re mota esta pueda ser
"si mul ada l ocal mente"
Paral acomuni caci ónentre el servi dor y el cliente, setrabaj aconi nterfaces, que debenser
i mpl e mentadas por el servi dor y/o cliente, para que l os STUBs puedan realizar l a
transparencia para a mbos. Ade más esto evita que deba existir una defi nici ónl ocal real de
la cl ase re mota, val e decir, en el cliente sol o debe estar defi ni da l a i nterface, no l a cl ase
re mota.
Otro punto i mportante en RMI, es el cómo se produce l a conectivi dad entre el cliente y
servi dor. Para esto se ocupa una herra mi enta de J AVA, llamada RMI Registry.
El RMI Registry puede estar l ocalizado en un l ugar disti nto al servi dor, y se encarga de
registrar un deter mi nado obj eto y asi gnarl e un servi dor que se encargará de procesar
di cho obj eto.
El funci ona mi ento general es:
1. Se ejecuta el RMI Registry, en algúnl ugar de la red.
2. El servi dor que desea manej ar un obj eto, se registra en dicho servi dor,
3. El RMI Registry registra el par: OBJ ETO/SERVI DOR
4. El cliente que necesita utilizar un deter mi nado obj eto, hace una consulta al RMI
Registry, qui en devuel ve el STUBlisto para la comunicaci ón
Estoes, a grandes rasgos, lo más i ndispensabl e que se debe saber al a hora de utilizar RMI.
Se puede prof undi zar mucho más sobre el te ma, enl a pági na oficial de J AVA, en donde se
pueden encontrar mas eje mpl os sobre el te ma, en la API se encuentrant odosl os mét odos
y clases del paquete RMI, y enInternet.
RMI
Ventaj as
Es REALMENTE fácil de usar si ya se conoce J AVA.
Portabl e a través de pl atafor mas con soporte J AVA.
Baj o costo al convertir sistema existente.
Soporta paso de obj etos por referencia y/o val or.
Desventaj as
A veces, no es tani ntuitivo.
No soportado por otros lenguaj es
Di s mi nuye el rendi mi ento con el creci mi ento del sistema
La utilidad del RMI es poder ej ecutar f unci ones en otro ordenador , interesante si
quere mos por ej empl o hacer cálcul os dentro de un progra ma y nuestro cliente no es l o
suficiente potente, pues medi ante RMI accederíamos a l os obj etos necesari os que
resi dirían en un ordenador más potente y t odo como si estuvi esen nuestro propi o
ordenador.
La i nterfaz RMI decl ara cual es de estos mét odos son accesi bl es desde otras J ava Virtual
Machi nes (J VM). Necesitamos crear el si gui ente escenari o para poder trabaj ar con RMI: Un
interfaz que i ndi que qué f unci ones son accesi bles, un obj eto que i mpl emente di chas
funci ones, un servi dor que dé de alta a l a i nterfaz y un cliente que acceda a l a i nterfaz
re mota mente.
Existen varias regl as que debeni mpl e mentarse para funci onar correctamente:
 La i nterfaz remota debe de clararse "public"
 El cliente debe poder cargar el obj eto re mot o que i mpl e mental ai nterfaz remot a,
sol o puede accederse si es public.
 La i nterfaz remota debe extender lainterfaz java. rmi. Re mote
 Al defi nir l a i nterfaz esta debe ter mi nar con un extends j ava. r mi. Re mote, pues
debe i mpl e mentar alainterfaz Re mote.
 Los métodos deben decl arar java. r mi. Re moteException
 En cada mét odo que se decl are en l a i nterfaz se añade throws
java. r mi. Re moteExcepti on j unto conlas excepci ones que quera mos.
 Ti pos de val ores serializarles.
 Todos l os ti pos que se pasan como argumento o se retornan deben ser
Serializabl es o heredar de clases serializarles.
Ej e mpl o: RMI v/s TCP/IP
El si gui ente ej empl otiene como obj eto ser una pequeña i ntroducci ón a RMI, tratando un
probl e ma común y corriente, de dos maneras disti ntas, con una aplicaci ón
cliente/servi dor usando TCP/I P y con RMI.
El Probl ema
El probl ema consiste en calcul ar l a suma de t odos los números enteros desde 1 hasta un
numero pasado como pará metro, para ell ose utiliza una f or mul atrivial. La tarea debe ser
realizada re mota mente, por un servi dor, que atenderál as consultas, realizará el cálcul o, y
luego devol verá la sol uci ón.
Ade más, debe tener un registro de t odas l as operaci ones realizadas, para responder
inmedi ata mente, si ncalcular, cuando se realice una consulta repeti da.
Cliente/Servi dor
La i dea de esta sol uci ón es crear un servi dor mul ti hil os, como l os vistos en cl ases, que
atienda l as petici ones de múlti pl es usuari os. A conti nuaci ón se muestra el di agra ma de
cl ases de la sol uci ón.
El funci ona mi ento a grandes rasgos es:
oEl servi dor parte y crea un obj eto del ti po Tabla el cual se encargará de guardar l os
cálcul os realizados.
oLuego queda escuchando conexi ones en un deter minado puerto
oCuando ll ega una conexi ón, se crea un obj eto Hil os, que i mpl e menta l a i nterface
Runnabl e, se pasa la referenci a al obj eto Tabl a y se echa a correr el Thread.
oLuego se escucha la petición del cliente, se busca en la tabl a (por si ya fue calcul ado)
oSe procesa (con un método de Tabl a)
oSe guarda el resultado en un atri buto de Tabl a
oFi nal mente, se devuel ve la respuesta al cliente
Se utilizóla clase HashMap para guardar los resultados.
Co mo se puede ver no es mucho l o que difiere este progra ma de l os ya vistos en clase.
CODI GOS: Cliente.java Servi dor.java Hil os.java Tabl a.java
DOCUMENTACI ON: javadoc
RMI
Para se segunda sol uci ón, se utilizó RMI (si no, no tendrí a gracia estar exponi endo). La
idea es utilizar l as ventajas de RMI, para hacer que el servi dor utilice su propi a CPU para
utilizar los métodos i mpl ementados enla clase del obj eto cliente.
A conti nuaci ón se presenta el diagra ma de clases de la sol uci ón RMI:
Co mo se explicó anterior mente, el cliente y el servi dor j a más trabaj an con l as
i mpl e mentaci ones re motas, si no que, tienen que trabaj ar y comuni carse por medi o de
interfaces. Se puede apreciar en el diagra ma, que existen dos i nterfaces:
Cal cul o y Proceso. Asi co mo, Mot or Calcul o Hereda de Cal cul o, mi entras que
calcul oSumatoria hereda de Proceso.
El funci ona mi ento a grandes rasgos es:
El servi dor ( MotorCalcul o) se registra en RMI Registry guardando su direcci on.
El cliente que necesite hacer un calcul o, consulta al RMI Registry, en busca del obj eto
deseado. Si existe, le es devuelta una i nstanci a de MotorCalcul o.
Luego crea un obj eto: Proceso t =(Proceso) calcul oSumat oria(i nt n);
Con estas dos i nstanci as, se ej ecuta el metodo i nt ej ecutarProceso(Procesot) de l a cl ase
Mot orCalcul o.
El servi dor reci be un obj eto Proceso, que enreali dad es unai nstanci a de calcul oSumat ori a
y comi enza a ej ecutar l os met odos de calcul oSumatoria en el servi dor, pese a que es una
cl ase en el cliente!!!
Una vez que el calcul o es realizado, el servi dor devuel ve un entero como resultado del
met odo ejecutarProceso(Proceso t).
Una del asi deas pri nci pales de r mi, esl a de poder separarl asfases de desarroll o, en base a
esto, nace l a i dea de dejar l as cl ases de obj etos re mot os disponi bl es para cada l ado
(servi dor y/o cliente), a traves de un WebServer. La i dea general se presenta en el
sigui ente diagra ma:
Enl a secci ón de descargas se encuentran a mbos progra mas compri mi dos con un archi vo
de texto que i ndica como compil ar y ej ecutar. El pri mer progra ma se ej ecuta de manera
nor mal, mi entras que para el segundo se deben seguir un par de pasos más compl ej os.
Estánt odos debi da mente explicados enl os l ee me. txt correspondi entes. Aconti nuaci ón se
muestranl os pasos para compil ar y ejecutar el código:
COMPI LACI ON:
En El Servi dor
Lo pri mero que se hace es compil ar l as i nterfaces, y crear un archi vo un archi voj ar, para
facilitar el traspaso de i nfor maci ón.
cd /home/cvasquez/el o330/r mi /
javac src/calcul o/Calcul o.java
javac src/calcul o/Proceso.java
jar cvf src. calcul o.jar src/calcul o/*. class
Luego, se mueve el archivo j ar recien creado hacia el servi dor web, para que pueda ser
descargado por el/l os cliente/s.
mv src. calcul o.jar /pub/WWW/cl ases/
Luego, ca mbi a el cl asspath dej ava, para que reconosca el archi voj ar conl ai nterfaces, yl os
archi vos del servi dor.
CLASSPATH=/ho me/cvasquez/el o330/r mi: /pub/WWW/cl ases/src. calcul o.jar
A conti nuaci ón se compil a el servi dor:
javac src/server/MotorCalcul o.java
Se creanl os Stubs y Skel eton. En estecaso, sol ose genera un STUB para el cliente, debi do a
que el servi dor nol o necesita. Yse copi a al servi dor web, para que el cliente pueda acceder
a el.
r mi c -d. src. server. MotorCal cul o
mkdi r /pub/ WWW/cl ases/src
mkdi r /pub/ WWW/cl ases/src/server
cp src/server/Mot orCalculo_*. class /pub/ WWW/clases/src/server/
Fi nal mente se extrae el archi voj ar para que sea accedi do por el Cliente una vez ej ecutado
el progra ma.
cd /pub/ WWW/cl ases/
jar xvf src. calcul o.jar
En El Cliente:
Lo pri mero que se hace, es descargar el archi vo j ar: src. calcul o.jar del WebServer sel
servi dor, al WebServer del cliente.
Luego se agrega al classpath, tanto el archi vo reciendescargado como el pathde trabaj o.
CLASSPATH=/ho me/al m2000/cvasquez/el o330/rmi:
/home/al m2000/cvasquez/ WWW/cl ases/src. calcul o.jar
Fi nal mente se compila el Cliente, y se dej ala clase que utilizará el servi dor al WebServer.
cd /home/al m2000/cvasquez/el o330/r mi
javac src/cliente/testSumatoria.java
javac -d /home/al m2000/cvasquez/ WWW/cl ases src/cliente/calcul oSumatori a.java
EJ ECUCI ON
En El Servi dor
Lo pri mero que hay que hacer es correr l a aplicaci on "policytool" de J AVA, y crear l as
politicas de seguri dad, y dej arlas en al gun archi vo en el directori o del progra ma (tanto
para el server como para el cliente):
grant
{
per mi ssi onjava. net. SocketPer mi ssi on "*: 1024- 65535", "accept, connect, listen, resol ve";
per mi ssi onjava. net. SocketPer mi ssi on "*: 80", "connect";
per mi ssi onjava.io. FilePer mi ssi on "<>", "read";
};
Luego hay que baj ar el CLASSPATH con (UNI X):
CLASSPATH=
A conti nuaci on hay que abrir el registro RMI para poder registrar el servidor. Se puede
omitir el puerto, en cuyo caso, al puerto por omi si on sera el 1099.
r mi registry [PUERTO] &
Se actualiza el classpath para que encuentre los archi vos del servi dor web.
CLASSPATH=/ho me/cvasquez/el o330/r mi: /pub/WWW/cl ases/src. calcul o.jar
Ahora, se puede levantar el servi dor
java - Dj ava. r mi. server. codebase=http: //200. 1. 27. 172/cl ases/
-Dj ava. security. policy=java. policy
src. server. MotorCalculo 200. 1. 27. 172 12345
En el Cliente
Realizar el mis mo paso de la politica de seguri dad realizada para el servi dor.
En el cliente se actualiza el classpath.
CLASSPATH=/ho me/al m2000/cvasquez/el o330/rmi:
/home/al m2000/cvasquez/ WWW/cl ases/src. calcul o.jar
Ahora hay que correr el progra ma cliente y listo. Esto se puede hacer desde el directori o
de este archi vo, conla sentenci a:
java - Dj ava. r mi. server. codebase=http: //al umnos. elo. utfs m. cl /~cvasquez/cl ases/
-Dj ava. security. policy=java. policy
src. cliente.testSumat oria 200. 1. 27. 172 12345 145
Bi bli ografia:
"Re mote Met hodI nvocationI nici o". Oracl e Technol ogy Net work para desarrolladores de
Java. Redwood Shores, CA, EE. UU.: Oracl e Corporation. Consultado el 14/07/2014.
El t utorial deJ ava RMI - un buen punto de parti da para aprender RMI. Ta mbi én puedes ver
el Hol a Mundo en RMI
lafor maci ón enlínea de Java RMI - Muy bueno para for maci ónJavaRMI y como referenci a
La pági na de RMI enla documentaci ón de J DK

Rmi

  • 1.
    UNI VERSI DADREGI ONAL AUTÓNOMA DE LOS ANDES ‘‘ UNI ANDES’’ TEMA DEL DOCUMENTO: ¿QUÉ ES EL RMI ? ESTUDI ANTE: J ONATHAN I SRAEL SALGUERO FLORES. DOCENTE: BERNABÉ ORTEGA 2015 Puyo-Pastaza
  • 2.
    ¿Qué es RMI? RMIes un paquete de J AVA que per mite manej ar obj etos (y sus respectivos mét odos) de manera re mota, para utilizar l os recursos de un servi dor de manera transparente para el usuari olocal. La manera en que RMI (y RPC en general) l ogra hacer esto, es por medi o de l o que se conoce como STUBs. En el caso del STUBservi dor, se conoce como SKELETON. Estos St ubs y Skel etons per miten que al mo ment o de ser i nvocada l a f unci ón re mota esta pueda ser "si mul ada l ocal mente" Paral acomuni caci ónentre el servi dor y el cliente, setrabaj aconi nterfaces, que debenser i mpl e mentadas por el servi dor y/o cliente, para que l os STUBs puedan realizar l a transparencia para a mbos. Ade más esto evita que deba existir una defi nici ónl ocal real de la cl ase re mota, val e decir, en el cliente sol o debe estar defi ni da l a i nterface, no l a cl ase re mota. Otro punto i mportante en RMI, es el cómo se produce l a conectivi dad entre el cliente y servi dor. Para esto se ocupa una herra mi enta de J AVA, llamada RMI Registry. El RMI Registry puede estar l ocalizado en un l ugar disti nto al servi dor, y se encarga de registrar un deter mi nado obj eto y asi gnarl e un servi dor que se encargará de procesar di cho obj eto. El funci ona mi ento general es: 1. Se ejecuta el RMI Registry, en algúnl ugar de la red. 2. El servi dor que desea manej ar un obj eto, se registra en dicho servi dor, 3. El RMI Registry registra el par: OBJ ETO/SERVI DOR 4. El cliente que necesita utilizar un deter mi nado obj eto, hace una consulta al RMI Registry, qui en devuel ve el STUBlisto para la comunicaci ón Estoes, a grandes rasgos, lo más i ndispensabl e que se debe saber al a hora de utilizar RMI. Se puede prof undi zar mucho más sobre el te ma, enl a pági na oficial de J AVA, en donde se pueden encontrar mas eje mpl os sobre el te ma, en la API se encuentrant odosl os mét odos y clases del paquete RMI, y enInternet. RMI Ventaj as Es REALMENTE fácil de usar si ya se conoce J AVA.
  • 3.
    Portabl e através de pl atafor mas con soporte J AVA. Baj o costo al convertir sistema existente. Soporta paso de obj etos por referencia y/o val or. Desventaj as A veces, no es tani ntuitivo. No soportado por otros lenguaj es Di s mi nuye el rendi mi ento con el creci mi ento del sistema La utilidad del RMI es poder ej ecutar f unci ones en otro ordenador , interesante si quere mos por ej empl o hacer cálcul os dentro de un progra ma y nuestro cliente no es l o suficiente potente, pues medi ante RMI accederíamos a l os obj etos necesari os que resi dirían en un ordenador más potente y t odo como si estuvi esen nuestro propi o ordenador. La i nterfaz RMI decl ara cual es de estos mét odos son accesi bl es desde otras J ava Virtual Machi nes (J VM). Necesitamos crear el si gui ente escenari o para poder trabaj ar con RMI: Un interfaz que i ndi que qué f unci ones son accesi bles, un obj eto que i mpl emente di chas funci ones, un servi dor que dé de alta a l a i nterfaz y un cliente que acceda a l a i nterfaz re mota mente. Existen varias regl as que debeni mpl e mentarse para funci onar correctamente:  La i nterfaz remota debe de clararse "public"  El cliente debe poder cargar el obj eto re mot o que i mpl e mental ai nterfaz remot a, sol o puede accederse si es public.  La i nterfaz remota debe extender lainterfaz java. rmi. Re mote  Al defi nir l a i nterfaz esta debe ter mi nar con un extends j ava. r mi. Re mote, pues debe i mpl e mentar alainterfaz Re mote.  Los métodos deben decl arar java. r mi. Re moteException  En cada mét odo que se decl are en l a i nterfaz se añade throws java. r mi. Re moteExcepti on j unto conlas excepci ones que quera mos.  Ti pos de val ores serializarles.
  • 4.
     Todos los ti pos que se pasan como argumento o se retornan deben ser Serializabl es o heredar de clases serializarles. Ej e mpl o: RMI v/s TCP/IP El si gui ente ej empl otiene como obj eto ser una pequeña i ntroducci ón a RMI, tratando un probl e ma común y corriente, de dos maneras disti ntas, con una aplicaci ón cliente/servi dor usando TCP/I P y con RMI. El Probl ema El probl ema consiste en calcul ar l a suma de t odos los números enteros desde 1 hasta un numero pasado como pará metro, para ell ose utiliza una f or mul atrivial. La tarea debe ser realizada re mota mente, por un servi dor, que atenderál as consultas, realizará el cálcul o, y luego devol verá la sol uci ón. Ade más, debe tener un registro de t odas l as operaci ones realizadas, para responder inmedi ata mente, si ncalcular, cuando se realice una consulta repeti da. Cliente/Servi dor La i dea de esta sol uci ón es crear un servi dor mul ti hil os, como l os vistos en cl ases, que atienda l as petici ones de múlti pl es usuari os. A conti nuaci ón se muestra el di agra ma de cl ases de la sol uci ón. El funci ona mi ento a grandes rasgos es: oEl servi dor parte y crea un obj eto del ti po Tabla el cual se encargará de guardar l os cálcul os realizados. oLuego queda escuchando conexi ones en un deter minado puerto oCuando ll ega una conexi ón, se crea un obj eto Hil os, que i mpl e menta l a i nterface Runnabl e, se pasa la referenci a al obj eto Tabl a y se echa a correr el Thread. oLuego se escucha la petición del cliente, se busca en la tabl a (por si ya fue calcul ado) oSe procesa (con un método de Tabl a) oSe guarda el resultado en un atri buto de Tabl a oFi nal mente, se devuel ve la respuesta al cliente Se utilizóla clase HashMap para guardar los resultados. Co mo se puede ver no es mucho l o que difiere este progra ma de l os ya vistos en clase.
  • 5.
    CODI GOS: Cliente.javaServi dor.java Hil os.java Tabl a.java DOCUMENTACI ON: javadoc RMI Para se segunda sol uci ón, se utilizó RMI (si no, no tendrí a gracia estar exponi endo). La idea es utilizar l as ventajas de RMI, para hacer que el servi dor utilice su propi a CPU para utilizar los métodos i mpl ementados enla clase del obj eto cliente. A conti nuaci ón se presenta el diagra ma de clases de la sol uci ón RMI: Co mo se explicó anterior mente, el cliente y el servi dor j a más trabaj an con l as i mpl e mentaci ones re motas, si no que, tienen que trabaj ar y comuni carse por medi o de interfaces. Se puede apreciar en el diagra ma, que existen dos i nterfaces: Cal cul o y Proceso. Asi co mo, Mot or Calcul o Hereda de Cal cul o, mi entras que calcul oSumatoria hereda de Proceso. El funci ona mi ento a grandes rasgos es: El servi dor ( MotorCalcul o) se registra en RMI Registry guardando su direcci on. El cliente que necesite hacer un calcul o, consulta al RMI Registry, en busca del obj eto deseado. Si existe, le es devuelta una i nstanci a de MotorCalcul o. Luego crea un obj eto: Proceso t =(Proceso) calcul oSumat oria(i nt n); Con estas dos i nstanci as, se ej ecuta el metodo i nt ej ecutarProceso(Procesot) de l a cl ase Mot orCalcul o. El servi dor reci be un obj eto Proceso, que enreali dad es unai nstanci a de calcul oSumat ori a y comi enza a ej ecutar l os met odos de calcul oSumatoria en el servi dor, pese a que es una cl ase en el cliente!!! Una vez que el calcul o es realizado, el servi dor devuel ve un entero como resultado del met odo ejecutarProceso(Proceso t). Una del asi deas pri nci pales de r mi, esl a de poder separarl asfases de desarroll o, en base a esto, nace l a i dea de dejar l as cl ases de obj etos re mot os disponi bl es para cada l ado (servi dor y/o cliente), a traves de un WebServer. La i dea general se presenta en el sigui ente diagra ma:
  • 6.
    Enl a sección de descargas se encuentran a mbos progra mas compri mi dos con un archi vo de texto que i ndica como compil ar y ej ecutar. El pri mer progra ma se ej ecuta de manera nor mal, mi entras que para el segundo se deben seguir un par de pasos más compl ej os. Estánt odos debi da mente explicados enl os l ee me. txt correspondi entes. Aconti nuaci ón se muestranl os pasos para compil ar y ejecutar el código: COMPI LACI ON: En El Servi dor Lo pri mero que se hace es compil ar l as i nterfaces, y crear un archi vo un archi voj ar, para facilitar el traspaso de i nfor maci ón. cd /home/cvasquez/el o330/r mi / javac src/calcul o/Calcul o.java javac src/calcul o/Proceso.java jar cvf src. calcul o.jar src/calcul o/*. class Luego, se mueve el archivo j ar recien creado hacia el servi dor web, para que pueda ser descargado por el/l os cliente/s. mv src. calcul o.jar /pub/WWW/cl ases/ Luego, ca mbi a el cl asspath dej ava, para que reconosca el archi voj ar conl ai nterfaces, yl os archi vos del servi dor. CLASSPATH=/ho me/cvasquez/el o330/r mi: /pub/WWW/cl ases/src. calcul o.jar A conti nuaci ón se compil a el servi dor: javac src/server/MotorCalcul o.java Se creanl os Stubs y Skel eton. En estecaso, sol ose genera un STUB para el cliente, debi do a que el servi dor nol o necesita. Yse copi a al servi dor web, para que el cliente pueda acceder a el. r mi c -d. src. server. MotorCal cul o mkdi r /pub/ WWW/cl ases/src mkdi r /pub/ WWW/cl ases/src/server cp src/server/Mot orCalculo_*. class /pub/ WWW/clases/src/server/ Fi nal mente se extrae el archi voj ar para que sea accedi do por el Cliente una vez ej ecutado el progra ma. cd /pub/ WWW/cl ases/ jar xvf src. calcul o.jar En El Cliente:
  • 7.
    Lo pri meroque se hace, es descargar el archi vo j ar: src. calcul o.jar del WebServer sel servi dor, al WebServer del cliente. Luego se agrega al classpath, tanto el archi vo reciendescargado como el pathde trabaj o. CLASSPATH=/ho me/al m2000/cvasquez/el o330/rmi: /home/al m2000/cvasquez/ WWW/cl ases/src. calcul o.jar Fi nal mente se compila el Cliente, y se dej ala clase que utilizará el servi dor al WebServer. cd /home/al m2000/cvasquez/el o330/r mi javac src/cliente/testSumatoria.java javac -d /home/al m2000/cvasquez/ WWW/cl ases src/cliente/calcul oSumatori a.java EJ ECUCI ON En El Servi dor Lo pri mero que hay que hacer es correr l a aplicaci on "policytool" de J AVA, y crear l as politicas de seguri dad, y dej arlas en al gun archi vo en el directori o del progra ma (tanto para el server como para el cliente): grant { per mi ssi onjava. net. SocketPer mi ssi on "*: 1024- 65535", "accept, connect, listen, resol ve"; per mi ssi onjava. net. SocketPer mi ssi on "*: 80", "connect"; per mi ssi onjava.io. FilePer mi ssi on "<>", "read"; }; Luego hay que baj ar el CLASSPATH con (UNI X): CLASSPATH= A conti nuaci on hay que abrir el registro RMI para poder registrar el servidor. Se puede omitir el puerto, en cuyo caso, al puerto por omi si on sera el 1099. r mi registry [PUERTO] & Se actualiza el classpath para que encuentre los archi vos del servi dor web. CLASSPATH=/ho me/cvasquez/el o330/r mi: /pub/WWW/cl ases/src. calcul o.jar Ahora, se puede levantar el servi dor java - Dj ava. r mi. server. codebase=http: //200. 1. 27. 172/cl ases/ -Dj ava. security. policy=java. policy src. server. MotorCalculo 200. 1. 27. 172 12345 En el Cliente Realizar el mis mo paso de la politica de seguri dad realizada para el servi dor. En el cliente se actualiza el classpath. CLASSPATH=/ho me/al m2000/cvasquez/el o330/rmi: /home/al m2000/cvasquez/ WWW/cl ases/src. calcul o.jar Ahora hay que correr el progra ma cliente y listo. Esto se puede hacer desde el directori o de este archi vo, conla sentenci a: java - Dj ava. r mi. server. codebase=http: //al umnos. elo. utfs m. cl /~cvasquez/cl ases/ -Dj ava. security. policy=java. policy src. cliente.testSumat oria 200. 1. 27. 172 12345 145 Bi bli ografia: "Re mote Met hodI nvocationI nici o". Oracl e Technol ogy Net work para desarrolladores de Java. Redwood Shores, CA, EE. UU.: Oracl e Corporation. Consultado el 14/07/2014.
  • 8.
    El t utorialdeJ ava RMI - un buen punto de parti da para aprender RMI. Ta mbi én puedes ver el Hol a Mundo en RMI lafor maci ón enlínea de Java RMI - Muy bueno para for maci ónJavaRMI y como referenci a La pági na de RMI enla documentaci ón de J DK