This article will help you in understanding the difference between WildFly / JBoss AS / JBoss EAP which all refer to the Java Enterprise application server created by the JBoss Team.
Firstly, the generic term JBoss or JBoss AS refers to the first name of the Community version Java application server. If you are looking for the old application server versions, they are archived here: http://jbossas.jboss.org/downloads
Since 2006, Red Hat provides commercial support for the JBoss Application Server. Therefore, to disambiguate between the Community and Commercial version the term “WildFly” has been coined for the Community version.
Therefore, the following distinction applies:
- WildFly: The Community version of the Application Server
- JBoss EAP: The Enterprise version of the Application Server
Can I use WildFly in production?
Basically, there are no restrictions in using WildFly in production. On the other hand, if you are planning to do that, you are strongly advised to migrate to the latest version of WildFly, as those versions are not maintained by any community of developers.
Likewise, we recommend to be an active member of WildFly community if you want to deploy WildFly in an Enterprise context. For example by reporting bugs or submitting Pull Requests on the WildFly Project (available on Github ).
WildFly Enterprise Implementation
In the following table you can see the Java EE / Jakarta EE Compatibility Matrix for each version of the Community application server:
|Application Server Version||Enterprise implementation|
|JBoss AS 7||Java EE 6|
|WildFly 8 to WildFly 11||Java EE 7|
|WildFly 12 to WildFly 13||Java EE7 /Java EE 8 (Tech preview)|
|WildFly 14 to WildFly 16||Java EE 8|
|WildFly 17 to WildFly 22||Java EE 8 /Jakarta EE 8|
|WildFly 22 to WildFly 26||Jakarta EE 8/ Jakarta EE 9|
|WildFly 27||Jakarta EE 10|
Please note that WildFly 27 has passed the Jakarta EE 10 TCK and its compatibility certification request has been approved by the Jakarta EE Spec Committee. So, since the version 27, WildFly is a Jakarta EE 10 Full/Core/Web platform compatible implementation.
IMPORTANT NOTICE: Wildfly application server is not supported as a product by Red Hat. You can get help at various levels:
1) Through the Forum currently hosted in a Google Group https://groups.google.com/forum/#!forum/wildfly
2) Using StackOverFlow, setting as item “wildfly”: https://stackoverflow.com/questions/tagged/wildfly
How to receive Enterprise support: JBoss EAP
JBoss Enterprise Application platform is Red Hat’s supported application server. JBoss EAP is still an opensource project but if you want to use JBoss EAP in production with Red Hat’s support, then you need to activate a subscription. You can download JBoss EAP from the following link: https://developers.redhat.com/products/eap/download/
IMPORTANT NOTICE: JBoss EAP derives from the source code of WildFly. That does not mean that the source codes for both projects are identical. Some differences in functionality, security patches, etc. may exist to a varying degree.
More about this topic on the following article: Is JBoss EAP free to use ?
The following Java EE versions are supported in the latest versions of the application server:
|Application Server Version||Java EE / Jakarta EE version|
|JBoss EAP 5||Java EE 5|
|JBoss EAP 6||Java EE 6|
|JBoss EAP 7||Java EE 8 / Jakarta EE 8|
|JBoss EAP 8 (TBD)||Jakarta EE 10|
Mapping WildFly versions with JBoss EAP versions
Firstly, it is not possible to map exactly a version of the Community version (WildFly) with the corresponding version of JBoss EAP. This is due to the fact that they are maintained in separated branches. However, the following table shows which WildFly version is the baseline to build a JBoss EAP version:
|JBoss EAP Version||WildFly / JBoss Version|
|EAP 6.0||JBoss AS 7.1|
|EAP 6.1||JBoss AS 7.2|
|EAP 6.2||JBoss AS 7.3|
|EAP 6.3||JBoss AS 7.4|
|EAP 6.4||JBoss AS 7.5|
|EAP 7.0||WildFly 10|
|EAP 7.1||WildFly 11|
|EAP 7.2||WildFly 14|
|EAP 7.3||WildFly 18|
|EAP 7.4||WildFly 23|
Source code of WildFly and JBoss EAP
The source code of JBoss EAP and WildFly are available on Github. More in detail:
- WildFly source code: https://github.com/wildfly/wildfly
- JBoss EAP source code: https://github.com/jbossas/jboss-eap7
Binary builds of WildFly and JBoss EAP
The binaries of JBoss EAP and WildFly are available at the following locations:
- WildFly binaries: https://wildfly.org/downloads/
- JBoss EAP binaries: http://developers.redhat.com/products/eap/download/
Building MicroProfile applications using EAP and WildFly
Another key difference between JBoss EAP and WildFly relates to the development of MicroProfile applications.
- In WildFly, MicroProfile API are available out of the box in the full server distribution. The configuration files named standalone-microprofile.xml and standalone-microprofile-ha.xml can be used to develop Jakarta EE applications in combination with the MicroProfile API.
- In JBoss EAP, MicroProfile API are included in the Eclipse MicroProfile Expansion Pack (JBoss EAP XP) which is available as a patch stream, when using JBoss EAP XP manager. Therefore, you need to install JBoss EAP XP on the top of JBoss EAP to have the supported MicroProfile API with EAP.