aspose file tools*
The moose likes Certification Results and the fly likes Passed SCJD!!! Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Certification Results
Bookmark "Passed SCJD!!!" Watch "Passed SCJD!!!" New topic
Author

Passed SCJD!!!

David Sham
Ranch Hand

Joined: Apr 19, 2005
Posts: 61
I passed my SCJD!! The grading breakdown is as follows:

Grade: P
Score: 335
Comment: This report shows the total number of points awarded for each section. The maximum number of points is 400, to pass you need a score of 320.

Section Summary:
Section Max Actual Points Points
General Con: 100 88
Documentation: 70 70
OOD: 30 30
GUI: 40 40
Locking: 80 80
Data Store: 40 20
Network Server: 40 7
Total: 400 335

Don't know why I got only 7/40 for Network Server, and only half credit for Data Store. Also am surprised I got full credit for locking, as most people seem to get docked points there.

I had the B&S assignment with lock cookies. I used only 1 RMI Remote Implementation reference in networked mode (and only 1 Data class reference) because of the requirement for lock cookies, instead of a Remote Implementation for each client.

I had a simple search functionality that did both "begins-with" and "exact-match" searches for the search criteria.

I did allow for switching between modes from the GUI.

I used a timeout option for my locking mechanism. It times out after 30 seconds for a locked record, so the locking manager forces an unlock for any locked records that timeout.

My design choices doc was also about 13 pages long. I did not want to leave anything out, so I was a bit thorough.
Jack Gold
Ranch Hand

Joined: Feb 04, 2005
Posts: 85
Congratulations!

How long did it take them to grade it?


SCJP 1.4<br />SCJD <br />SCWCD (Studying)
Kang Wang
Greenhorn

Joined: Feb 03, 2003
Posts: 12
Congrats dude!

To Jack, It took them a little bit longer than 6 weeks to release my score.


Kang Wang<br />SCJP, SCWCD, SCJD (great thanks to the ranchers)
John Smith
Ranch Hand

Joined: Oct 08, 2001
Posts: 2937
Network Server: 40 7

That's a huge deduction, it would be nice to find out what is it that they didn't like so much. Can you tell us more about your server design?

Anyway, congratiulations, and welcome to the club!
Zee Ho
Ranch Hand

Joined: Jul 20, 2004
Posts: 128
Good job, You got full points in locking which I only got 44 points, Would like to invite u to this thread to share your implementation, maybe I can get answer of why I lost 36 points in such aspect from u. appreciate if u can come.

Why I lost points in locking, pls comment on my code


SCJP 1.4<br />SCWCD 1.3<br />SCJD<br />SCBCD<br />IBM Xml Cert in progress
David Sham
Ranch Hand

Joined: Apr 19, 2005
Posts: 61
It took only 2 weeks for them to reply with my score. I was surprised. I was expecting it to take 4 - 6 weeks as it seems to be for many people.

My network server was extremely simple, maybe too simple. It was only a few lines of code with no methods in it except for the constructor. The constructor took in the database file location and then instantiated the RMI Remote Implementation reference, created the registry, and then bound the remote implementation to the registry. I put System.out.printlns throughout the process for updates to the user. I also bound the remote reference last in case of an error/exception (so the remote reference would not get bound if an error occurred). Other than the startup dialog, there was no GUI for my server.

Compared to the rest of my project, perhaps the server was not robust enough. I don't know why else I lost so many points for that section of the project.

My advise would be to document all major decisions you made thoroughly in your choices document. Just pick out the things you feel were important and explain in detail why you did what you did (or why you did not do something). My document was 13 pages when I was finished, but they gave me full points for doc. I think that as long as you can explain yourself as to why you implemented your solution the way you did, you'll do fine. The essay exam is also just a reiteration of this. I would imagine you do not need 13 pages or so to have a thorough choices doc, that is just what I ended up with.

Also many thanks to all who answered so many of my stupid questions on this forum!!! Thanks to Frans, Darya, Andrew, Wei Ju, Zee, Paul, and anyone else I am forgetting. Good luck to those still working on it!!

Zee, I will reply regarding you locking question on your thread.

Thanks again and God bless!!!
Andrew Monkhouse
author and jackaroo
Marshal Commander

Joined: Mar 28, 2003
Posts: 11508
    
  95

Congratulations David


The Sun Certified Java Developer Exam with J2SE 5: paper version from Amazon, PDF from Apress, Online reference: Books 24x7 Personal blog
John Smith
Ranch Hand

Joined: Oct 08, 2001
Posts: 2937
David: My network server was extremely simple, maybe too simple. It was only a few lines of code with no methods in it except for the constructor. The constructor took in the database file location and then instantiated the RMI Remote Implementation reference, created the registry, and then bound the remote implementation to the registry.

