This week's book giveaway is in the OCPJP forum. We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line! See this thread for details.
Okay, I'm going to be a jerk here for a minute, but only because I'm getting frustrated.
I've taken some time off from programming (used to to EJB 1 stuff back before the bubble burst), and I decided to get back into the game and "brush up" on EJB by getting this cert. I certainly know more now than I did even back when I was working with it, but going through the HFEJB section on CMP entity beans has finally lead me to ask myself this question:
Was the EJB team on crack when they came up with this stuff???
There's a lot of good to it, I know. But it seems as if they've created a lot of non-sensical arcane rules that need to be remembered in place of low-level programmatic "complexity."
My gripes du jour: * regarding container callbacks: I thought it was generally understood that if you had two methods that behaved differently and produced different results, you didn't name them the same frickin' thing. They're not the same! They're not even overloaded! They're different!
* CMP creates: home interface returns component interface, bean class ejbCreate DECLARES pk object return but RETURNS null, and ejbPostCreate returns void. I understand why, but...why?
There are plenty more, but I don't want to spend all night whining. It's just that I've had to make up so many charts to keep the multitude of these little details straight that it makes me want to give up and go study something that makes sense to me as a programmer.
I perfectly understand your concerns. The EJB expert team has recognized that things were way to difficult for people to develop entreprise-level applications in a productive and reliable way. That's why they have incepted a new JSR for EJB 3.0 whose primary goal is to drastically ease the development of EJBs. The EJB 3.0 spec will be part of the J2EE 1.5 spec which has a muhc larger scope but still pursue the same goal, i.e. ease of development. If you have a look at the recently released early draft of the new EJB 3.0 spec, you will see that the way we will develop EJBs in the future has nothing to do anymore with the way we develop them now. This is still an early draft which needs some heavy work but the bottom line is that the expert group is now committed to produce a much better spec given the feedback they got from the industry and academic institutions.
This all doesn't mean that you shouldn't study for this certification. If you are interested you can have a look at a discussion (+ here and here) that started a while back on this very subject.