aspose file tools*
The moose likes Developer Certification (SCJD/OCMJD) and the fly likes Passed with a 142 Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Java 8 in Action this week in the Java 8 forum!
JavaRanch » Java Forums » Certification » Developer Certification (SCJD/OCMJD)
Bookmark "Passed with a 142" Watch "Passed with a 142" New topic
Author

Passed with a 142

Douglas Kent
Ranch Hand

Joined: Oct 06, 2000
Posts: 171
The stats: General Considerations(maximum = 58): 51 Documentation(maximum = 20): 20 GUI(maximum = 24): 24 Server(maximum = 53): 47
Some notes:
I did modify the signature of "lock()" and "unlock()" to enable identification of the locking client.
Used RMI, with very server simple basic design...did create a SecurityManager with a security file provided. I trusted the clients to be good citizens and perform locking, because it is to their advantage to do so. Kept the GUI very minimalist, only implementing booking and flight lookup operations. The GUI was engineered to not know if it was local or remote thru use of what I called the FlightBroker object, which held the info on whether it was local or remote, and made appropriate calls on Data methods.
Good luck!
narayanveeramani
Greenhorn

Joined: Jun 01, 2001
Posts: 5
Hi Douglas,
Congratulations!
I had a question. When your client application is invoked using java command, do u provide information using Command Line Runtime parameters regarding whether the database is local or not?
Is it of the format
"java <client App> <flag indicating remote/local db> <DNS Name> <port No> <directory where the db.db file resides>"
thanks,
narayan
Douglas Kent
Ranch Hand

Joined: Oct 06, 2000
Posts: 171
I had the application, on invocation, put up a panel that asked the user whether they wanted to use remote local database...this choice was then passed on to the construction of the "FlightBroker" object...
ruilin yang
Ranch Hand

Joined: Feb 25, 2001
Posts: 334
Douglas,
Congradulations! That is great job! Very good design.
I would like to know how you did the documentation. 1) How many files and what covered each ? 2) What editor you used for those docs except for javadoc documents (as html) ?
How many copies of db.db ?
Thanks in advance.
Ruilin Yang
Douglas Kent
Ranch Hand

Joined: Oct 06, 2000
Posts: 171
Also, as an addendum, let me say a great big "thanks" to all the folks patiently replying to my posts...it made things much clearer as I waded my way thru the SCJD...
Now, as to the documentation, let me just say I followed directions as precisely as I could. I generated the javadoc on all my code and inspected to make sure that it made sense. For the User Guide, I used Acrobat PDF format, which was accepted with nary a murmer. I had minimal online documentation, and did put in tooltips for the various buttons. One copy of db.db...
Regards...
narayanveeramani
Greenhorn

Joined: Jun 01, 2001
Posts: 5
hey Douglas,
Thanks for your reply. Can you please answer one more question.
The exam requires a Data Client class implementing the
same public methods as the db.Data class. Do they mean
including a common interface/super class for the remote
and the local db.Data classes?
thanks,
narayan
ruilin yang
Ranch Hand

Joined: Feb 25, 2001
Posts: 334
Thanks Douglas for you inf.
shailesh sonavadekar
Ranch Hand

Joined: Oct 12, 2000
Posts: 1874
Congratulations. That is great score. Can you please put your experiences & study methods , in more details for the benefits of the other javaranchers.
Great. Do hang around & help other javaranchers.
Going for SEJEA now ?
Your Friendly Bartender
Shailesh.
Rahul Mahindrakar
Ranch Hand

Joined: Jul 28, 2000
Posts: 1836
Congrats Douglas
Douglas Kent
Ranch Hand

Joined: Oct 06, 2000
Posts: 171
Naravan...your question about the superclass: I "hid" the various public methods of the Data class in a my client "FlightBroker" class. The GUI client is only interested in logical operations, not with the specifics of how to do it, and whether the data is local or remote. So my FlightBroker implemented the public Data methods as directed by Sun.
Regards,
Doug
Douglas Kent
Ranch Hand

Joined: Oct 06, 2000
Posts: 171
Re going for SCJA...still thinking about it. In the meantime, I'm going for Oracle DBA, just for fun.
Rick Fortier
Ranch Hand

