I am learning Servlet and JSP. I am quit near to an end. I am not understanding which one i should learn next Spring or EJB. I have heard that EJB is for large scale system and spring is for quit small system. I am confused. Would please any one clear me the picture. Is it possible to learn both,if which one should be chosen first. I have so far seen it is possible integrate EJB with Spring.Please help. I wanna work as a freelancer.
I recommend learning Spring first because it is more commonly used. (and not just for small systems.) Learning both is good, but I think you should learn Spring first. Many of the concepts are similar. It'll be easy for you to learn EJB after Spring.
You know there are many part of Spring Where should i start?
One more question, it may quit off topic that so far i heard that it is more recommended to work in linux platfrom to web development rather than windows, is it right?
I'm personally biased because I worked on the EJB In Action Second Edition book. But the common believe that Spring is small and light-weight with Java EE being big and heavy is a complete myth. Stick with standard Java EE technology until there is a very, very good reason to use something else. If you do that, you'll find very little that you'll actually need outside of Java EE. The easiest way to learn is to get the Java EE 7 tutorial and start covering the major topics being used today: Part III The Web Tier, Part V Contexts and Dependency Injection for Java EE (No need to use an external framework for dependency injection), Part VI Web Services, Part VII Enterprise Beans, Part VIII Persistence,
Java EE Evangelist — Author, EJB 3 in Action 2nd Edition — Java Community Process Member
I learned EJBs first and I love them.
Later, I learned Spring and it seemed like alot more work.
The benefit with Spring is that you can much easier test your Spring code than you can your EJB code but I have never really had any issues testing my EJBs via SoapUI.
So I stuck with my EJBs. '
But one of the replies is correct, almost all jobs want Spring programmers. I almost never see someone wanting EJBs.
I suspect most companies started writing their apps before EJBs were as good back with JDK 1.4 as they are now and so they are invested in Spring.
I am sure there are companies who started their projects after EJBs became good but I suspect they saw all the Spring stuff and thought Spring was the best way to go.
or maybe I am wrong that EJBs are better. But since I have not been hired to do this kind of work for a company who has the project on the Internet with thousands of users, I dont know.
So, with all that said, I am an EJB programmer and have never been hired to do it.