How To Choose A Java EE Application Server? (Mail Of The Week) 📎
The question is actually not what application server to use, but with what vendor the Proof Of Concept should be started. I would start with Glassfish v3. It is the Reference Implementation, and is already used in production. Glassfish is well composed mix of: Weld (RedHat), Mojarra, EclipseLink, Bean Validation (RedHat), Felix (Apache) or Equinox (Eclipse), Jersey, OpenMq (...). It is "interoperable" (smoke tested) with JBoss 6m5 and SIWpas. The interoperability with WebLogic will improve over time (with the support of Java EE 6 in WebLogic). The most interesting thing is the nature of the Proof Of Concept. I would suggest the following:
- Implement a common use case iteratively, evaluate also the developer experience (re-deployment times, stability, feedback)
- Also evaluate integration into a CI environment, Maven integration etc.
- Implement brutal (no think time, many concurrent clients) stress test. Measure the performance degradation, memory consumption, the amount of threads and transaction throughput over time. Stability is the key.
- Performance actually doesn't matter - all major application servers are fast enough for enterprise applications.
- Check the support / licensing. It is important to your manager / client