Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Demystifying the OCMJD Certification: Successfully Solving the OCMJD Assignment

 
Roberto Perillo
Bartender
Posts: 2271
3
Eclipse IDE Java Spring
  • Likes 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Howdy, y'all. What y'all doin'?!

Champions, last year I wrote a paper to a brazilian Java Magazine called MundoJ (formerly known as MundoJava) about the SCJD/OCMJD Certification. I now created an improved version of it and would like to share with everybody. Here's the link to the paper:

Demystifying the OCMJD Certification

Basically, it shows how this certification is like and the steps that can be taken in order to successfully solve the assignment. In order to show how the assignment can be resolved, a fictitious assignment is presented with code samples that show how each component can be developed. It also shows considerations about domain logic patterns, design patterns, architectural patterns and how everything can be put together the simplest way. Here's how this paper is organized:

1. Introduction
2. The Assignment
3. Solving The Assignment
   3.1 Traditional Four-Tier Layered Architecture
   3.2 Transaction Scripts
   3.3 Domain Model
   3.4 Model-Delegate Pattern
   3.5 Dependency Injection
   3.6 Patterns Reunion Overview
4. Implementation Steps
   4.1 First Step: Implementation of the Data Access Class
   4.2 Second Step: Definition and Implementation of Business Methods
   4.3 Third Step: Implementation of the Application Windows
   4.4 Fourth Step: Packaging the Application
5. Execution Modes
6. Project Overview
7. The Locking Mechanism
8. Conclusions

Of course, each candidate is free to make their own choices, but the main goal is to give the candidates elements that can help them make their own choices.

So, that's it. I'd really like to know what everybody thinks about it. And I really hope this helps everyone that is working on the assignment and also everyone thinking about going for this challenge and getting this certification!
 
Dennis Grimbergen
Ranch Hand
Posts: 159
IntelliJ IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Roberto,

I just finished reading your article. I think it gives a nice overview of the OCMJD certification process for people who just started the assignment or will start in the near future. Futhermore it combines a lot of doubts/unclear things, for which people otherwise would have make a thread on this forum, into one singular article.

One small note:
In your introduction you say that a candidate receives a JAR file containing a file called instructions.html. Nowadays these instructions are displayed on the screen when a candidate downloads the assignment. The candidate is responsible for saving this html instructions file and supply it later with the deliverables.

Good work!

Dennis
 
Roberto Perillo
Bartender
Posts: 2271
3
Eclipse IDE Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Howdy, Dennis!

Thanks for the feedback and letting me know that things have changed. I'll update the paper with this new information between today and tomorrow.
 
Greg Funston
Ranch Hand
Posts: 81
Eclipse IDE Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello, I just downloaded the OCMJD assignment today. It is an HTML page which you get 2 hours to copy the assignment. I copied the assignment and saved the database file to my system and will start on it immediately which is why I am perusing this forum. Thanks for the great paper Robert. I would be interested in any additional information in regards to this certification, books, advice etc.

PS-this is my first post in this site. I used this site to help me prepare for the SJCP and passed on my first attempt so I am now a certified Java Programmer . Thanks for all people who previously posted here and for the great site for us Greenhorns. I hope to continue in the trend of successful certifications and hopefully assist others on the same path.

Cheers,
Greg Funston SCJP
 
Roberto Perillo
Bartender
Posts: 2271
3
Eclipse IDE Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Howdy, Greg. In the name of the JavaRanch family, I'd like to give you a warm welcome!

You are very welcome, champion. And thanks for the words!

Did you read the paper already? I tried to give the minimal elements that it takes to solve the assignment. If you pay careful attention, you'll be able to solve everything using the design proposed in the paper, even what was not shown there.

I still have to update the part where it says that you receive a JAR file.
 
Greg Funston
Ranch Hand
Posts: 81
Eclipse IDE Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes, I read the paper Robert and it is top notch. It surpassed my expectations. I was not expecting the paper to involve different approaches to the same problem from a design standpoint. It will take me a little while to fully absorb but I respect the amount of time and thought it took to put this together. I am inclined to take the initial 4 tiered approach because it seems the cleanest design to me. I will however reserve judgement until I fully analyze all approaches mentioned. Thanks for the hard work. It is much appreciated.

Cheers,
Greg
 
