Essentially jsp seems to be the common denominator for web programming so I'm gonna post here. First off, I've been programming in Java for a little more than a year. Frist off, I was developing stand alone Swing applications which interfaced with our corporate databases and that was fairly straightforward after learning the ropes of Java, JDBC, object persistence, design patterns, etc etc etc (you get the drift).
Then we all decided we wanted something a little more web-centric so off I went doing my research and thought that since our main push for going to the web was to ease the pain of deployments and updates, well it might just be more suitable to go with JWS than actually reprogramming the user views into web pages. So that's what we did and to this day, I really like JWS for deploying apps in an intranet environment.
I'm now trying to advance the scope of my knowledge and branch out into web programming and have been diligently researching this topic for the past month just trying to get a grip on the standards used, common design methodologies, best practices, outdated technology, upcoming technologies, etc etc. To be honest, the number of choices and opinion is endless when you're looking at potential paths to take down the road.
Do I learn struts? Well, not sure because I read opinions on both sides of the spectrum from some people claiming it's so bloated it's not worth using and yet others adore it because they don't have to "reinvent the wheel" everytime they want to get something done in the context of a web application. I look at the complexity of the jobs I would like to tackle and, to some extent, I believe they fit the fill of being large enough to benefit, but I still wonder if the alternatives are better than struts (i.e. tapestry, spring, etc).
What about web-services? I know little about xml, but it doesn't seem to be all that convoluted. What are the benefits to having a web-service in my application in the first place? Can't I just as simply do everything I want to from a servlet or client-side via a jsp or applet? I can see some potential in being able to stream data from a web-service via xml, but I'm not sure that I can't achieve the very same thing through other channels, a I wrong here?
SOAP - Have to admit, I'm not even sure what this is, but I've seen it referenced in the context of getting .NET and Java services to communicate. I guess it's just another technology that has to be learned and evaluated.
EJB - To the best of my knowledge, this seems to be something that would be great on a resume, but I'm not entirely sure I want to give this technology a go until EJB3.0 comes out. I'm in love with Hibernate as my persistence mechanism and I'm not super-willing to just give that away as it really speeds up my development time. What other container services are here that I can't find in open-source peojects which have more flexible implementations?
Almost forgot - Java Server Faces. That's next on my list to search out, but as of now, I haven't the foggiest what they are.
And on top of the technologies involved, what about the general design principles of a web-application? Ok, I've done a few simple JSPs to pull data from a db and display, but they were non-interactive. Managing sessions, cookies, etc seems like it can be a little rough at first sight, but not nearly as difficult as deciding the technologies to use.
At the end of the day, it's almost a full-time job to keep up with the tech.
Let me hear some of your experiences....or maybe even post a link or two that you think might be helpful to me.
Thanks,
David
[ January 26, 2005: Message edited by: David Mace ]