The way I understand your server design is that the database file name must be specified at the time when the server is started. In other words, if the client wanted to connect to a database with a different name, the server would need to be restarted. If that's correct, I am speculating that it was the reason for a big deduction on the server design.
Darya Akbari
Ranch Hand

Joined: Aug 21, 2004
Posts: 1855
Hi David,

Congratutlations .

I planned for the essay exam for next friday as I thought but when looked again to my schedule I saw it's even Thursday so I'll reschedule for next Monday to be on the safe side I must still do the
design decisions document and testing.

Good Luck for you.

Regards,
Darya


SCJP, SCJD, SCWCD, SCBCD
Frans Janssen
Ranch Hand

Joined: Dec 29, 2004
Posts: 357
Congratulations David!

Frans.


SCJP 1.4, SCJD
Jeroen Wenting
Ranch Hand

Joined: Oct 12, 2000
Posts: 5093
"Please post your Exam Results in the Sun Certification Results forum."


42
Jack Gold
Ranch Hand

Joined: Feb 04, 2005
Posts: 85
Originally posted by John Smith:
David: My network server was extremely simple, maybe too simple. It was only a few lines of code with no methods in it except for the constructor. The constructor took in the database file location and then instantiated the RMI Remote Implementation reference, created the registry, and then bound the remote implementation to the registry.

The way I understand your server design is that the database file name must be specified at the time when the server is started. In other words, if the client wanted to connect to a database with a different name, the server would need to be restarted. If that's correct, I am speculating that it was the reason for a big deduction on the server design.


I would have to respectfully disagree. The B&S requirements do not state that the database location must be configurable from the client and I do not believe this is common to mots people's designs.
John Smith
Ranch Hand

Joined: Oct 08, 2001
Posts: 2937
The B&S requirements do not state that the database location must be configurable from the client and I do not believe this is common to mots people's designs

Do you have somthing like this in your requirements:

the program must allow the user to specify the location of the database, and it must also accept an indication that a local database is to be used
Jack Gold
Ranch Hand

Joined: Feb 04, 2005
Posts: 85
Originally posted by John Smith:
The B&S requirements do not state that the database location must be configurable from the client and I do not believe this is common to mots people's designs

Do you have somthing like this in your requirements:



Yes. When the server is started, you specify the database location. When you start the client, you specify the network location of the server. when started in local mode you just need to specify the database location.

The client never specifies the database location, just the IP address of the server.
David Sham
Ranch Hand

Joined: Apr 19, 2005
Posts: 61
The way I understand your server design is that the database file name must be specified at the time when the server is started. In other words, if the client wanted to connect to a database with a different name, the server would need to be restarted. If that's correct, I am speculating that it was the reason for a big deduction on the server design.


No, this is not the case. I allowed for the user to switch servers while in networked mode. They could do this from the client GUI. In such a case, all I did was take the newly specified server name (and port) and send that data to my database factory class that did a RMI naming-lookup for the name and port. It then returned a RMI Remote Implementation under the guise of my db interface. Of course, the server I was switching to had to already be up and running to do this. The server switched to might be connected to a different database file. The server itself was not restarted. I just did a naming-lookup call to get the desired Remote Implementation reference from the server. So I'm still not sure why I got such a low score for the Network Server section.
John Smith
Ranch Hand

Joined: Oct 08, 2001
Posts: 2937
I allowed for the user to switch servers while in networked mode. They could do this from the client GUI. In such a case, all I did was take the newly specified server name (and port) and send that data to my database factory class that did a RMI naming-lookup for the name and port.

Again, from your description, it seems to me that once the server is started, the client can only connect to a database with a predefined name. There is no way for the client to connect to the same server by specifying a different database name, without the restart of that server. My server design was a bit more flexible -- the client could specify any database file name on the remote server, and the server would connect, if such database file exists on the server. Both designs can be questioned, of course, -- I am just trying to understand the reason for such a big deduction in your server score.
Christy Keane
Ranch Hand

Joined: Mar 29, 2005
Posts: 32
John,

I could be misunderstanding your implementation...but could you clear something up for me?


My server design was a bit more flexible -- the client could specify any database file name on the remote server, and the server would connect, if such database file exists on the server.


Does this machine that your server could connect to different databases simultaneously?

If not, how do you deal with the situation where client A is performing a transaction on database A, but client B instructs the server to switch databases - wouldn't this cause a problem?

Or do you have some locking scheme to take care of this?
Christy Keane
Ranch Hand

Joined: Mar 29, 2005
Posts: 32
btw - Congratulations David!
John Smith
Ranch Hand

Joined: Oct 08, 2001
Posts: 2937
Does this machine that your server could connect to different databases simultaneously?
If not, how do you deal with the situation where client A is performing a transaction on database A, but client B instructs the server to switch databases - wouldn't this cause a problem?


