I want to develop a web application, like an online scheduler. (Yes I know it's been done a million times.) Most of my experience is in Java, so I want to leverage that when considering technologies.
I've primarily been a systems developer with little exposure to UI programming, so I think this is where I will need to do most of my learning.
Do you have any suggestions on the technologies I should focus on? I want to focus on technologies that are marketable and easy to learn.
So far this is what I think I need for a 3-tier architecture (from the ground up):
- Database (likely MySQL or PostgreSQL) - SQL, JDBC
- Back end server - Java
- Web server (Tomcat) - JSP, Servlets
- Web Framework - Tapestry (weak on this, any better alternatives?)
- Browser technologies - HTML, Javascript, CSS (need to learn)
I've heard about "Rich internet application" development tools such as Flex and Silverlight, but I'm not sure about the market for such technologies.
Edit: Seems like there's a lot of mention of Spring/Hibernate, so I'll look into that. I appreciate the feedback.