Java on Linux
Want to run Java on Linux? I suggest the IBM JDK 1.3 for Linux; I’ve been working with it (on this server, in fact) with good results.
Java Web Applications
In the world of Java web application program, the "default" answer of to the question of how to connect the Java to the HTML is JSP. For a number of reasons, though, this is often not a very good answer. Jason Hunter at servlets.com wrote an article "The Problems with JSP" about this which caused quite a lot of discussion about this a while back.
Another article in the same is "JavaServer Pages: Panacea or Quagmire".
In my experience, JSPs tend to lead a project down the path of mixing enough Java syntax in to HTML that the HTML can no longer be edited by non-developer. It really does not take very much Java to make that happen, especially since the compilation errors that can erupt from malforms JSP files can be hard even for a Java developer to track down. For small projects this need (for a Java developer to edit HTML files) may be acceptable, but for large projects it can stomp on your attempts at division of labor and greatly increase costs, as each cosmetic change now involves coordinating the efforts of a web designed and Java developer. Ouch.
Speaking of web applications, not everything is cut out be to a web application – and not everything should be in Java. If you are interested in using native Windows clients with Java server code, take a look at LINKTITLE.
Gopalan Suresh Raj’s web site has comparive code snippets covering COM DCOM JAVA/EJB CORBA .NET etc. There are a lot of developers who think of these technologies as very different; Gopalan’s site points out many similarities.
Jive looks to be high quality, Java servlet based discussion forum software. I’ll replace this comment with a report from the "real world" once I have it running.
EJB Related Links
A good starting point for EJB information is at http://patriot.net/~tvalesky/ejb.html
Also take a look at the EjbRoadmap.
A lot can go wrong in J2EE projects; this article has a "top ten" list of failulre modes, many of which really aren’t J2EE-specific at all.
JBoss is an open source, standards-focussed EJB container. Many team benefit from using JBoss for development even if they plan to use something else for deployment. Developing with JBoss in addition to another environment tends to "keep you honest" about following the EJB specs, reducing the likelihood of inadvertantly adding vendor-specific code.