Yes, client A could be connected to database contractors.db, while client B could be connected to database reservations.db. Client C may be connected to both. The way I think about those database files is as database tables. I know, the requirements only mention one table, but they also say about how great and prosperous your client will be, which tells me that they will probably want to add some more tables to their database. When and if that happens, my server was designed so that not a single line of code would need to be changed in the server code.

I would also say that I threw away all the possible enhancements that were not explicitely in the requirements. But this particular one seemed to be almost natural to implement. I can't say, of course, that it's what the exam assessors expect -- my only evidence is that my assessor gave me full credit for my server design.

I still do feel, however, that David got a deduction because he implemented the "user must be able to specify the database" requirement too loosely. That is, in his implementation, the user is able to specify the database, but it will require the server restart. I don't have his full instructions, though, so it could have been something else. Whatever it is, it's got to be big to explain the magnitude of the deduction.
[ June 21, 2005: Message edited by: John Smith ]
David Sham
Ranch Hand

Joined: Apr 19, 2005
Posts: 61
I understand what you are saying now John. Your server must have had a GUI of some kind that allowed the user to change the database file the server was connected to. Interesting. My solution did not allow for this. If the user wanted to connect to a different remote database, they would have to connect to a different server that is already up and running, which would then be connected to the desired database file.

I did not even think of allowing the user to change database files within the server. I only gave them the ability to switch servers if in remote mode or switch database files if in local mode. I also allowed them to switch modes as well.

But your point is an interesting one which might account for the big deduction in my Network Server score.
Wei-ju Wu
Ranch Hand

Joined: Feb 16, 2005
Posts: 147
Congratulations, David !


"The UrlyBird catches the certificate. And he's gonna FlyByNight"<br /> <br />SCJP 1.2/5.0, SCJD, SCBCD, SCWCD, SCEA
John Smith
Ranch Hand

Joined: Oct 08, 2001
Posts: 2937
Your server must have had a GUI of some kind that allowed the user to change the database file the server was connected to.

No, I didn't have server GUI. The part that allowed the user to specify the database file name was in the client. Here is how it looked like (Andrew, if it's giving away too much, feel free to delete):

Christy Keane
Ranch Hand

Joined: Mar 29, 2005
Posts: 32

Yes. When the server is started, you specify the database location. When you start the client, you specify the network location of the server. when started in local mode you just need to specify the database location.

The client never specifies the database location, just the IP address of the server.


I think I'm going to agree with Jack Gold here...


the program must allow the user to specify the location of the database, and it must also accept an indication that a local database is to be used


I interpret "location" here as the server the database resides on - I'm not sure the client should actually be able to change the database the server is running.

It's just a matter of interpretation of course, but I think if you document your decision with reasonable supporting arguments, they can't punish you with a deduction as large as the one David got.


This document deliberately leaves some issues unspecified, and some problems unraised. Your ability to think through these issues, in the face of realistically imperfect specifications, and come to a tenable solution is something upon which you are being graded.


I don't think that this interpretation of location is more or less "tenable" then John's - it's quite impossible to know exactly which solution is more correct from the instructions, so it's all down to how you justify your interpretation.

Or maybe I'm just trying to avoid all the extra work of implementing this John's way...

Thoughts anyone?
David Sham
Ranch Hand

Joined: Apr 19, 2005
Posts: 61
It's just a matter of interpretation of course, but I think if you document your decision with reasonable supporting arguments, they can't punish you with a deduction as large as the one David got.


I do not believe the user should be able to change the database file location that the server is using from the remote client GUI. How would you account for other remote clients concurrently interacting with the server? This would adversely affect them.

I think it would be good to implement this functionality, but do it from the server. Some kind of GUI may have to be provided so that the user can change the database file location the server is using. But this would be done on the server, not from a remote client.

The question then becomes how to notify all of the remote clients that the database file location has changed on the server. The clients could remain bound to the RMI server (for an RMI solution), but they would need to know that their requests are now being communicated to a different database file.

I also documented my decisions with 13 pages of my choices.txt. Perhaps I did not write enough about my server implementation, but I think that my low score in that area might be due to the fact that I did not implement this functionality, but allowed for everything else (switching modes, switching servers in remote mode, and switching database locations in local mode).
Uwe Schäfer
Ranch Hand

Joined: Mar 15, 2005
Posts: 52
Originally posted by David Sham:


...but I think that my low score in that area might be due to the fact that I did not implement this functionality, but allowed for everything else (switching modes, switching servers in remote mode, and switching database locations in local mode).


is this switching stuff really necessary ? i fail to see requirements leading to this decision from all i have read so far.


scja|scjp|scjd|scwcd|scbcd|scdjws|scmad
Jack Gold
Ranch Hand

Joined: Feb 04, 2005
Posts: 85
Originally posted by Uwe Sch�fer:


is this switching stuff really necessary ? i fail to see requirements leading to this decision from all i have read so far.


