-
Notifications
You must be signed in to change notification settings - Fork 0
YourNote 603: Java Application Server
Zhamri Che Ani edited this page Jun 6, 2026
·
1 revision
| Feature | Tomcat | TomEE | WildFly | GlassFish | JBoss EAP | Payara Server |
|---|---|---|---|---|---|---|
| Type | Servlet Container | Jakarta EE Server | Jakarta EE Server | Jakarta EE Reference Server | Enterprise Jakarta EE Server | Enterprise Jakarta EE Server |
| Maintainer | Apache Software Foundation | Apache Software Foundation | WildFly Project | Eclipse Foundation | Red Hat | Payara Services |
| Servlet/JSP | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| EJB | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
| CDI | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
| JPA | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
| JMS | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
| JTA Transactions | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
| MicroProfile | ❌ | Partial | ✅ | Limited | Partial | ✅ |
| Embedded Server | N/A | Limited | Yes | Limited | No | Yes |
| Production Use | Very High | Moderate | High | Low | Very High | High |
| Learning Difficulty | Easy | Easy-Medium | Medium | Medium | Medium-High | Medium |
| Memory Usage | Very Low | Low | Medium | Medium | High | Medium |
| License Cost | Free | Free | Free | Free | Commercial Support | Community & Commercial |
Tomcat is a Servlet Container.
- Servlet
- JSP
- WebSocket
- HTTP
- EJB
- JMS
- JTA
- Full Jakarta EE
- Fast startup
- Lightweight
- Easy deployment
- Industry standard for Spring Boot
- No EJB support
- No enterprise messaging
- No distributed transaction support
- Spring Boot
- REST APIs
- Lightweight web applications
Spring Boot
+
Embedded Tomcat
This is the most common Java architecture today.
TomEE =
Tomcat
+
EJB
+
JPA
+
CDI
+
JTA
- Easy migration from Tomcat
- Supports EJB
- Lightweight compared to WildFly
- Smaller community
- Less common in industry
- Learning EJB
- Small Jakarta EE projects
Successor to the original JBoss Application Server.
- Full Jakarta EE
- MicroProfile support
- Strong clustering
- Active community
- More complex than Tomcat
- Higher memory usage
- Enterprise applications
- Microservices
- Distributed systems
- EJB
- JMS
- JPA
- CDI
- JAX-RS
Reference implementation of Jakarta EE. When Jakarta EE introduces a new specification, GlassFish usually implements it first.
- Standards compliant
- Excellent for learning Jakarta EE
- Less common in production
- Smaller community
- Universities
- Learning EJB
- Jakarta EE research
Commercial version of WildFly from Red Hat.
- Enterprise support
- Long-term support (LTS)
- Certified platform
- License/subscription cost
- More administration effort
- Banks
- Government agencies
- Insurance companies
- Large corporations
- Mission-critical systems
A fork of GlassFish focused on production environments.
- Full Jakarta EE
- Active support
- Better production readiness than GlassFish
- Good MicroProfile support
- Smaller ecosystem than WildFly
- Modern Jakarta EE applications
- Cloud-native enterprise systems
| Scenario | Recommended Server |
|---|---|
| Learning Servlet/JSP | Tomcat |
| Spring Boot Development | Tomcat |
| Learning EJB | TomEE |
| Learning Jakarta EE | GlassFish |
| Enterprise Development | WildFly |
| Banking Systems | JBoss EAP |
| Government Systems | JBoss EAP |
| Production Jakarta EE | Payara |
| Cloud-Native Jakarta EE | Payara |
| Microservices | WildFly / Spring Boot |
Today most new Java applications use:
Spring Boot
+
Embedded Tomcat
instead of:
EJB
+
Application Server
because Spring Boot is:
- Easier to learn
- Easier to deploy
- Better for microservices
- Better suited for cloud environments
- Requires less server administration