File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Developer Certification (SCJD/OCMJD) and the fly likes Passed!!! 151/155 Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of EJB 3 in Action this week in the EJB and other Java EE Technologies forum!
JavaRanch » Java Forums » Certification » Developer Certification (SCJD/OCMJD)
Bookmark "Passed!!! 151/155" Watch "Passed!!! 151/155" New topic
Author

Passed!!! 151/155

Anonymous
Ranch Hand

Joined: Nov 22, 2008
Posts: 18944
At last, after serveral weeks of hard work, and postponing the assignment for taking care of other responsabilites, I made it!!! I want to thank everybody who collaborates here at JavaRanch... My detailed score was:
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): 22 Server(maximum = 53): 51
My design decisions were:
- Chose RMI over serialized objects over sockets.
- Modified Data Class instead of extending.
- Didn't modify lock/unlock signature.
- Implemented graceful shutdown.
- Implemented on the fly local/remote database switching.
- Relied on RMI distributed garbage collection for releasing stale locks.
- Used Factory, Decorator, Business Delegate, and Mediator patterns.
- Implemented two Remote interfaces: Database and DatabaseService.
- Provided online help.
- No Security Manager needed (although I did provide a policy file).
Thanks again for all your help!!!
Gennady Shapiro
Ranch Hand

Joined: Sep 25, 2001
Posts: 196
Great score!!!
Congrats!
Would you clearify a few points though?
- Implemented graceful shutdown.
You mean the client can issue a shot down command to the RMI server?if so why?
- Implemented two Remote interfaces: Database and DatabaseService.
Is DatabaseService for shot down and other admin tasks? If not what is it for?
- No Security Manager needed (although I did provide a policy file).
You mean you did not override the default RMISecurityManager and used the default, correct?
Thanks
Anonymous
Ranch Hand

Joined: Nov 22, 2008
Posts: 18944
- Implemented graceful shutdown.
You mean the client can issue a shot down command to the RMI server?if so why?

No, the client cannot issue a shot down to the RMI server (although the DatabaseService Remote interface exposes a shutdown() method). This method can only be called by executing my Server main class using a -s switch, ON THE SAME MACHINE THE SERVER WAS ORIGINALLY STARTED. In other words, you cannot shutdown the server remotely. This, in turn, locates the exported DatabaseService, unexports it together with any open client connections, and this makes the Server virtual machine to stop running.
- Implemented two Remote interfaces: Database and DatabaseService.
Is DatabaseService for shot down and other admin tasks? If not what is it for?

Database is the interface where I put all the public methods of the Data class. DatabaseService is the interface which I bind to the RMI Registry... Clients issue a lookup for this object, and then call a getDatabase() method, which returns a remote reference to a RemoteDatabase. In this way each client obtains a reference to a different RemoteDatabase (which is enough to identify clients uniquely for locking), which wraps a single local Data instance.
- No Security Manager needed (although I did provide a policy file).
You mean you did not override the default RMISecurityManager and used the default, correct?

I didn't have to set a SecurityManager as I didn't implement dynamic stub downloading. I did provide a policy file in case the default policy file found in the computer the assignment was deployed in granted less permissions than those needed (sockets and file permissions).
Hope this helps!!!
[This message has been edited by Benjam�n Amodio (edited October 11, 2001).]
[This message has been edited by Benjam�n Amodio (edited October 11, 2001).]
John Lee
Ranch Hand

Joined: Aug 05, 2001
Posts: 2545
Congratulation! Benjam�n
I was wondering what kind of essay questions did you get? Do you think essay is important in the entire process.
TIA
Don
scjp, scwcd
Taiqi Ran
Greenhorn

Joined: Sep 20, 2001
Posts: 6
Congratulation!!! Benjam�n
Can your help me? I had download my assignment two weeks.but I have some question about it. My design is :
DataInterface extends Remote (all public method throw RemoteException),
Data implements DataInterface(for local),
DataRemoteImpl extends UnicastRemoteObject implements DataInterface(for remote, Adapter to Data)
DataClient offer all function Factory to the remote(DataRemoteImple) and local(Data).
Am I right?
but I have a question that the assignm ask "The remote client code that you write must provide all the public methods of the suncertify.db.Data class. ", Need my DataClient to all public methods of the Data again, or not? it is very like DataRemoteImpl class.
Please give me some comments!
Regards

Ran

SCJP2
Rene Larsen
Ranch Hand

Joined: Oct 12, 2001
Posts: 1179

Congratulation! Benjam�n
- No Security Manager needed (although I did provide a policy file).
The policy file you provided did it only contain �permission java.security.AllPermission;� or did you specify any special condition.
Didn�t you provide any Security manager at the Server??
[This message has been edited by Rene Larsen (edited October 12, 2001).]
[This message has been edited by Rene Larsen (edited October 12, 2001).]


