David Reck

Ranch Hand
+ Follow
since May 25, 2001
Merit badge: grant badges
For More
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by David Reck

Wanted to know if anyone here had taken the IBM XML certification? If so was there any/many questions on XSL? If so can you recommend a good resource for brushing up on the topic?
Peter may be correct, I don't know. The only thing I have to go by is the fact that I passed. I did loose 4 points on my server design and maybe that was why.
David
(1) Did you have the only .class files inside the Server.jar Client.jar?
Yes, I only had class files in the jars. I included the java files outside the two application jar files.
(2) Where did you place the Data.class files
I left the Data.class file in the db package along with all of the other files provided for the exam.
(3) Where did you place the source, class & doc files of Data, DataServer Implementation & the Data Client Implementation?
I put the documentation, javadoc set, and java files in the main jar file that also contained my Server.jar and Client.jar
(4) Did you have any nested .jar files ?
Yes, see answer above.
(5) This question is not about jar files. The Data class constructor alone throws IOEXception, but all other punlic method throws DatabaseException. Can we make it throw DatabaseException? How did you handled it?
I suppose you can make it throw a DatabaseException but I left it as it was.
(6) The delete() method does not check for any validation(file exist or not), but some other validation are done in add() & modify() methods. Do we need to check whether the record actually exists before setting it as DELETED_RECORD ?
I did not make any changes to the methods listed above.
did u implemented RMI call back for real time update?
No, I didn't and there is no requirement that you have to.
you said "I used a Vector but other than that mine was very similar to your current locking scheme...."
Do you mean to say vector is Syncronised ?

A Vector is syncronized and I did my lock and unlock methods in syncronized blocks like you described in your initial message.
If you are running both the server and client on the same pc you can use the 127.0.0.1 as the ip address. If they are running on seperate pc's on the same lan just find out the ip address of the server machine and make sure you can ping it from the client.
Devu Shah
HashMaps are not sycnronized. I would recommend using another object that is or you will have to do something like Collections.synchronizedMap(new HashMap());. I used a Vector but other than that mine was very similar to your current locking scheme.
Andras Nemeth & Swami nathan
Thanks
I would recommend including a policy file that grants writes to everything so the tester does not decide to use one of there own policy files that is too restrictive.
Did you place the db.db file too in the jar file
No, I only placed class files and that one html file in my client jar. The database location was passed in as an application parameter.
And, How abt the jar files. You had any server.jar, client.jar, db.jar, fbn.jar, etc
I had three jar files
FBN.jar that contained all of my jar files, javadoc files, and java files
Client.jar an executible jar for the client application
Server.jar an executible jar for the server application
(1) Did you simulate current clients for load testing the RMI Application?
No, I used some of the people in my office for testing. I also added some sleep commands in the method making the bookings to make sure the would be attempting to access the same database record at the same time.
(2) How you implemented the online help?
I created a html file and included it in my client jar file. I used a JEditorPane to display the html file in. I didn't have to hard code any paths because the file is guaranted to be in the jar file.
(3) Will be lock be blocked for new requests, when the client that locked the records crashes without unlocking the record?
If the client crashes and it holds a lock that record will remained locked until the server is restarted. They didn't say it had to be production level just functional.
(4) And, Can you give us few tips on writing the readme, desing and other documents.
The readme file is pretty simple. It was a bit long just because I gave detailed instructions on running the program and listing each file submitted with a description. I had a total of nine points I disucssed in my design doc including RMI, Locking Scheme, Modyfing Data, Exception Handling, GUI Design, Event Handling and a couple of other small things.

(1) How did u fill the Origin & Destination Combobox.

I created a method in the data class that returns an array of strings with all of the unique values from a column specified as a parameter. I called this method from a middle layer I created seperate from the GUI. Then passed the array of strings in as a parameter for the JComboBoxes

(2) The Java documemtation in the given class files are not complete. Should we make chnages to them?

I modified all of the JavaDoc comments supplied in the db package to follow my standard format

[This message has been edited by David Reck (edited August 01, 2001).]
What did you do about locking, Data - modify or extend, RMI or Sockets
I created a very simple locking method that does not tracking client ids and stores locks in a Vector. I modified the Data class. I choose RMI because it was easier to implement and maintain. I did nothing for timeouts or automatic downloading of stubs. I did create an executible jar file and online help. I handled the database mode selection through an input parameter.
From what I listed above you can probably tell I used a very simplistic design. My goal was to just fullfill the requirements and nothing more. I did spend a lot of time testing. Let me know if you have any more detailed questions.
Just wanted to thank everyone at the JavaRanch. Not sure if I could have completed it with out everyones help. I know it would have taken me twice as long. I received the score on the website a week after taking the essay exam. Here is the score breakdown:
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): 58
Documentation (maximum = 20): 20
GUI (maximum = 24): 23
Server (maximum = 53): 49
There is no time limit on the assignment.
I would recommend JBuilder from Borland. It has a free version you can download from the Internet. The display is easy to pick up and the debugger is pretty powerful.
So if I am planning on working with version 4 then I shouldn't have to take any training specific to WebSphere?
22 years ago