Joined: Jun 04, 2001
Posts: 147
Originally posted by Douglas Kent:
Naravan...your question about the superclass: I "hid" the various public methods of the Data class in a my client "FlightBroker" class. The GUI client is only interested in logical operations, not with the specifics of how to do it, and whether the data is local or remote. So my FlightBroker implemented the public Data methods as directed by Sun.
Regards,
Doug


I think I am on the right road then. The Data class should not extend Remote, but I need to create a server class that contains all of the public methods. This server class will register the interface in the JVM, and then server as a proxy to the real Data object. Is this correct? Or am I missing it badly?
Then the on the client side, I can use a Factory pattern (your FlightBroker) to instantiate either the real Data class (which talks directly with the file) or instantiate the RMI client stub. Is this basically how you did it?
Conor Allen
Ranch Hand

Joined: Apr 27, 2001
Posts: 32
Douglas,
Did your FlightBroker class implement the public methods of the Data class or did it use them to perform the logical operations on the Data class?
Regards
Conor
Douglas Kent
Ranch Hand

Joined: Oct 06, 2000
Posts: 171
Exactly. The client object FlightBroker instantiated a remote object (for RMI) which wrapped the server Data object. This avoided the problems of having to make the Data class extend UnicastRemoteObject. The FlightBroker used the methods of the Data object to perform the logic of booking a seat, among other things.
Regards...
Conor Allen
Ranch Hand

Joined: Apr 27, 2001
Posts: 32
Still noy 100% clear here - The flight broker was the remote object (from rmi perspective) and it just had methods like bookFlight() and findFlights() and did not provide access to the actual public methods of the Data class?
If this was the case did this not break the requirement to provide all the public methods of the Data class to the client?
Hopefully this is not a stupid question .....
Conor
Douglas Kent
Ranch Hand

Joined: Oct 06, 2000
Posts: 171
I guess the reviewers considered the fact that the client FlightBroker had access to all the public methods of the Data class, even though it did not use them, it was correct. In my design, I could not have the client worry about whether the database was local or remote--that was the job of the FlightBroker. Similarly, I did not want the client GUI to worry about business logic; ie, exactly how do you go about booking a flight? Do you lock the whole database prior to your search to ensure that the records you retrieve will be available? (I did) So I put all business logic in FlightBroker, wrapping up the public methods of the Data class in a call by the client GUI to "bookSeats()". Hope this helps...I'm sure the reviewers will consider a wide range of solutions, as long as you explain your design choices...
Conor Allen
Ranch Hand

Joined: Apr 27, 2001
Posts: 32
Thanks for your reply ...
Conor
David Reck
Ranch Hand

Joined: May 25, 2001
Posts: 37
Douglas,
Wanted to see if you could answer one more question for me. I am debating weather or not to use a JComboBox for the origin and destination search fields on the GUI. I saw in your message you said you used a minimalist approach on the GUI. Does this mean you just used text boxes?
Thanks,
David
Douglas Kent
Ranch Hand

Joined: Oct 06, 2000
Posts: 171
I implemented the minimum, exactly as called for in the instructions, so, for instance, did not implement an "un-book" capability. I did use a JComboBox, and in fact made it somewhat "fancy" in that when the GUI was constructed, I made a call the the database to get all current flights, and aiports, in alphabetical order. These were all then available in the drop-down list for origin, destination, and flight comboboxes. I made the comboboxes editable, but did not implement any case conversion.
Regards,
Doug Kent+
Karl Fu
Ranch Hand

Joined: Mar 26, 2001
Posts: 41
Hi Kent,
just wanta ask you question on lock and unlock ? Did you track clientID and modify the lock and unlock signature ? I am so lost in tracking the ClientID .

Thanks
Karl
Karl Fu
Ranch Hand

Joined: Mar 26, 2001
Posts: 41
..sorry folks..didn't read carefully
Answer already been addressed.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Passed with a 142
 
Similar Threads
Passed - 151
Passed with 148 / 155
Passed 151/155
Passed!
finally, got score 141/155 not bad!