I would appreciate some input into some doubts that I am having... Mainly I am wondering if its worth learning EJB for someone who is shaping up to work on some open source Java projects, mainly core java projects.
Currently I think its worth learning since its a major middle tier technology and even if i only use core java it would give me an idea of the middle tier solutions.
I think the answer to the question is -- yes. Any Java developer should be middleware cognizant since the Java market is really server-side centric (jobs, opportunities, money, etc).
As to learning EJB, I will try to be fair :-). Since EJB 3.0, learning EJB has really become about learning core middleware concepts and the usage of a handful of annotations to apply these concepts correctly. It doesn't get much easier than that I don't think, so it's not a huge effort. That's certainly the perspective maintained in EJB 3 in Action.
Once you get the hang of EJB 3, I would consider learning Spring to round out your portfolio. In my opnion, Spring has a much steeper learning curve, at least at the moment. On the flip side, Spring skills are in slightly higher demand, but that varies from place to place...
Independent Consultant — Author, EJB 3 in Action — Expert Group Member, Java EE 6 and EJB 3.1
Joined: Oct 04, 2004
How about from the perspective of someone looking to have well rounded and in depth Java skills before they delve into some open source projects??
I am planning on getting good knowledge of EJB and maybe Spring and Hibernate and then working on some open source Java projects afterwards.
Although I will most likely work on core Java technologies, like i mention (and you seem to as well) knowing a middle tier technology such as EJB can be useful, for the understanding of concepts if nothing else..
Sounds like ive answered my own question, but really looking to get your opinion and those of other folks on here!!
Thanks in advance,
Joined: Feb 01, 2005
Whether learning EJB will help or not depends on the type of type of project you are planning on working on. If it's middleware related learning EJB 3 concepts will undoubtedly help. If that doesn't seem like a challenge, try learning Spring.
Keep in mind, however, a vast majority of open source projects have nothing to do with middleware (utilities, web frameworks, etc) where your Java SE skills and basic understanding of computer science will matter more.