I've used jBoss, the open source application server for several years now. jBoss supports security, clustering, load balancing, and transactions. Its CMP (container-managed persistence) works and while it can be a little trouble to configure, the price is right. One of the things jBoss has lacked however, that costlier alternatives from BEA and IBM had, was an IDE. That's changed now with the release of a jBoss plug-in for Eclipse. If you've never used Eclipse, its a very nice, open source IDE that has gotten a lot of plug-in support from open source projects and commercial vendors alike. For example, last May, I reviewed an Eclipse plug-in from Systinet for Web services development. If you're interested in using the jBoss plug-in for Eclipse, this tutorial from DevX.com will get you started.