Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I have quite extensive Java experience (many years of Swing, desktop apps, gigan

ID: 639651 • Letter: I

Question

I have quite extensive Java experience (many years of Swing, desktop apps, gigantic applets), but have done very little JEE - only one single gig for 9 months, but that was very narrow work where I was basically just implementing business logic (in a highly abstracted internal company IDE) and at most tweaking some JSP pages. Never really picked up the macro flow of the JEE framework in depth.

In the meantime, I've done some very limited maintenance of an ASP.NET MVC app at my previous job (very limited) and am currently playing around with Ruby on Rails at home. I feel like I have the basic gist of web development down, but nothing that I can call solid "industrial strength experience" with any of these frameworks. I'm still a bit in the "cargo cult programming" stage with web development, can't really say that I could plug leaks in the abstractions if they broke, so to speak.

So what I'm wondering is: with this background (extensive Java and a decent grasp of how web frameworks work), is JEE going to be be relatively logical and easy to pick up, or will it be a huge and steep learning curve?

Basically, I'm planning to learn it, and want a preliminary idea about how big an effort it's going to be.

Explanation / Answer

Right off the bat one important misconception you have is that JEE is somehow synonymous with web. The web technologies are just a portion of JEE technologies.

Web development consists of JSP, Servlets and JSF to name a few.

JEE consists of EJB, RMI, JNDI, JMX topics and queues and many more things that can typically be implemented in a web application, however not exclusively.

Most of your application servers are JEE containers as well as servlet containers and they are not dependent upon each other.

My advice to you is to start learning about servlets, JSP, and then finally JSF web development. Understand client side scripting as well as HTML and CSS and how these typically interact with server side functionality to formulate a web application.

When you feel reasonably comfortable with these concepts then I would delve into the other JEE technologies at your discretion.