Hi,I wanted to gather some thoughts on why investing in a J2EE app server is more beneficial than building your own middleware tier using technologies like Java/JDBC/Oracle/Apache Web Server.What are some of the key benefits a J2EE app server provides that is time comsuming and difficult to build in a custom in-house middleware application?
You could, if you want, only that you'd have to worry about transaction management, deployment, scalability, reliability, maintenance, security and so on yourself. Which should all amount to few dozen man-years (if not few hundreds, since the commercial app-servers keep improving regularly). Creating your own middleware is akin to creating a whole new library yourself for basic functionality like I/O, thread management, etc. Would you rather do that, or focus on your problem itself?
Have a look at the J2EE spec to understand what the application servers provide. You can then look at specific app servers to understand the special functionality/advantage a certain flavour provides.
Another question I had was about JBoss. If I don't want to spend hundreds of thousands of dollars to by an App Server, is JBoss a reliable production application?
What is the approximate cost of running JBoss in a company?
This is perhaps the trickiest question of it all. TCO is always a contentious issue, least of all because of the number of parameters involved - number of users/developers, licensing/usage model, and so on. JBoss offers a combination of free and for-pay documentation, so your costs will vary depending upon how many licenses/copies you may need to buy. Soft costs will include hiring staff with necessary skills, buying servers and other network devices for running and support your JBoss-based dev environment