views:

53

answers:

2

As we all know that we rarely get a chance to learn whats out there in the enterprise world when it comes to college. In my experience I have always seen people learning Core Java and may be some other languages and when they graduate they have no Idea about this enterprise jargon. I am in that boat now. I am a recent graduate with a programming job and I often get confused about all the jargon which appear in the news an discussions. I believe all the frameworks mentioned have a purpose at the time of creation which is intended to fill a void.

I am sure that many of you would have gone through this in the early stage of your career. Is there anything out there a blog post, book , video or forum discussion which helped you to understand how all these frameworks weave together to form a application.

A detailed article would be most appreciated. I tried to look for one but I could them in bits and pieces but not a comprehensive article.

A: 

You could google/wikipedia them 1 by 1.

From wikipedia Java EE

"Java Platform, Enterprise Edition or Java EE is a widely used platform for server programming in the Java programming language. The Java platform (Enterprise Edition) differs from the Java Standard Edition Platform (Java SE) in that it adds libraries which provide functionality to deploy fault-tolerant, distributed, multi-tier Java software, based largely on modular components running on an application server."

The Spring framework is sort of an alternative to Java EE.

Spring

Struts

"Apache Struts is an open-source web application framework for developing Java EE web applications. It uses and extends the Java Servlet API to encourage developers to adopt a model-view-controller (MVC) architecture. It was originally created by Craig McClanahan and donated to the Apache Foundation in May, 2000. Formerly located under the Apache Jakarta Project and known as Jakarta Struts, it became a top level Apache project in 2005."

and so on. Research at your liesure...

hvgotcodes
+2  A: 

You don't need all of these frameworks for completing your application. Even though many frameworks provide integration and support for each other, you don't have to use them all. I suggest you go layer by layer. Spring has uses in almost all layers, Struts is mostly an MVC framework. Spring MVC (one part of Spring) and Struts fill the same void. Tiles is a view layer framework. I think FreeMarker, Velocity and Tapestry are also view layer frameworks. JBOSS is an application server.

Spring and EJB 2.x were competitors. Again, EJB is meant for some of the more complicated applications, find more on this from the creator of Spring who wrote an entire book on why EJBs are not suitable for all web applications, which laid the basis for what was to become Spring later on. Though now, the latest EJB version 3.x seems to be getting good reviews. You haven't even mentioned Hibernate and iBatis for the ORM needs of your web-app.

I suggest you get used to the plethora of frameworks in the enterprise java world. If anything, it shows that the java world is alive and active.

Abhijeet Kashnia