This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
Sai, Ok, here's one: Design and construct a simple database (use Access, mySQL, or InstantDB) representing some schema that interests you, like your book collection. Build a Java class that exposes methods to query and update the database. This class will use JDBC to communicate with the database, and it should be thread-safe. There will only be one instance of it, but it will handle requests from multiple clients. Create an interface that extends Remote. The methods in that interface will be called by clients to access your database server. Create a class to implement the methods of this interface; the methods of this class will call those of the DB class. This is your server-side client proxy class; there will be one instance of it per client. Finally, create an interface and implementing class that starts the DB class and has a factory method to create instances of the client proxy. This class will register itself with the RMI registry, so clients can find it. Your server is done. Now build a client application (or applet, but an application is easier) that looks up the main server class in the registry and gets a remote reference to a server-side client proxy, and provides an interface (doesn't have to be a GUI, text-based is fine) to the server methods. Turn in your work next Friday. Just kidding, this is a large project. If you're serious about completing something like this, you might as well go for Sun's Developer certification, although it doesn't include the JDBC part. Enjoy, Jerry