A
Arttu Arstila
Hi! In my job I am starting a project where I should transform a
Java-based system into RMI platform. Even though I am somewhat familiar
with RMI principles, there are still some obscurities.
The system I'm working on has one Server application that is a normal
Java program. Then there are multiple instances of client applets
running on remote computers. The distribution is currently implemented
with ancient Voyager ORB. So although the architecture is fine, the
Voyager->RMI transition requires some rewriting.
Although I've done most of the rewriting, there is one thing that
puzzles me. There is a kind of remote event mechanism that allows server
and clients to communicate with each other. Some of the classes in
applet package implement some remote listener interfaces (those extend
java.rmi.Remote) in event package.
So in order to work with RMI, I should rewrite those client classes to
extend UnicastRemoteObject and make other adjustments for RMI
compliance. But how can it be that I have remote classes in client
package? Shouldn't client get all the remote objects as references from
the server over RMI? Where do this client-side remote objects register
themselves? My mental models just don't match, please clarify this to me
if you can.
Grateful for your help,
Arttu Arstila
Helsinki University of Technology, Finland
Java-based system into RMI platform. Even though I am somewhat familiar
with RMI principles, there are still some obscurities.
The system I'm working on has one Server application that is a normal
Java program. Then there are multiple instances of client applets
running on remote computers. The distribution is currently implemented
with ancient Voyager ORB. So although the architecture is fine, the
Voyager->RMI transition requires some rewriting.
Although I've done most of the rewriting, there is one thing that
puzzles me. There is a kind of remote event mechanism that allows server
and clients to communicate with each other. Some of the classes in
applet package implement some remote listener interfaces (those extend
java.rmi.Remote) in event package.
So in order to work with RMI, I should rewrite those client classes to
extend UnicastRemoteObject and make other adjustments for RMI
compliance. But how can it be that I have remote classes in client
package? Shouldn't client get all the remote objects as references from
the server over RMI? Where do this client-side remote objects register
themselves? My mental models just don't match, please clarify this to me
if you can.
Grateful for your help,
Arttu Arstila
Helsinki University of Technology, Finland