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


Dennis Grimbergen
Ranch Hand

Joined: Nov 04, 2009
Posts: 159

Finally I see my examination score report in Pearson Vue.
I passed the exam with a score of 371 / 400.

Tonight, I will post some more details about the choices I made for this assignment.

Roel De Nijs

Joined: Jul 19, 2004
Posts: 8371

Congratulations, champion!

Now it's time to relax and have some

SCJA, SCJP (1.4 | 5.0 | 6.0), SCJD
Roberto Perillo

Joined: Dec 28, 2007
Posts: 2271

Congrats, champ!

Cheers, Bob "John Lennon" Perillo
SCJP, SCWCD, SCJD, SCBCD - Daileon: A Tool for Enabling Domain Annotations
arulk pillai
Ranch Hand

Joined: May 31, 2007
Posts: 3371
Congrats and keep up the good work

[] | [Java job hunting know how] | [Java resumes]
Dennis Grimbergen
Ranch Hand

Joined: Nov 04, 2009
Posts: 159

Ok, some more details about my assignment choices:

I submitted my assignment at June 21, 2011 and took my essay a week later. After almost 20 weeks of waiting my assignment was graded...

I choose a 3 layer architecture
- data accessor layer (database)
- business layer (containing the available services, like book and search)
- presentation layer (Swing GUI)

Data access layer:
* created my own interface that extends the given Sun interface with some extra methods
* Data class is a Singleton
* Data class contains 2 helpers: 1 for Locking and 1 for DB access
* Concurrent access is handled by a ReadWriteLock, locking by a ReentrantLock
* I implemented a shutdownhook thread that saves my database content at shutdown (and noted the disadvantage)
* Used a record cache for the database during runtime
* For the lock cookie I used the Thread id (yes yes I used sockets !!)
* Did not implement the 48 hour (I have no idea why people talk about this anyway, it's just some marketing bla bla in the introduction of the instructions.html)
* Used some value objects, like Record, instead of a String[]

Business layer:
* Created an interface Services, that has 2 implementations. One for local access and one for networking mode

Presentation layer:
* Used BorderLayout and and mostly GridBagLayout
* Used a configuration window at startup to set the parameters for the mode its running in (host, port, db location)

* I used Sockets! I just have experience with them and you have more control about what's happing over the line.
* Motivation for NOT using RMI (which I did NOT put in my choices.txt):
- I didn't want to create stubs
- I didn't like all those RemoteException declarations in the interface
- I can't used the Thread id to identify clients (ok, this one was noted in choices.txt; the other two are not good reasons I know)
* I used some Request / Response message classes for sending and receiving over the line.

* 2245 lines of code
* create java API docs for all classes and all methods/fields (even private ones)
* Used an ant script to build and validate my project

Uhm I could probably tell a lot more, but hey it has been almost half a year since I looked at my code lol. If someone wants to know some more, then please ask.

Looking at my score: 371
This means to me: every part was ok, no big mistakes
I wonder if they still use the 'or 0/80 or 44/80 or 80/80' for locking. If so, then I got 80 points there ;)


I agree. Here's the link:
subject: Passed
It's not a secret anymore!