Regards, Rene Larsen
Dropbox Invite
Raju, Gentle
Greenhorn

Joined: Sep 06, 2001
Posts: 28

Congrats !
Can you outline your GUI design and approach ?
Anonymous
Ranch Hand

Joined: Nov 22, 2008
Posts: 18944

I was wondering what kind of essay questions did you get? Do you think essay is important in the entire process.

The essay questions are quite simple in fact. If you completed your assignment on your own, you just need to review your design decisions, and overall architecture for 2-3 hours before taking the exam...
Be sure to understand the different advantages/disadvantages of RMI vs. sockets and Extending vs. Modifying the data class, as well as your locking strategy and your GUI....
That's probably all you need to know...
Hope this helps!!!
Benjam�n
Anonymous
Ranch Hand

Joined: Nov 22, 2008
Posts: 18944
The policy file you provided did it only contain �permission java.security.AllPermission;� or did you specify any special condition.
Didn�t you provide any Security manager at the Server??

The policy file was quite simple in fact:
grant
{
permission java.net.SocketPermission "*:1-1023", "connect, resolve";
permission java.net.SocketPermission "*:1024-65535", "connect, accept, resolve";
permission java.io.FilePermission "<<ALL FILES>>", "read, write";
};
This file should be used for both client AND server...
Hope this helps!!!
Benjam�n

[This message has been edited by Benjam�n Amodio (edited October 12, 2001).]
Anonymous
Ranch Hand

Joined: Nov 22, 2008
Posts: 18944
Can you outline your GUI design and approach ?

Sure... I had a main JFrame with menus, a toolbar and a status bar... Al menu actions can also be executed via toolbar buttons. The status bar shows 3 messages: disconnected, connected to local database at..., connected to remote database at...
This frame contained a main panel which contained a JTabbedPane. This tabbed pane had two tabs: "Search Flights" and "Flight Information". The first tab contained a panel with the search options on top (two combos + labels for origin & destination plus search button), the center contained the search results (JTable) and the bottom contained a "View Flight Info" button...
Once you performed a search and selected a flight, you were automatically switched to the second tab, which contained a main panel containing all the flight information, and a small booking form at the bottom of the panel (label, seat number text field, and book button).
That was basically it...
Hope this helps!!!
Benjam�n
Mark Spritzler
ranger
Sheriff

Joined: Feb 05, 2001
Posts: 17249
    
    6

In regards to the GUI. It made me think about my design, and if I am being too simple.
All I have is one JFrame with three comboboxes for Airline, Departure and Arrival Airports. Then a Search button underneath. Under the search button is the JTable with the search results.
The user can then select one of the flights, and the JTextbox below becomes enabled. They enter a number of passenegers, then a button next to the textbox becomes enabled. They click the "Book" Button, and it books the flight. I am going to have some JDialogs to display that they are booked, but that was about it.
So Am I not using enough GUI? DO I have to have a Menu, which really would only have an exit option.
Thanks
Mark


Perfect World Programming, LLC - Two Laptop Bag - Tube Organizer
How to Ask Questions the Smart Way FAQ
Anonymous
Ranch Hand

Joined: Nov 22, 2008
Posts: 18944
Originally posted by Mark Spritzler:
In regards to the GUI. It made me think about my design, and if I am being too simple.
All I have is one JFrame with three comboboxes for Airline, Departure and Arrival Airports. Then a Search button underneath. Under the search button is the JTable with the search results.
The user can then select one of the flights, and the JTextbox below becomes enabled. They enter a number of passenegers, then a button next to the textbox becomes enabled. They click the "Book" Button, and it books the flight. I am going to have some JDialogs to display that they are booked, but that was about it.
So Am I not using enough GUI? DO I have to have a Menu, which really would only have an exit option.
Thanks
Mark


Mark, in regards to the GUI, I believe that you should stick to the assignment requirements: the GUI needs to be "simple" and "extensible". I chose to use a menu bar, toolbar, and status bar, because these components are common in conventional applications, so the user would feel quite comfortable with them. Besides, actions can be easily added and removed from the menu bar and toolbar, without affecting the overal "visual integrity" of the GUI. The decision of including a tabbed pane was exclusively for major extensibility. I thought that this Travel Agency application could have many other "sections" in a future, and the tabbed pane would allow for the easy inclusion of these "sections".
I do not think you should worry that much about which components you should use, or what LayoutManager is better for the job, etc... Just stick to the basics: when you feel you�ve done something simple and extensible, go for it...
Hope this helps!!!
Benjam�n
 
wood burning stoves
 
subject: Passed!!! 151/155
 
Similar Threads
Passed 147/155
Passed 147/155
passed 144/155
Passed SCJD with 155/155!
Passed SCJD with a score of 151/155