Hello Everybody: I saw today I passed SCJD after a long 34 days. Following are the details. Test: Sun Certified Developer for the Java 2 Platform (310-027) Date Taken: 2002-03-22 18:07:18.170 Registration Number: h50dtt00fb Site: mi2 Grade: P Score: 140 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): 49 Ouch! Documentation(maximum = 20): 20 GUI(maximum = 24): 22 Server(maximum = 53): 49 I do not know how the examiner graded SCJD. I think I had super GUI, OK Server. I had sloppy documentation but HEY, the grader seemed to like it. I thought I had great General considerations super GUI but the grader had different thoughts. Oh Well, I passed. Thanks to everybody for helping me. I will be around if you have any question. -Bal
Congrats Bal. That's a terrific score. I guess you know that it's pretty much mandatory around here for you to show the rest of us some of your design decisions. I would be particularly interested in your server design since you did so well (49/53) there. Congrats again and thanks for any help you give use. Michael Morris
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius - and a lot of courage - to move in the opposite direction. - Ernst F. Schumacher
Thank you Krishna, Roman, Michale, Kalichar, and Enrico. I am late to response. Here is my design choices: First of all I made three package for this project as follows. I. suncertify.db II. suncertify.server III. suncertify.client I created new DataInterface that has all the methods except lock and unlock method. suncertify.db package contained this DataInterface. DataInterface can throw DatabaseException and Exception. It does not throw RemoteException; however it extends Remote. The RemoteException has been intentionally excluded from this interface because running the program in the local mode does not require to throw RemoteException. I felt throwing generic 'Exception'is enough in this situation. Data class implements DataInterface. The Data class provides services for the local database. I felt there will not be a situation where two clients can concurrently access the local database while the program is running in local mode. Therefore the sequence methods of lock, read, modify, and unlock are not necessary in the Data class. The methods lock and unlock have been excluded from the Data class. I mean, I deleted both of them from Data class. The balance of the Java files included have not been changed and are as supplied by Sun in this package. My money $400.00 and my project whatever I feel reasonable I can do it right! suncertify.server package contained RemoteDataInterface, RemoteData, and FlightReservationServer class. The RemoteDataInterface file extends suncertify.db.DataInterface. The Main objective of this interface is to provide the basic services for RemoteData Object. RemoteDataInterface inherits all those behaviors from DataInterface and adds new special functionality of lock, unlock and lockRecordOrDataBase to render remote services. So, I had only three methods lock, unlock, and lockRecordOrDataBase methods in this interface. The RemoteData class extends the java.rmi.server.UnicastRemoteObject and implements the RemoteDataInterface. The FlightReservationServer class registers remote services. The client uses local host and port 1099 to access the SERVER services. suncertify.client package contained DataTableModel, HelpViewer, and FlightReservationClient class. The DataTableModel file extends the javax.swing.table.AbstractTableModel to provide the basic features of the JTable. HelpViewer class is for display the online user help. FlightReservationClient class has main role in this package. The FlightReservationClient class has two overloaded constructors. One constructor has no parameters, and the other accepts a string parameter. The empty parameter constructor prompts the input dialog box for the database location. If the database exists, it instantiates a Data class object, calls the makeGUI method to make the GUI screen. Otherwise, display message on command line telling the user to check for the location of database file and then to rerun the program. The constructor that accepts a string parameter, first checks to determine if the user desires to run program on the remote mode. If the user enters 'Network' as a parameter, and if the server has already started, the server will be bound as the local host, and port 1099 will be committed. The command line will display the message "Connecting to FBN_Remote_Server successfully." The FlightReservationClient class calls the makeGUI method to make the GUI screen and displays "Running at NETWORK MODE ...." in the application window title bar indicating running status. Otherwise the command line will display an error message.
The makeGui method of FlightReservationClient class is responsible for making the GUI screen. This method uses an anonymous inner class for event handling and will call differnt methods to complete user requests. This makeGui method uses JMenubar, JMenu, and JMenuItem for the window menu functionality. That is it. Oh! I got to mention it, if some one has limitation. The following was my first line in README.txt file. The platform used for the development of this assignment is Windows Millennium [version 4.90.3000]. This application has been developed and tested in Windows Millennium and found to work properly in this environment. This environment has three drives, the C:\> hard drive, the E:\> Compact Disk drive, and the A:\> Floppy drive. This application has been written and tested in the C:\> drive. The developer student did not have access to another computer to launch and test this application to determine platform compatability.
What a chipo! I am. Am not I? Still hunting for a job and no Window NT, Window 2000 or Window XP. Good luck guys who are headed for certification. I wish you to get your summit for those already certifried. If anbody needs more clarification let me know. -Bal