Który z serwerów: Tomcat, GlassFish czy Jboss jest najwygodniejszy do aplikacji webowych pisanych w Javie?
Tomcat jest moim zdaniem najwygodniejszy i najprostszy. Dalej w kolejności GlassFish oraz JBoss.
Na początku warto zauważyć, że serwer Tomcat nie jest pełnym serwerem aplikacyjnym, a jedynie kontenerem webowym. W związku z czym z założenia jest on dużo lżejszy niż dwa pozostałe. Jednak zarówno Glassfish jak i WildFly (aktualna nazwa dla serwera JBoss) występują także w wersji "okrojonej" (tzw. web profile), w której są one pozbawione kontenera ejb oraz implementacji kilku innych standardów.
Wszystkie trzy serwery są dostępne na zasadach wolnych licencji, w związku z czym można ich używać bez konieczności wykupowania licencji (nawet w przypadku rozwiązań komercyjnych).
Jeśli przyjrzeć się statystykom wykorzystania, to można zauważyć, że najbardziej popularny jest Tomcat, dalej WildFly, a na trzecim miejscu Glassfish.
Do wszystkich serwerów dostępna jest dość dobra i darmowa dokumentacja. Aktualnie można wykupić komercyjne wsparcie serwera WildFly (Oracle niedawno wycofał się z supportu Glassfisha).
Zarówno WildFly, jak i Glassfish posiadają całkiem przyzwoitą konsolę web, dzięki której można łatwo konfigurować/zarządzać serwerem (konsola Glassfisha jest dużo bardziej rozbudowana).
Na koniec warto zauważyć, że Glassfish jest referencyjną implementacją specyfikacji Java EE, a co za tym idzie, zawsze zgodny z jej najnowszą wersją.
Z moich własnych porównań wynika, że Wildfly 8 potrafi odpowiadać na zadania nawet 50% szybciej niż Tomcat 7. Wildfly ponadto pozwala na konfigurację z poziomu konsoli webowej, narzędzia cli graficznego i działającego w trybie tekstowym - do wyboru. Konsola webowa pozwala na podgląd stanu serwera (np. Stan puli połączeń) i zmianę konfiguracji w locie (np. Logowanie). Tomcat konfiguruje się przez edycję plików xml (w Wildfly/EAP też można) i ręczne dodawanie bibliotek.
Niestety Wildfly w całej swojej przewadze zawiera sporo błędów (chcesz stabilny serwer aplikacji? Płać za EAP) np. dodanie datasource oracle jest właściwie niemożliwe z konsoli webowej i trzeba wiedzieć, jak osiągnąć to samo z poziomu cli. Dlatego produkcyjnie polecam jednak Tomcat albo EAP jako rozwiązanie bezkompromisowe.