I'm new to EJB. The product I'm working on uses EJB2.x. And the Head First EJB reads great, but it's about EJB2.x. The EJB3.x seems change a lot. I can't find the bodyguard(EJBObject) any more! My questions are:
1. How many products are upgraded to EJB3.x? Will EJB3.x replace 2.x soon? 2. Which exam to take? It's a little different from SCJP. It changes too much. 3. Why does Sun change EJB a lot? Is EJB2.x proved a bad practice?
1) I don't know the exact number, so I will say "some". For example, JBoss is upgraded while WebSphere is not. 2) It depends on your goals. 3) EJB 2.X is a lot more complicated than it needs to be. It's not bad practice per se in that the same thing happens behind the scenes. However EJB 3 abstracts much more.
While ejb2 was frowned upon by a lot of decision makers (people who choose which technology they will buy/use), put at the end of the list, where spring/hibernate is on a higher preference, there is now no reason not to use the full JEE.
The only reason you will need to learn EJB 2.X is if you 'might' need to maintain existing, or at a lower possibility, create new, EJB 2 applications. E.g. if you are a developer who works in a team who is in the process of starting to convert ejb 2 to ejb 3 applications.
And for the same reason, maybe a few still use EJB 1.X. [ November 06, 2007: Message edited by: Jesus Angeles ]