Tuesday, September 16, 2008

Architecting the Solution

So, here's the deal. You're the architect, and you've been tasked with the job of coming up with a very simple Java application. It's a user management application, and it needs to be developed in a hurry. The requirements are pretty slim. All it really needs to do is provide the most simple of CRUD based operations, you know, Create, Retrieve, Update and Delete. That's the requirement. I know, the requirements are slim, but you've got to come up with something.

Well, actually, you don't have to come up with anything, because I've come up with something already. It's a sweet little Java based application that meets all of the requirements in the ugliest of manners. Here's the code. Feel free to code it and test it out yourself!

So, does the application provide for the basic functionality outlined in the requirements document? Well, there really wasn't much of a requirements document, but the application does provide a rudimentary CRUD based application, with a great emphasis on the the term 'rudimentary.'

Tuesday, September 9, 2008

How to pass SCBCD5, the Sun Certified Business Component Developer Exam

Just read this great post on JavaRanch by J. Aotearoa :

"I used the specifications as my primary source of information. I didn't use MK's notes as they're basically the various specifications repeated verbatim.

The only book I used, which I'd definitely recommend, was Pro EJB 3. The author was one of the people involved in writing the JPA spec so you know you're getting the right perspective.

As for how I structured my work; I read the specifications cover to cover, making notes on each of the exam objectives as I went. As with all specifications the language can be quite repetitive so having condensed notes on the pertinent points can reduce the volume significantly.

A lot of the concepts can also be represented in tabular form so I created a few quick reference tables for things like transactional semantics, exception handling, EntityManager types and operations etc.

I used Glassfish to run any code I wrote for the purposes of testing concepts I wasn't 100% sure on - it's the reference implementation so why make your like complicated using JBoss or some other app server.

I also did as many practice question as I could get my hands on, including Sun's 2 practice exams and EnthuWare's EJB plus V5. I can't stress enough the value of doing practice questions. Not only does it get you in the habit of thinking like an examiner but it also reminds you to READ THE QUESTION! (Not that I noticed any so called trick questions in the real thing).

I was getting 90% plus on the Sun's practice exams, slightly less on the EnthuWare ones which are definitely harder than the real thing. I also spent a lot of time reviewing the answers to any practice exams, i.e. making sure I not only understood why the correct answer was correct, but also why all the other answers were wrong.

I hope this helps - good luck to you all."

Thanks Jonathan. That's some great info!