Greg Funston
Ranch Hand
Posts: 81
Eclipse IDE Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have spent quite a few hours going over the assignment/project and then I read your submission again. I was thinking along the lines of a solution exactly like figure 18 in your paper. It is nice to see I am thinking correctly in this. This is an interesting problem and I initially thought the 4 tiered approach would be the simplest solution but the approach you mentioned is the correct one for this application. Nothing else really makes sense.

My network was down for most of the day today so I had to work on putting together some pieces of code which would be required no matter which approach I took as well as just getting familiar with the assignment itself. I still need more time to plan this but it is nice to get moving forward a little anyways. After reading your paper once again I respect the amount of work this took even more. I may have a question or two as time progresses. Thanks again for your hard work.

Cheers,
Greg Funston SCJP
 
Roberto Perillo
Bartender
Posts: 2271
3
Eclipse IDE Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Howdy, Greg!

I'm very glad this is being helpful to you! But, you know, I took this certification around 3 years ago, and since then, I have spent a lot of time here. In face of some questions, I ended up thinking again and again about several aspects of the certification. Today, if I had to redo the assignment, I'd follow the proposal presented in the paper. This is the cleanest and easiest approach I could think of.

After all these years in the software development industry, what I concluded is, the less code you write to develop something, the better. There are many things that I would change in the assignment that I developed and submitted in the past. What I tried to present in the paper is the most objective and object-oriented possible solution.

If you have suggestions, or even doubts, feel free to come here and make your considerations. We are always here to try to help everybody the best possible way!
 
Greg Funston
Ranch Hand
Posts: 81
Eclipse IDE Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Robert, I am trying to create a similar GUI to the one in your paper. I am having trouble adding the top panel to my code and have it layout, resize etc the way it should. I posted my code in the Swing section "Having trouble adding a panel to my GUI". If you have any suggestions I would be very pleased to hear them. Thanks.

Cheers,
Greg Funston SCJP
 
Greg Funston
Ranch Hand
Posts: 81
Eclipse IDE Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I've resolved my issue.

Thanks.
Cheers,
Greg Funston SCJP
 
Larry Chung
Ranch Hand
Posts: 247
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Bob,

Thank you for the excellent work in writing a great paper that removes a lot of the tears and fears of OCMJD. It is such a magnum opus that the organization outline you created in your post can also be included in the document itself because it is almost like a book.

In gratitude,
Larry
 
Roberto Perillo
Bartender
Posts: 2271
3
Eclipse IDE Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Howdy, Larry!

Well, I'm very glad you liked it! Thank you very much for such kind words. This is one of the purposes of this paper, that is, to clear doubts and put people on the right path. I hope you liked the design I proposed to solve the assignment.

I also hope this paper helps you clear your thoughts and become a SCJD sooner!
 
Paul Anilprem
Enthuware Software Support
Ranch Hand
Posts: 3712
10
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Just went through the paper. Looks very good. The paper combined with this forum eliminate the need for any book.

-Paul.
 
Roberto Perillo
Bartender
Posts: 2271
3
Eclipse IDE Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank you very much for the kind words, Paul!
 
Hau Nguyen
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank Roberto very much for your paper.
 
K. Tsang
Bartender
Posts: 3397
13
Android Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Roberto,

OCMJD surely has changed a bit since Oracle bought Sun. The things that changed are:
- The instructions.html is online, not in the provided downloaded JAR file
- The time to work on the assignment is 6 months instead of 1 year
- A mandatory course is needed listed here


The certification doesn't really test your skills in design patterns or UML, but knowing what you used during the design phase is indeed excellent learning experience.


Otherwise your paper looks great.
 
Roberto Perillo
Bartender
Posts: 2271
3
Eclipse IDE Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Howdy, K! Good to see you around again!

Thanks for the feedback! I'll update this paper as soon as I can.
 
Paweł Baczyński
Bartender
Posts: 1762
33
Firefox Browser IntelliJ IDE Java Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
@Roberto
I was suprised to see you did not get a single cow for writing this amazing paper! It helped me a lot.
So I gave you one ;). A good oportunity to use my new superpower .
 
Roberto Perillo
Bartender
Posts: 2271
3
Eclipse IDE Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Greetings, my friend! How's it going?!

Well, thanks for the cow! It feels good to be recognized, and even more to have the opportunity to help a lot of people getting this certification!

Pawel Pawlowicz wrote:A good oportunity to use my new superpower .


That was well deserved, my friend! Congrats for the Rancher title!
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic