File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Preferred Java technologies to write a website such as 43things or craigslist

 
Amit C
Greenhorn
Posts: 3
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

I am starting to explore Java technologies and before jumping into my choices (Hibernate & Struts), thought I will put a question as to what my fellow developers recommend.
What would be your preferred Java (ideally) technologies to write a fairly extensive website such as 43things or craigslist?
I did do a search and found the following is the closest and only thread I found
Topic: What technologies should I use for new web app?

If this is the wrong forum, I do not mind it being moved to another more appropriate one.

Thanks
Amit
 
Ulf Dittmer
Rancher
Pie
Posts: 42966
73
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Welcome to JavaRanch.

Well, that other thread is a start. JSF is debatable for the web framework, and Struts is slowly starting to be on its way out. If you can use Java 5, have a look at something like Stripes.

Whether ot not an Apache web server in front of Tomcat is actually necessary depends on your circumstances. Tomcat has made big performance strides in static file serving (which is what Apache httpd was used for in such a setup).
 
Sol Mayer-Orn
Ranch Hand
Posts: 311
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
1. Hibernate is great (the only exception being applications that rely on *insanely* complex stored prcedures).

2. Business logic layer:
i'd consider Spring. It intorduces great design ideas, simple declarative security, and more. Even when I don't use it, I find myself following its cool design principals.
(For complex, replicated applications you might consider EJB, which can also replace Hibernaete. Unfortunately EJB is on a cross roads right now: the old EJB 2 is strongly criticized for bad cumbersome design. The new EJB 3 is cleaner and more modern, but it has much less literature and less production experience).

3. Controller - one of the 3: JSF , or Struts, or the newer 'Struts Action 2'.
The choice is a matter of personal taste... I'd consider 3 factors:

a) Design & complexity:
JSF is 'Component Based' - enhances component reusability, at the cost of being more complex to learn & trace (I've also heard some complaints about JSF performance, but I havent' checked them closely).
Struts (and Struts Action 2) is 'Action Based'. Meaning a simpler flow, more straight-forward to lean and trace. You can still have good design and reusability, but not a fancy as those of JSF.

b) IDE support & Wizards:
All 3 frameworks require you to implement some interfaces, *and* create some XML files.
Now, JSF and the *old* Struts both have a fair share of IDE support, especially wizards to generate code skeletons, XML files, and graphical viewers to show application flow.
The new Struts Action 2 doesn't have that much IDE support, you'd probably need to manually type the code + xml files ( It's quite simple, personally I don't mind it, but if you like wizards and graphical views, it's a problem).

c) Job interviews: I've seem demand for both JSF and *old* struts.
You might try to follow the addes in your country, see which is more in demand, or is one quickly gaining on the other (even if you're not looking for a job, it's good to know your market value).
The new Struts Action 2 is less likely to come up in interviews, interviewer isn't always guaranteed to have heard of it...

Good luck
[ March 13, 2007: Message edited by: Sol Mam-Orn ]
 
Amit C
Greenhorn
Posts: 3
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ulf, Sol, Thanks for the reply.

Sol, Special thanks for breaking up the different aspects.

For other readers, I also read the following yesterday and it might help:
Comparing Web Frameworks: Presentation and Discussion. Covers Struts, Spring, Tapestry, WebWork, and JavaServer Faces
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic