views:

532

answers:

2

Which MVC-framework is the best option (performance/ease of development) for a web application, that will have + 2 million visits per week.

Basically the site is a search engine,but also there will be large amounts of xml parsing, and high db traffic.

We are using Java, over Jboss 4.2.3x, with PG as DB, and Solr for the searches.

We were thinking on code JSPs with taglibs, and Servlets, but we were feeling like there would be a better alternative, which don't know yet, as we are starting on the Java Web applications world.

Any opinions, and shares of your experience will be appreciated!
Thanks in advance!

+2  A: 

I think you really need to sit down with the options, and assess each one (or combination thereof).

Some possible framewords that you might use (that come to mind, beyond plain old JSPs with Servlets) are:

  • Struts and Tiles
  • Spring
  • Hibernate
  • Roll your own framework (often worthwhile for large projects, but only if you know what you need which is unlikely if you haven't done web apps before)
  • Grails (Groovy on Rails, but it runs on the JVM and can use Java libs)

and many more I'm sure...

Do you want to reinvent the wheel? What client-side frameworks will you also want to use?

JeeBee
I don't want to reinvent the wheel because so many have reinvented it, and it keeps the same :) . I just want to know where I should aim to. I am taking a look to Spring, but, I still want to know what else can I use if Spring does not work for this project!. Thanks
Mg
Struts and Tiles is incredibly easy to use. Version 2 is more interoperable with Spring and/or Hibernate by being more specific in its task (not being a do-all framework). It depends on the experience of the developers IMO, more experience == less need to use pre-rolled generic solutions.
JeeBee
I will take a look into Struts 2 then, thanks.
Mg
+2  A: 

Spring MVC may be your best choice. While it is easy to use and integrate with the rest of the JEE stack, it allows a huge level of customization, and last but not the least, it is really fast because there's little overhead. I highly recommend it.

Antonio
What about spring 2 performance? I have a new issue: I need compatibility with php, for some pages: is there a version of Spring for php?
Mg
Performance is great because there's very little overhead in the request processing. Regarding PHP, I don't have experience integrating it with Java. Maybe you can find something at http://php-java-bridge.sourceforge.net/pjb/
Antonio