i want to develop a webshop.
1. JAVA :=)
2. Use Spring2 for the business logic.
3. Web-Interface with fancy ajax magic (eg drag'n'drop)
4. Web2.0 features: user-rating, comments, ...
So I am thinking: With what framework/technologies shoud I solve my case ? Here are a few thoughts from myself:
1. Backend: Integration of Hibernate seems solid -> use it. Or is an ORM overhead for a Webshop ?
2. Web Framework:
- JSF: kinda meet with disapproval (not mine!)
- Struts2: matured
- Spring MVC: has someone seen success-stories here ?
- Tapestry: no clue
- Dojo Toolkit
- Prototype with OpenRico
- Scriptaculous (Prototype)
So, has someone experience with interaction/interoperability of this frameworks, especially Web-FrameworkAjax-Framework ?
And what about this frameworks in the context of webshop-systems ?
I'm a bit overwhelmed by the topic, so thanks in advance for any thoughts and reports
my stack would be: wicket + postgres + ibatis + guice and/or spring
in wicket, reusable components are trivial to write and use and the vast majority of AJAX features are coded in java.
There are open source web shops available too, but if you want to make your own.
Be very careful with frameworks – they are not as good of idea as they are told.
I would use JSTL, because it’s supported by Sun.
In these frameworks the application gains a lot of architecture – layers after layers and you need to learn a lot to get the most out of the framework.
Now it’s common to use hibernate with spring but you get a heck of a lot files before your first item is set to the dispatching basket.
And always remember less the code better the application – that law is always justified in programming.
So my recommendation is like this:
JSP on JSTL + request/session beans + one or more application bean + mySQL 5 database.
Use heavy SQL query caching in application bean layer – and you may use caching in JSP –pages. That way you have application that is fast with sensible architecture – and no extra code.
- Every code line is possible bug – less code better the application