Hello, First of all, thank you in this website who shared their knowledge and experience. Though this assignment is a bit difficult at the start, but you will find it worth-taking as an excerise. I am so lucky, I only need to wait 3 days for they release my result. Comment: This report shows the total points that could have been awarded in each section and the actual number of points you were awarded. This is provided to give you per-section feedback on your strengths. The maximum possible # of points is 155; the minimum to pass is 124. General Considerations(maximum = 58): 57 Documentation(maximum = 20): 20 GUI(maximum = 24): 21 Server(maximum = 53): 51 Below are some of my design choice: 1. Modify Data class as it is easier. 2. Using RMI 3. Use LockManager for record locking 4. I am now sure if my Swing components are MVC or not. I make a new class called FlightTableModel which extends AbstractTableModel for the JTable. Use combo box for the criteria. Very simple layout, top left for search panel, top right for flight booking, center for the JTable and bottom for the status panel. 5. Server GUI, which has "Suspend" and "Resume" button (lock(-1) & unlock(-1) ). 6. A status panel at the bottom of server to show the db status, like searching, locking,... using custom made event object and listener. Hope the above will inspire some bright idea. Finally, thanks again for all the valuable suggestion and experience in this website. Richard
Congrats Richard. Can u provide me answer to my quries: 1. Did you implement Client Tracking system? if not, how did you manage to unlock a record if the caller doesn't have the lock for that record? 2. Where did you implement the booking logic client side or server side? Thanks with regards, Manish
Hi Manish, Actually, I changed the signature for lock and unlock as lock(int recno, UID uid) where uid is an instance of java.rmi.server.UID passed to LockManager by the DataAccessFacade. So, LockManager will know who are going to unlock the record. Also, I create DataAccessFacade class for bookFlight and searchFlight operation. Thanks, Richard
Hi Manish, I think the best RMI tutorial to start with is the java tutorial In this tutorial, it shows you all the fundamentals of rmi programming. Also it demonstrates the dynamic loading (using codebase) and RmiSecurityManager which is no need in this assignment. Another interesting and useful reference is the BINGO game example. Both Data and RemoteData class implement DataInterface. I actually change the lock signature in DataInferface which forces both Data and RemoteData to alter their lock signature.