Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Choosing an application server for web application development

My manager has asked me to suggest an application server for web application development work.

What are the factors that needs to be considered before we select any application server for web application development in Java J2EE development?

If I select one now and IN future and I want to change to some other application server, is that minimum effort to change?

like image 671
gmhk Avatar asked Sep 29 '26 18:09

gmhk


2 Answers

Apache Tomcat and Jetty are the two most popular web containers. Tomcat is the reference implementation of a Java servlet container, Jetty is a little bit faster and more lightweight. I personally favor Jetty, but you can't go wrong with either of them. A little comparison of the two can be found here.

Generally the migration of an application between web containers is fairly easy - only some configurations needs to be changed, but nothing in the source code(which is not always the case with full blown enterprise application servers).

like image 101
Bozhidar Batsov Avatar answered Oct 02 '26 15:10

Bozhidar Batsov


The answer is that you can make it more or less difficult to change application containers based on your development practices. For example, the Liferay portal includes the custom XML configuration files for many application containers, allowing it to be used on many containers. So, it's certainly possible to switch flexibly, but you have to re-do all the server-specific configuration files and you can't rely on container-specific features.

In some cases, the containers themselves make it difficult. For example, the JBoss classloader has a history of scant support for the actual J2EE and Java EE standards. This makes it easy to rely on non-standard features, and in some cases nearly impossible to use standard ones.

Besides making sure that your application server enforces standards compliance, you do want to make sure you need a full application server, as opposed to just a servlet container as mentioned above. Does your application need EJBs, or just servlets? If you aren't doing EJB development, then an application server is over-kill.

If you are doing EJB development or otherwise using other EE features beyond what a servlet container supplies, consider ease of configuration and administration along side standards compliance, and I think you'll find a server that fits your needs.

like image 21
justkt Avatar answered Oct 02 '26 16:10

justkt