my dog learned polymorphism
The moose likes Certification Results and the fly likes Passed SCJD with 152/155 Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Building Microservices this week in the Design forum!
JavaRanch » Java Forums » Certification » Certification Results
Bookmark "Passed SCJD with 152/155" Watch "Passed SCJD with 152/155" New topic

Passed SCJD with 152/155

Mike Piotrowski
Ranch Hand

Joined: Apr 24, 2002
Posts: 82
Finally the waiting is over. I just recieved my results and am very pleased with a 152 out of 155. The breakdown of points as follows:
General Considerations(maximum = 58): 58
Documentation(maximum = 20): 20
GUI(maximum = 24): 23
Server(maximum = 53): 51
I can't thank everyone enough here for the excellent help and advice. Especially Mark and Peter. I will be hanging around the Developer forum to provide help to others and to try to give a little back of what I have taken.
Anybody having any questions about my design or implementation, feel free to ask.

peter parker
Ranch Hand

Joined: Jul 11, 2001
Posts: 69
Great job Mike. I'm debating about which certification to get next...One one hand the SCEA (in my mind) is the top of the ladder. In saying that I need to get the SCJD, so I won't skip a rung. However, it seems that the industry is moving toward web based application development and less pure desktop based application software.
Anyway, when you got your assignment how did you start ? Also, how long did it take from start to finish.
Again great job, that's an excellent score.
Robin Underwood
Ranch Hand

Joined: May 01, 2002
Posts: 117
Way to go! Great score!
Since you offered, I'd be interested in any design info you'd be willing to share. Did you add extra features or stay with a simple solution?
Mark Spritzler

Joined: Feb 05, 2001
Posts: 17271

Congrats Mike. Great Score. And thanks for sticking around and helping us out.

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

Joined: Jun 08, 2002
Posts: 180
What a close finish to the top touch line ! lol.
Massive score Mike, keep at it ! Many congratulations.

SCJP, SCWCD, OCA, OCP-DBA 9i, <a href="" target="_blank" rel="nofollow">BCIP</a>, MCP, MCAD, MCSD.NET, MCDBA, MCTS (SQL 05), MCITP (DBD, DBA)
Debra Bellmaine
Ranch Hand

Joined: Feb 22, 2002
Posts: 40
Great job. What a score!
Debra Bellmaine

...I get by with a little help from my friends...
Mike Piotrowski
Ranch Hand

Joined: Apr 24, 2002
Posts: 82
Thank you to you all.
I agree with you about the way the industry is moving towards web based applications. Though I believe the SCJD holds some more weight over the others certs because you are actually proving your ability at using Java to solve a real business problem. Not just taking a multiple choice test. Now I am working on the SCWCD and plan on the architect exam maybe later in the year or next year.
I downloaded my assignment in March and spent a couple of many hours each night working on it for about 3 months(and some real late nights at times). I don't have a great deal of industry work experience, so I used the developer assignment as way for me to learn more. First I started with reading the specs, then reading them again, and again and again. Then I worked on the client GUI first then on to the network server, which originally I implemented using sockets. I had no experience with RMI and not much with design patterns except MVC. So I was a little hesitant with using RMI(until I saw how much easier it made things!!). I had a working(or so I thought) model the project in a couple weeks. Thats when I found the JavaRanch and realized how bad my design was. It was very hard to maintain, not scalable, etc, etc.
So I read up on RMI and design patterns and did alot searching through posts here to get some great advice from people. I then reworked my design with RMI, Facade pattern, MVC and Factory Pattern. Then things all fell into place.
For people worried about If they are ready or not to tart the assignment. My advice is download it and start with what you can do. You have to be at least a SCJP, so you have a good idea about the core Java language. There is no time limit, so use it as a learning experience. No better way to learn something than to do it and especially true with programming.
I'll post about my design in a bit, got a couple things to do
Valentin Crettaz
Gold Digger

Joined: Aug 26, 2001
Posts: 7610
Great job Mike

[Blog] [Blogroll] [My Reviews] My Linked In
Larry Lai
Ranch Hand

Joined: May 13, 2002
Posts: 44
Hi Mike,

You did a great job !!!
It sounds very great!!!
Would you like to share your invaluable experience?
Everyone keep going...
Mike Piotrowski
Ranch Hand

