Solved

Which Java Framework should be selected

Posted on 2009-06-30
9
316 Views
Last Modified: 2012-05-07
I am about to start a new application, I will be using Eclipse IDE and java, SQL Server 2005 for database and Tomcat. I am little confused to pick the framework(Not considering Struts and Ejb's). My application will have a lot of transactions. The framework should be compatible with AJAX tools.

I am thinking to use Spring MVC, Hibernate, DOJO...JUnit for testing, ANT for build

Please advice!
0
Comment
Question by:theartha
  • 3
  • 3
9 Comments
 
LVL 59

Expert Comment

by:Kevin Cross
Comment Utility
theartha,

See if these help you as they provide a lot of good detail.

http://articles.techrepublic.com.com/5100-10878_11-5070873.html
(dated a bit, but still has some substance)

http://developers.sun.com/learning/javaoneonline/2008/pdf/TS-6457.pdf

Regards,
Kevin
0
 
LVL 40

Expert Comment

by:mrjoltcola
Comment Utility
Consider Struts2 (Webwork), with the json-plugin it works very well with AJAX frameworks. For a high volume website Webwork does not quite perform as well as Spring MVC, but from a richness perspective, its more of a productive framework for me.

Also consider ExtJS for a your AJAX/front-end, though it is a heavy framework. Not the one you want if you want just light AJAX components, but great for "windows" style apps.

I've had success with two commercial projects in a row using Struts2 + Spring + Hibernate + Ext JS / JQuery

Struts2 is NOT Struts1, and is actually productive! :)


0
 
LVL 59

Expert Comment

by:Kevin Cross
Comment Utility
Here's another specifically comparing Java Server Faces (JSF), Spring MVC, Struts 2, etc. with pros and cons:
http://static.raibledesigns.com/repository/presentations/ComparingJavaWebFrameworks-ApacheConUS2007.pdf
0
Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

 
LVL 59

Expert Comment

by:Kevin Cross
Comment Utility
As usual, I would agree with MrJoltCola. :)
0
 
LVL 40

Expert Comment

by:mrjoltcola
Comment Utility
Glad someone agrees with me around here. ;)


I will say the performance difference I mentioned is not based on personal experience, but one of the Struts2 developers told me personally (he is a friend of mine) that due to the velocity template engine it lagged behind lighter frameworks. I hear that there is a new template engine in the works. But its not that Struts2 will fall on its face, its just something to be aware of page hit vs. page hit.

Performance vs Productivity is sometimes a give and take. You could also argue the same for Java vs Assembler but noone wants to write a web app in Assembler. (Well, noone sane anyway)


0
 
LVL 40

Expert Comment

by:mrjoltcola
Comment Utility
Sorry, I meant freemarker templating engine.
0
 
LVL 6

Accepted Solution

by:
jwenting earned 500 total points
Comment Utility
Just picking "the framework" without a good analysis of your needs, wants, and requirements is never a good idea.
And as you've noticed yourself it's rarely a question of picking "the framework", instead you mix and match bits and pieces of several libraries to come up with something that works for you.

JPA is a good idea for database access (which effectively means Hibernate or Toplink as those are the most commonly used).
JSF for the web interface, several choices there each with its own drawbacks and benefits.
Spring to glue it all together.
Maven would make a good build tool.
testNG for unit testing, or maybe jUnit 4.

But that's just one road, though a road well travelled.
There are many alternatives. Wicket for example has a small but enthousiastic userbase.
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
mapShare challenge 13 68
base64 decode encode 12 96
What is Python programming? 3 62
JUnit 4 @Before and @BeforeClass differences 3 19
This is an explanation of a simple data model to help parse a JSON feed
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
Video by: Michael
Viewers learn about how to reduce the potential repetitiveness of coding in main by developing methods to perform specific tasks for their program. Additionally, objects are introduced for the purpose of learning how to call methods in Java. Define …
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now