overview - sagioto/forum GitHub Wiki

about the code:

basically there are two runnable projects the client and the server, and the shared project contains classes that both projects have in their classpath, the remote invocation of methods is achieved by java rmi, you might recall from spl...

run:

this means in order to run two things should happen:

  1. on the server side host machine (could be the same as the client) you start rmiregistry

  2. the shared project jar is available to all the different jvm's that might participate, for that reason this jar is in my public dropbox folder and availble to all the actual url is defined as a system property in the start of both client and server run

fortunately I have written the scripts to start-client and start-server both for windows and linux so you can just double-click those

compile:

in order to compile you need to do few things:

  1. as dagan is the git expert you should ask him about pulling from the repository into your local workspace

  2. these projects are built using a tool called maven you have to install it in order to compile them maven is like a next-generation ant, it allows for a very easy dependency management (if you want to add jars to your classpath) install is simple, download and extract from here and the you need to add an environment variable, search the linked page for instructions I also recommend that you install the m2e plugin which allows for maven tasks to be executed from within eclipse you can now right-click a project and select run as.. maven build and it's built a jar is created under the target folder of the project, there's even a script to copy those into the dropbox folder, you'll need to change it's paths

  3. once you have maven installed and the projects on your hard drive, go to each of the project's base directory and type: mvn eclipse:eclipse, then you can import the project into eclipse

  4. notice that any changes to the shared project won't get into runtime unless the link decalerd at the start of client/server is pointing to the latest ForumShared.jar, also mvn install should be run from the ForumShared base directory since the client and server projects use the maven repository version to build from

still needs to be done:

in the client: connect console input to remote invocation

overall: check that the demands are met