Joined: Apr 24, 2002
Posts: 82
Here are my major design decisions.
1. Used RMI vs Sockets for network communication, using the Factory Pattern on the server to assign each client their own unique connection object(my RemoteDataImpl class). Simple command line interface for the server.
2. Modified the Data class, with the same method signatures.
3. For record locking I had each client's connection object keep track of which locks they owned. All remote calls to the Data class passed through the clients connection object.
4. Packaged the stub classes with the client.jar executable jar file.
5. Used the Facade pattern to seperate all of the business logic from the client GUI.
6. Kept the client GUI simple with a help menu to display user instructions.
7. Command line arguments for the client were operating mode and server address. Client GUI stayed in either Local or Network mode after starting. Command line args for the server was just the server address.
Overall tried to keep things as simple as possible and and not try to create any unneeded problems. From what I've experienced talking to people it doesn't seem to help in your score by adding extra features that are not required. The more complex you make things the more problems you are asking for.
Hugo van Elk

Joined: Jun 17, 2002
Posts: 15
Hi Mike
Contratulations, a you did a very good job!
Creative idee to have a connection object. Can you tell something about it? Where there as many instances of the connection object as there are client sessions? And if so, how did the connection objects communicate?
Thanks in advanance.
Holmes Wong
Ranch Hand

Joined: Feb 18, 2002
Posts: 163
Congrats! Mike. Fantastik score!
BTW, I need your help in creating executable jars.
Kirk Maze
Ranch Hand

Joined: May 14, 2002
Posts: 32
Mike, Rich McCoy asked if you used SemanticNet

Sun Certified Java Developer<br />Sun Certified Java Programmer
Mike Piotrowski
Ranch Hand

Joined: Apr 24, 2002
Posts: 82
Creative idee to have a connection object. Can you tell something about it? Where there as many instances of the connection object as there are client sessions? And if so, how did the connection objects communicate?

I must give credit for the idea to my fellow ranchers especially Mark and Peter. Try searching some old posts and you will find some extremely useful information on the topic.
Here is a brief overview though.
I have a ConnectionFactory which is bound to the to the RMI Registry. The ConnectionFactory holds a private instance of the Data class and has a method getConnection() which returns a RemoteDataImpl object thats implements DataInterface. A reference to the ConnectionFactory's Data object will be passed to the constuctor of the RemoteDataImpl object for the clients unique connection object to the Database. All calls to the Data class will pass through the clients connection object
There is no need for the different connection objects to communicate directly with each other. The Data class kept track of which records were locked. Also somewhere on Sun's website they have a qood explanation on the Factory Pattern that is useful, but I can't seem to find it now.
Mike, Rich McCoy asked if you used SemanticNet

No, I am not familiar with it.
Ashik Uzzaman
Ranch Hand

Joined: Jul 05, 2001
Posts: 2372

performance Mike! congrats...

Ashik Uzzaman
Lead Member of Technical Staff,, San Francisco, CA, USA.
Sam Stackly
Ranch Hand

Joined: May 04, 2002
Posts: 109
Congrats Mike, great job
I have a question about MVC Pattern, I've read about this pattern here from Mark and Debra, I haven't had any experience with this Pattern, It seems the way Mark did it was straight forward and easy to use (Using Hook method in GUI and assign listener to them in Controller) and honesty I didn't understand anything about what Debra said about MVC so Can you elaborate the was you used this Pattern in your assignment?

Mike Piotrowski
Ranch Hand

Joined: Apr 24, 2002
Posts: 82
In my main frame for my GUI ( I have a DisplayPanel which contains the JTable for displaying available flights. Then I create a SearchPanel and BookPanel, they get passed a reference to the JTable from the DisplayPanel.
When a user clicks a button to search or book a flight the events are handled by inner classes which implement ActionListener in the SearchPanel and BookPanel class. From the reference to the JTable I get the model used for the JTable to update the view.
Don't know if this is the best way to use the MVC pattern but it was simple, worked very well and easy for a junior programmer to understand.
Any more questions feel free to ask.
Have you checked out Aspose?
subject: Passed SCJD with 152/155
It's not a secret anymore!