File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Developer Certification (SCJD/OCMJD) and the fly likes passed with 146/155 Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Developer Certification (SCJD/OCMJD)
Bookmark "passed with 146/155" Watch "passed with 146/155" New topic

passed with 146/155

Yann-Ming Wang

Joined: Jul 29, 2001
Posts: 4
I took my written exam on 7/19 and just got my results and passed with 94.2%. It helps me a lot by visiting this group's postings
constantly. It doesn't really matter what score I received. What it really counts is the learning process of the programming assignment. I never used RMI prior to this assignment, so it
gave me a chane to get familiar with that and I found Sun's RMI
tutorial is quite helpful. I implemented a RMI callback function
to do live updates on the GUI using Observer pattern. I also
read several design patterns books and that should help me in the
long run in terms of a being a good OO designer. When I worked
on the on-line help, I bought a book called "Creating Effective
Java Help" to learn more about creating Java Help.

Here are some of the things i did on this assignment:
- used RMI for network connection
- implemented RMI callback function
- used MVC (JTable and AbstractTableModel), Proxy (RMI
implementation), Singleton, Observer/Observable, Adapter and
Factory design patterns
- modified lock/unlock methods - made use of clientID
- modified Data class instead of subclassing
- provided searching for Origin airport, Destination airport,
Carrier and Flight number fields using ComboBoxes in GUI

In GUI, I provided two Splitpanes which host three panels :
Buttons Panel, Status Log Panel and Flight Information Panel.
Button Panel has four buttons : Search, Clear Log, Exit and Help.
Status Log Panel displays the log during user selection and notifies the row updates. Flight Information Panel contains four ComboBoxes for Origin airport, Destination airport, Carrier
and Flight number selections. It also displays the query results
in customized JTable. I customized the AbstractTableModel to
provide a model to represent all the fields of the record. The
model is then extended to add "Seats needed" field and "Book"
button field. I chose to implement this feature on the same row
of the table because it is more intuitive for user to type in a
number and click on "Book" button on the same row and see the
changes right away.
I did not provide Local and Network mode switching and database
name in the GUI, instead I did the Local and Network mode
selection through the command arguments. If the (required for Network mode because the RMI
callback function), -s (DNS name of the server) and -p (Port
number used by the server) options are present as the command
arguments when the FBN GUI client is invoked, then it is
considered as Network mode. Otherwise it is considered as Local
No need to prepare for the written exam if you did your design
document yourself.
I think the reason I lost points in Gerneral Considerations and
Server portions probably because I did not provide graceful
shutdown facility for the server (even thought I did some project
at work that implemented that feature). I realized that after I
uploaded my assignment. I guess the points I lost in GUI
probably because I did not provide Local and Remote swithing in
GUI. I really hope Sun can tell each individual why the points
are deducted, so he or she can improve in the future.
Good luck.

Yann-Ming Wang
IBM Corp.

Test: Sun Certified Developer for the Java 2 Platform (310-027)
Date Taken: 2001-07-28 12:10:13.140
Registration Number: g76dtt0599
Site: ga17
Grade: P
Score: 146
Comment: 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): 55
Documentation(maximum = 20): 20
GUI(maximum = 24): 22
Server(maximum = 53) : 49
Kevin Yip
Ranch Hand

Joined: Oct 17, 2000
Posts: 110
Congratulation, Yann-Ming.
It's a great score. I would think that no graceful shutdown and no switching between local/remote cannot be the reasons for losing points. They cannot deduce my marks just because I don't provide some nice-to-have features. If they need to see them, they should state it clearly in the brief. That's just what I think.
Biswas Biswajit

Joined: Jul 30, 2001
Posts: 8
Congrats Yann!!
Great Achievement. I just passed SCJP.Got a fair knowledge of Swing.How to begin studying for SCJD.What benefits does a fresher like me with no job at present derive from it?Is SCWCD better as far as a job is concerned?
Biswas Biswajit
Yann-Ming Wang

Joined: Jul 29, 2001
Posts: 4
Kevin - I think you probably are right. I wish they could at least tell me what I did not do what they expected and I can improve in those area. Thanks.
Biswas - Sorry, I don't know much about SCWCD.
Based on my experience when I did the assignment, I benefit a lot by constantly visiting and
this user group.
I also like
for design patterns.
Sun's Java tutorial site is very helpful also, I learned RMI from there.
Hope this helps.

Joined: Jul 29, 2001
Posts: 25
Congrats, I have a couple of questions for you.
(1) Did u have any lock time out (maximum time that a lock can be held by a client)
(2) Say, If I request for lock, I may want to have time out while requesting th elock itself. Di du implement it?
(3) How you filled the values for the origin & destination combobox
Thanx in adavance,
All the Best for SCEAJ,
Shankar S
Yann-Ming Wang

Joined: Jul 29, 2001
Posts: 4
I did not implement any lock time out. Howerver, I explained it in the design document that the reason I did not implement that is bacause the requirement does not allow me to specify the lock timeout as a input argument when I start the server and I don't think it is a good idea to have hard-coded timeout value specified in the code.
In terms of the original and destination comboboxes, I read in all the records from the database and put them into different vectors (I also added "Any" as one of the selections). Then, I load them into different comboboxes.

Joined: Jul 29, 2001
Posts: 25
Thanx a lot for your reply.
I am facing a problem while testing the server with simulating concurrent clients to generate load in the server.
I have no problem, when i tested with 15 concurrent clients. When, increased the numver of clients to 20, I started getting ConnectEception for some clients.
Is there any way/restruction for the rmi registry thats it can serve only a
specific number of connections. Or, the problem is in the OS level?
Did u try testing the server application in this way?
Again, Thanx in advance,
Shankar S
Luna Bora
Ranch Hand

Joined: Jul 02, 2001
Posts: 34
I also got the same problem when testing my program with 20 and more clients. I still could not find the answer for that. I read somewhere that the maximum threads you can run in some operating systems(I don't remember exactly whether this limitation is in operating system or in RMI)is 26.
Yann-Ming Wang

Joined: Jul 29, 2001
Posts: 4
I did not test as many client connections as you did. I only tested using up to about 6 clients. So, I don't know the real limitations on the RMI server.
I did a search in site, I found one message you might be interested in. It is displayed as follows :
From: (
Subject: Re: RMI Performance
Date: 1999/06/03
I believe there are some cases where the RMI chokes up when pounded by high volume transactions. I am not aware of hard figures, but there are also slow transport issues due to problems with JRMP being used. Maybe RMI/IIOP will be better. As aside, I attended a seminar by Weblogic and they have a RMI of their own which is compliant with Sun's RMI at the API level but not the object level. This implementation they claim is free of problems with Sun's RMI implementation.
I agree. Here's the link:
subject: passed with 146/155
It's not a secret anymore!