• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

I passed SCJD ... 375 / 400

 
JJ Jyang
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

I just got a notice from Sun Microsystems website that I have passed SCJD certificate, I sent out project result on July 17th and took essay exam on last Monday (July 23rd). Although normally it takes 4 ~ 6 weeks for assessment but it only took one week this time (I think not too many people take exam during summer time). After almost half an year working on the SCJD JAVA project, it really feel great to learn this good news. The following is my score details. I also need to thank the help from Vince Li and JavaRanch guys, you are are always very helpful to me.

The maximum possible score is 400; the minimum to pass is 320.
General Considerations (maximum = 100): 94
Documentation (maximum = 70): 70
O-O Design (maximum = 30): 30
GUI (maximum = 40): 31
Locking (maximum = 80): 80
Data store (maximum = 40): 40
Network server (maximum = 40): 30


Total score is : 375 (93.75%)

I also have no idea why the GUI part is so low. For the purpose of AND/OR search, I created an ComboBox with value of AND/OR to indicate "AND Search" or "OR Search". I knew some people get pretty low GUI score and they assumed "OR Search" is not in specification and only provided "AND SEarch".

My JTable title value were directly retrieved from Database schema section, so when new fields added into database, the JTable will automatically expend JTable column size and show up on screen. I am not sure this is necessary or not, but I just think the spec mentions that we need to consider GUI future reuquest flexibility.

For NetWork Server, same as the most perople, I applied RMI. Since I am not really familiar with RMI then, so I don't feel upset for this score.


I got a lot of help from this websit, and thank again for all your help. Good work, I think SCJD is hard, but is not as hard as I thought at first.

John
 
Romeo Son
Ranch Hand
Posts: 92
Android Eclipse IDE Suse
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Congratulations JJ! You did a great job!
In my opinion SCJD improves ones experience over Java developing and this forum is of great help.

I have one question though regarding RMI. Have you used rmic to provide ready compiled stubs?

Thanks.
[ August 01, 2007: Message edited by: Romeo Son ]
 
JJ Jyang
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Romeo,

Yes, I used rmic to create stub. There is one issue here which I had not got answer yet. I applied Factory pattern for RMI interface, so there were two interface for RMI - RMI interface and its Factory. There are also two interfce implementment class for each. In my submission, I only created the stub of Factory implement, and I didn't create the original interface implement. That is because during the registry rebind/lookup, I only applied to Factory implement and did not use the original interface. I am not sure whether this was the reason why I lost some point here. I think, after Java 5.0, stub will be automatically created during the running time, and that is the reason why I could not test whether which stub is/are really necessary.

John - SCJP, SCWCD, SCJD
 
Gabriel Vargas
Ranch Hand
Posts: 145
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi John,

Congratulations,

I have a question, how you justify use Factory pattern in RMI?, there is an explanation in Andrew's book but it is justified because he need to have separate instances of remote class for identification purposes. I also implement a factory for RMI but i didn't know what others justifications could be there and how justify my design (i think have a factory for RMI is good). Thanks.
 
Romeo Son
Ranch Hand
Posts: 92
Android Eclipse IDE Suse
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi John,

You don't need to provide stubs only for the objects bind to rmi registry, but for all objects that are remotely accessed.
So I think you did a mixture between providing ready compiled stubs and dynamically downloading them.
It would be interesting to test if your application runs in networked mode on 1.4 platform. My bet would be that it would fail, because the stub is missing for one remote interface.
I think platform 5 dynamically downloads the stub class definition to the client at runtime, but I'm not 100% sure how this works.
Anyway, I saw people that passed using platform 5 dynamic downloading stubs.
I will go with rmic though, as it can't hurt

Regards,

Romeo
[ August 02, 2007: Message edited by: Romeo Son ]
 
Raghavan Muthu
Ranch Hand
Posts: 3381
Mac MySQL Database Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Congratulations JJ Jyang
 
Mohit Chadha
Ranch Hand
Posts: 264
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Congratulations JJ Jyang!
 
Ken Boyd
Ranch Hand
Posts: 329
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Romeo Son:
Hi John,

You don't need to provide stubs only for the objects bind to rmi registry, but for all objects that are remotely accessed.
So I think you did a mixture between providing ready compiled stubs and dynamically downloading them.
It would be interesting to test if your application runs in networked mode on 1.4 platform. My bet would be that it would fail, because the stub is missing for one remote interface.
I think platform 5 dynamically downloads the stub class definition to the client at runtime, but I'm not 100% sure how this works.
Anyway, I saw people that passed using platform 5 dynamic downloading stubs.
I will go with rmic though, as it can't hurt

Regards,

Romeo

[ August 02, 2007: Message edited by: Romeo Son ]


Yes true if you run same thing on 1.4 you will fail. Simple thing will be run rmic again all classes and it will tell you why he has created stub and not..(only for classes extends Remote will create stub)

even I found one class without stub..if examiner see Remote directory and figure it out that not all classes have stub (again which extends Remote) and fail you right away.

In 1.5 application will work without creating any stub because of dynamic downloading so you won't know right away. Even if you turn off it's hard to tell (using java.remote.server.ignoreStubClasses=false) so safe thing is create stub for all classes.
 
Mark Ebeling
Ranch Hand
Posts: 38
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
CONGRATS JJ!

Beers to ya!
 
JJ Jyang
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
--------------------------------------------------------------------------
Hi John,

Congratulations,

I have a question, how you justify use Factory pattern in RMI?, there is an explanation in Andrew's book but it is justified because he need to have separate instances of remote class for identification purposes. I also implement a factory for RMI but i didn't know what others justifications could be there and how justify my design (i think have a factory for RMI is good). Thanks.

----------------------------------------------------------


Hi Gabriel,

For how to justify using Factory, I think it could depend on whether your basic database interface (provided from Sun) includes cookie or not. If there is cookie in its methods, then you don't have to use Factory as you can use cookie to identify the original client. If there is no cookie, then the easiest way to identify the original client will be Factory pattern. Factory pattern will create a separate instance for each client, so we can easily tell whether it is the instance which original called the method. To be honest, I think Factory pattern is much easier than cookie.

John

SCJP SCWCD SCJD
 
Gabriel Vargas
Ranch Hand
Posts: 145
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi John,

My assigment have cookies , so i better no use Factory pattern to RMI (i evaluate if it can be used in another way). Thanks for your explanation.
 
rinke hoekstra
Ranch Hand
Posts: 152
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Gabriel Vargas:
Hi John,

My assigment have cookies , so i better no use Factory pattern to RMI (i evaluate if it can be used in another way). Thanks for your explanation.


Same with me here. I decided not to use the factory, as there seems to be no justification for it when you have cookies.

Gabriel, maybe this thread is of interest for you? I'm trying to apply that strategy.

Rinke
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic