October 15, 2020

Java Basics: What Is Wildfly?

Enterprise Development
Java Application Development

WildFly is a popular choice for Java developers who want a lightweight, enterprise-extensible application server. But what makes it popular, and how does it compare to other available options?

In this blog, we'll give an overview of WildFly, what it does, and compare it to JBoss and GlassFish.

What Is WildFly?

WildFly is a Java Enterprise Edition fully featured application server that provides all the necessary features to run a Java web application. WildFly is designed and maintained by Red Hat and was formally known as JBoss AS.  

Overall WildFly claims to decrease development time, manage resources more efficiently, and save money for users (as an open source platform).

What Is WildFly Used For?

WildFly provides a Java web application an extension to the JVM with a complete runtime environment that will create the connection of database on one end to the web client on the other.

When designing an application within the Java enterprise you need to decide on many factors — including which frameworks and application servers to use.

Developers that choose WildFly often do so because it can easily be tooled to support enterprise applications if needed.

The WildFly application server does provide that perfect blend of fast deployments for your development while also providing features like managed domain mode that allows the user to deploy several WildFly instances.

Is WildFly Open Source?

WildFly, formally known as JBoss AS, is a completely open source community project that is free for development and production level deployments. WildFly, even as an open source software, still shares the advantages of proprietary software.

One advantage is that it receives product support from Red Hat, a large enterprise that provides many features to the product.

Second, Red Hat offers a fully paid support packages. This gives development teams the comfort of having a supported product while deploying their applications. Their support comes from their JBoss Enterprise Application Platform which provides that stability and reassurance for development teams of all sizes.

Compared to other open source support options like OpenLogic, however, Red Hat support doesn't offer the same holistic support for open source. This means those using Red Hat support will still need to find support for other open source software used within their application.

WildFly vs. JBoss

As I mentioned above, it's easy to confuse Wildfly and JBoss. Historically, JBoss has had two different versions; one named JBoss AS (Application Server) and JBoss EAP (Enterprise Application Platform).

JBoss AS was the open source community version of the application platform that allowed development teams to use JBoss free of charge.

JBoss EAP was also an open source project. However, while JBoss EAP was free to use during development, it required a fee when deployed to production.

In late 2012, JBoss AS was rebranded and renamed to WildFly. This left their last supported JBoss AS version as JBoss AS 7.

While JBoss EAP source code is based off of WildFly they are not identical and are not completely interchangeable. They differ in many ways, including security patches and overall functionality. All said and done, it is completely understandable, albeit incorrect, to confuse them as the same.

GlassFish vs. WildFly

Similarly to WildFly, GlassFish Server is an open source, fully-featured production ready application server for Java EE. The GlassFish server was originally sponsored by Sun Microsystems which later became Oracle.

After the Oracle acquisition, GlassFish was then renamed to Oracle GlassFish Server. This server provided many development teams with an application server that used the newest Java features first supported because Oracle releases all versions of Java.

Oracle are also the owners of WebLogic, a proprietary application server. They recommended that teams use WebLogic instead of GlassFish if they require commercial support.

The GlassFish code base has now been discontinued from Oracle and was donated to the Eclipse Foundation. There, GlassFish has been taken over by the Payara Server team where they now use GlassFish in their source code. WildFly and GlassFish are both open source application servers, but they do differ in many ways.

One major difference lies in commercial support. GlassFish no longer provide commercial level support — which can be a massive deal breaker for many organizations.

GlassFish also tends to be a bit more feature-rich and not as lightweight as the WildFly. The size that accompanies those features, however, prove to be cumbersome for many development teams.  Instead, they would prefer the lighter, more efficient WildFly server for their applications.

Lastly, GlassFish is limited to only supporting (at the time of this article) Jakarta EE 8, while WildFly 20 does run on JDK 11.

If you are looking to continue using GlassFish, I would consider making the switch to Payara. That way you can continue using the GlassFish application server essentially while getting commercial support as well as updated versions.

From a product comparison point of view, WildFly is more often than not the product of choice.

What Is WildFly Swarm?

WildFly Swarm, later named Thorntail, was a side project designed to deconstruct your web application server into smaller self-contained executable JARs. These JARs, called Uber JARs, are comparable to something like Spring Boot.

With the increase in demand for applications to move into the microservices space, WildFly decided to create WildFly Swarm in early 2015. As Swarm gained popularity, it became called Thorntail. Like Swarm, Thorntail was an open source project that was founded by the Red Hat Organization and was know as the “just enough app-server." 

But, as WildFly began to incorporate the features offered from Thorntail, the need for it dwindled. Not only did the WildFly application server include those features, the emergence of another comparable project, Quarkus, made Thorntail less relevant.

For those who don't know, Quarkus is an open source full-stacked Kubernetes native java framework designed with GraalVM and HotSpot. It combines the best-of-breed Java libraries and standards. Quarkus provides all the necessary features required by Thorntail users and has now made the Thorntail project effectively obsolete.

So, unfortunately, Swarm and Thorntail have both hit sunset, and are no longer supporting or creating new features for the product. Their final release was sometime in June of this year.

Final Thoughts

As mentioned throughout the article, WildFly is a popular choice for Java developers who want to develop enterprise-capable applications, and do so without paying for a commercial application server.

Regardless of which enterprise Java application server you choose, be sure to keep it supported with dependable commercial support, and use JRebel to speed up your application development. 

Additional Resources

Looking for insight into which application servers Java developers are using most in 2020? Our 2020 Java Developer Productivity Report gives data and insight on the most popular technologies in Java today.

Download Report

Looking for additional reading on Java frameworks and application servers? These resources are worth a look.

Speed Up Your Java Development With JRebel

JRebel is the must-have tool for enterprise Java development. In fact, the median developer working on a WildFly-based application can save over 1 hour and 45 minutes per week alone. How? By skipping application redeploys!

See how much time JRebel can save on your WildFly application development with a free, 14-day trial today!

Try JRebel for Free