Task 1
Define and compile the TimeMonitor interface.
Create the interface TimeMonitor, which has one method.
The method is called tellMeTheTime.
It accepts one parameter of type Date and returns void.
Remember that remote interfaces must extend java.rmi.Remote
and the all remote methods can throw
java.rmi.RemoteException.
Compile the file with the command:
javac TimeMonitor.java
Task 2
Define and compile the TimeServer interface.
Create the interface TimeServer, which has one method.
The method is called registerTimeMonitor.
It accepts one parameter of type TimeMonitor and returns void.
Remember that remote interfaces must extend java.rmi.Remote
and the all remote methods can throw
java.rmi.RemoteException.
Compile the file with the command:
javac TimerServer.java
Task 3
Complete the implementation for the method registerTimeMonitor in RMIServer.
The class RMIServer implements the TimeServer interface.
You will need to complete the implementation of registerTimeMonitor in
RMIServer.
Refer to the comments in the code file for guidance.
Task 4
Complete the definition of the class TimeTicker.
The class TimeTicker is defined inside the file
for RMIServer.
You will need to complete the implementation of this class by
adding a call to the tellMeTheTime method of the TimeMonitor
interface.
This is the call that performs the callback to the Applet.
Task 5
Compile the server, RMIServer and create the stub and skeleton files.
Use the javac utility to compile the RMIServer file.
javac RMIServer
Use the rmic utility with RMIServer.
rmic RMIServer
Notice that RMIServer implements the exported service.
Because RMIServer extends RMIServer it cannot also extend
UnicastRemoteObject.
Instead, RMIServer must make an explicit call
to UnicastRemoteObject.exportObject
before it can register itself with the Registry.
This call is normally made automatically in the constructor of UnicastRemoteObject.
Task 6
Prepare the Applet for execution.
The Applet code has been completed for you.
You should examine it to see how it implements the TimeMonitor
interface and prepares itself for use by RMI with a call
to UnicastRemoteObject.exportObject.
First you must compile it with the following command:
javac Applet1.java
Next, create the stub and skeleton files
with the rmic utility:
rmic Applet1
Task 7
Start the RMI Server in its own DOS console.
Run the class RMIServer with the java utility.
java RMIServer
Task 8
Start the Applet with the appletviewer.
Use the program appletviewer and execute the
Applet.html file.
This HTML file contains the commands to run Applet1.class.
appletviewer Applet.html