I posted an article asking about JEE servers and which best to use in different scenarios. Well, I had to find a solution for my company and want to share it with you in case you have a similar task.
We have developed a web application that collects appointment data from Lotus Notes Mailfiles, writes this data into a relational database and provides an ajax frontend to view appointments, create new ones, update existing appointments and many more features. Changes will be synchronized with Lotus Notes mailfiles.
Anyway, it is a web application running on an application server. Since we have not used any EJBs, we don’t necessary need a full application server. Now there are a couple of installation scenarios for which to choose the appropriate server.
- New installation for a customer that has no application server running yet
- New installation for a customer already having an application server
- Internal productive installation
- Internal demo installation hosted on the web
- Internal demo installation in a VM for sales personnel to take to presentations
Numer 2 implies that we have to at least support the major application servers (IBM Websphere, BEA Weblogic, JBoss, Glassfish, Tomcat).
This is what I would do today in all other cases:
- New customer installation: Glassfish – I reckon Glassfish is at least as good as JBoss but has a web frontend for administration purposes. So I favour Glassfish over JBoss.
- We have to cope with what the customer already has
- Internal productive installation: Glassfish – When suggesting Glassfish to customers theres no way not to use it internally as well.
- Internal web demo: And again Glassfish.
- VM demo: Apache Tomcat – A virtual machine has not as much power as a server and there is other software running on it as well like Lotus Domino, Lotus Notes, a relational database, … Tomcat is lean and fast and sufficient for the given case.
All right. I’d appreciate any other suggestions.