Which Java framework meets these requirements? What set of frameworks would be best suited to meet these requirements?

The requirements are:

  • oriented for web
  • support for transactions
  • support for creating RESTful web services
  • support for security, levels of security
  • integration with some kind of ORM framework like Hibernate
  • ability to change front-end without need of making changes to back-end. Firstly, I want to develop a flex based front-end but if I've ever wanted to change it to HTML5 then I don't want to make changes to my back-end
  • ready for cloud
  • free to use for commercial purposes

To my mind comes Spring but are there any other alternatives meeting these requirements? What about if it is not necessary java? Do you know framework, set of frameworks combined together in other language which meet these requirements best?

closed as off-topic by gnat, GlenH7, user40980, Arseni Mourzenko, Bart van Ingen Schenau Mar 16 '15 at 10:54

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – gnat, GlenH7, Community, Arseni Mourzenko, Bart van Ingen Schenau
If this question can be reworded to fit the rules in the help center, please edit the question.

  • Hum... I would say that there's a handful of frameworks that meet those requirements.. I believe what you're asking is what are our experiences and recommendations regarding those, right? – wleao Sep 16 '11 at 13:49
  • Yes experiences and recommendations but not necessarly because there might be framework better than everything you have tried so you might not have any experience in it. However I will be glad if you name frameworks which meet these requirements as well as describing your experience and recommendations, what you liked and what you didn't – Marek Sep 16 '11 at 13:53

See Matt Raible's presentations on his evaluation of various JVM web frameworks. It's a very good idea to follow his methodical approach. Spring MVC and Grails were the leading contenders last time I did an evaluation with your criteria, but you should definitely make your own analysis.

  • Thanks for link, I'm on my way to do it. Also please notice that I am not sticked only to java frameworks if there are better technologies. It is only my preference. – Marek Sep 16 '11 at 14:00
  • I'd say try Django, a Python web framework. djangoproject.com – yati sagade Sep 16 '11 at 14:08
  • @yati What the reason and thinking behind this? I don't see many of the job offers for Python developers (which can be good thing if you are specialist) and this is also an important factor which I've skipped earlier. – Marek Sep 16 '11 at 14:23
  • 1
    Non Java frameworks should definitely be considered, but if you have a core of Java code, then a JVM framework is probably a better idea for interop (Scala's Lift, Clojure's Compjure or Groovy's Grails) – Martijn Verburg Sep 16 '11 at 16:22
  • @Marek - I get recruiters calling me looking for Python developers all the time. Don't write it off. That said, I second Martijn's advice. – Matthew Flynn Sep 16 '11 at 17:27

Spring is pretty much the standard for that type of thing. It's a pretty big framework though. I use JSF for things that really don't require Spring (but probably is too lightweight for where you're going?).

  • One of my requirements is using Flex as the front end so I need some kind of frame work which can be integrated with Flex as well as leaving a place for other front-end technologies in the future. Do you know any other frameworks than Spring which would be good for it? – Marek Sep 16 '11 at 13:55
  • I can't say. I don't know what "Flex" is. :-) – Brian Knoblauch Dec 13 '11 at 16:25

Not the answer you're looking for? Browse other questions tagged or ask your own question.