There are alot of experienced ranchers who return to the forum to show us their solutions and offer advice, but often it seems they have developed beyond the scope of the current requirements.

While the forum is useful, the downside is that everyone has differnt requirements and the people who are most vocal about their solution are typically puffed up about their code which goes beyond the basic requirements.

In this case, I think there was a bit of "requirements creep".
David Sham
Ranch Hand

Joined: Apr 19, 2005
Posts: 61
is this switching stuff really necessary ? i fail to see requirements leading to this decision from all i have read so far.


Switching modes, database file locations, etc. was not required by my assignment, and I would guess probably not required by other's assignments either. Everyone's assignments may have slightly different requirements. But I put in this funtionality as a nicety. You should be able to pass without such functionality though.

My apologies if I've come across as "puffed up". This is not my intention. Just want to share my experience. Thanks.
Andrew Monkhouse
author and jackaroo
Marshal Commander

Joined: Mar 28, 2003
Posts: 11508
    
  95

Hi Jack,
Originally posted by Jack Gold:
There are alot of experienced ranchers who return to the forum to show us their solutions and offer advice, but often it seems they have developed beyond the scope of the current requirements.

While the forum is useful, the downside is that everyone has differnt requirements and the people who are most vocal about their solution are typically puffed up about their code which goes beyond the basic requirements.
Well, I am not sure about the idea that those posting here are "typically puffed up about their code", but I would agree that most (if not all) the posters (and lurkers) in this forum go beyond requirements in one or more areas.

The difference is that those who post code and ideas here are those people who are willing to have their code and ideas scrutinized. And this is when it is possible for people to identify that something has gone beyond scope (or has missed something critical).

But this also happens in other areas as well. For instance, we used to get a lot questions in this forum from candidates who had finshed Sun's "Java Programming Language Workshop" course asking about updating all connected clients whenever a booking was made - something that is not required for the certification, but was apparently highlighted in the course.

Personally, I don't see anything wrong with exploring ideas and concepts that are (far) beyond scope in this forum. Many candidates are using the Sun assignment as a learning process - a project that they can take as much time as they like, and play with concepts that they could not do with a work / university assignment. Personally, I think this is a good thing.

I also suspect that too many candidates went too far beyond scope in the "Fly By Night Services" assignment, as the newer assignments had an extra instruction added: "You will not receive extra credit points for work beyond the requirements of the specification." It is worth noting that the assignment that John and I had did not have this instruction - had I had this, I might have rethought many of my design decisions (and I might have finished the assignment a lot earlier than I did :roll: )

Regards, Andrew
[ June 22, 2005: Message edited by: Andrew Monkhouse ]
Jack Gold
Ranch Hand

Joined: Feb 04, 2005
Posts: 85
I did not mean anyone any disrespect. I was making the observation that people are likely to discuss the areas that they went above and beyond the requirements, and are typically proud of the extra work they did, often not mentioning (or even realizing) that they went beyond the requirements. This can distort the scope of the assignment, especially for someone just getting their mind around it.

While the forum is VERY useful, I see this as the main drawback and its important to draw the distinction between what you MUST do, and what someone else has done that may appear necessary, but really isnt.
David Sham
Ranch Hand

Joined: Apr 19, 2005
Posts: 61
One other thing I just realized. My unusually low score for the Network Server section may also have been due in part to how I answered the essay exam question that dealt with the server implementation of the project. I answered the question consistently with what I put in my choices doc, but then I put some nonsense about the flip-side of using RMI (trying not to give away too much about the essay question here). I was not quite sure what to put to answer that part of the question, so I put some rubbish that resulted in a very weak argument for that particular part of my answer. So perhaps how you answer the essay questions on the essay exam may affect your score as well.
Andrew Monkhouse
author and jackaroo
Marshal Commander

Joined: Mar 28, 2003
Posts: 11508
    
  95

Hi Jack,

No problems - I may have been a bit over sensitive yesterday

Regards, Andrew
Andrew Monkhouse
author and jackaroo
Marshal Commander

Joined: Mar 28, 2003
Posts: 11508
    
  95

Hi David,

I personally don't think this has anything to do with it.

My understanding is that the assessors only use the exam to confirm that you wrote the assignment. The only time it might make a difference to your score is if you gave a wrong answer in the exam and the same wrong answer in your design choices document (for example, if you said in both of them that you used RMI because it provided better network efficiency) - in which case, you might loose some general points (maybe).

Under the Fly By Night Services assignment, the Server points were broken up as:
  • locking (30)
  • error handling (8)
  • search algorithm: clarity and efficiency (15)
  • For a total of 53 points.

    Regards, Andrew
    [ June 23, 2005: Message edited by: Andrew Monkhouse ]
     
    It is sorta covered in the JavaRanch Style Guide.
     
    subject: Passed SCJD!!!