I don't use EJB at work but I think it's a good technology to know. (and be certified in)
I heard that many enterprises want to remove EJB from their product, is it true that EJB is called to disappear?
I would like to have your opinion on that!
I think EJB's are an awful technology: it's one of the best examples of what happens when a committe tries to impose a theoretical standard from a standing start. I wouldn't be at all surprised if it became a text book example of how not to define a standard.
For goodness sake: a Java based technology that doesn't support inheritance!?!? And that's the only the start of the EJB creators' crimes. Talk about brain dead.
The sooner it dies and lifts its dark cloud from J2EE (which is generally excellent) the better.
IMO Spring and Hibernate with a decent J2EE server (even Tomcat) can do everything that EJBs were supposed do and in a much cleaner, portable and *testable* manner.
Well, the question wasn't whether or not EJBs are a good technology (when created, there weren't many other good choices that I knew of, and they worked well enough to be useful) but whether or not they're going to be around for a while. And to that, I'd say the answer is a resounding yes. The tech field is too big for one or two new technologies to "disappear" another one.
Look at Struts. By comparison to the newcomers (Spring MVC, WebWork 1 & 2, Velocity, Tapestry, etc) it's quite difficult to use and not very feature rich. Yet, with so many developers out there being expert at it, and the fact that it can still solve the same problems, it's not going anywhere soon.
If you're worried about learning EJB and not using it, then wait until you are going to use it to learn it deeply. In the interim, become familiar with the architectures of many products and wait until you need to use them before delving any deeper.
I've just completed porting our EJB (session, entity and MDB beans) application to Spring and Hibernate. I love it! Granted it was a port rather than a design-from-scratch situation, but I still found working with S+H to be much easier and more straight-forward. But, I'd bet good money that I'll end up using EJB on another project eventually. Heck, I'd do another PowerBuilder project just for kicks.
The other thing to consider is which type of company will use the tech you prefer. I expect big shops with lots of old EJB apps to take a long time to migrate, whereas companies doing new projects are more likely to use the latest tech. If you want the option of working at larger firms, definitely get comfortable with EJBs. You'll pick up the details when you need them.