JBoss WildFly

What is JBoss Application Server

In this article, we will explain what is JBoss application server in Java. More specifically, we are going to see the JBoss Wildly admin module which manages the applications deployed on its server.

Wildfly server was a JBoss application server during the initial releases. In this article, the JBoss Application server is discussed in detail.

1. Introduction

A JBoss WildFly Application Server is referred to as the JBoss Application Server in this article. JBoss has high availability, reliability, and flexibility from the Wildfly 10 version. JBoss Application Server can be executed on different operating systems like Linux, Unix, Windows, and Mac OS.

2. JBoss Wildfly Application Server

2.1 Prerequisites

Java 7 or 8 is required on the machine where JBoss Wildfly is running. In addition, JBoss Wildfly needs to be installed after Java is installed.

2.2 Install Java

You can install Java by running the below command:

Installing java

sudo apt-get install default-jdk -y

You can check the jdk version using the following command:

Java Version

java -version

2.3 Download JBoss Wildfly

You can download JBoss Wildfly using the below command:

Download JBoss Wildfly

wget https://download.jboss.org/wildfly/16.0.0.Final/wildfly-16.0.0.Final.tar.gz

2.4 Extract JBoss Wildfly

You can extract the JBoss Files from gzipped tar file.

Extract JBoss Wildfly Files

cd /opt
tar -xvzf wildfly-16.0.0.Final.tar.gz
sudo mv wildfly-16.0.0.Final wildfly

2.5 What is JBoss Server?

JBoss Server’s name changed to WildFly around 2013. JBoss is now a subsidiary of Red Hat Inc. JBoss Server is an alternative to popular IBM Websphere and SAP Netweaver. RedHat has a JBoss developer program which provides content regarding the application server for the programmers. JBoss (WildFly) Server is a lightweight and cloud-based application server. It has features for application development, deployment, performance analysis, monitoring, data integration, and automation.

2.6 Why do we use JBoss Server?

JBoss Server is used as it has Java Enterprise Edition features. Developers can program applications using JEE and other features. They can also use it for developing non-JEE based applications. The footprint of the JBoss application server is bigger for non-JEE based applications on Tomcat Server. JBoss provides capabilities such as startup, shutdown, deployment, and undeployment of JEE applications.

2.7 How we configure JBoss Server? 

The IP address can be set to by editing the standalone.xml

standalone.xml changed configuration

<subsystem xmlns="urn:jboss:domain:webservices:2.0">
<endpoint-config name="Standard-Endpoint-Config"/>
<interface name="management">
<inet-address value="${jboss.bind.address.management:}"/>
<interface name="public">
<inet-address value=”${jboss.bind.address:}”/>

2.8 How to deploy a JBoss Server? 

Wildfly server can be started with this command from wildfly-16.0.0.Final/bin:

start command

sudo sh /opt/wildfly/bin/standalone.sh

After the wildfly server starts and you can check in the browser using the url :

What is JBoss - Wildfly installed
Wildfly installed

A sample war provided below in the download section can be deployed on to the stand-alone server. The admin console is launched using this link.

What is JBoss - Admin Console
Admin Console choosing war file

The application name and runtime name can be configured as shown below.

What is JBoss- Configuration of application
Configuration of application

The following screen shows the successful deployment.

 Successful Deployment
Successful Deployment

You can check the war deployed by using the link:

Sample War Deployed
Sample War Deployed

2.9 The Major Differences Between JBoss and Tomcat 

Tomcat is a java servlet container. JBoss is an implementation of the JEE technology stack. Tomcat is a lightweight server. Tomcat has the benefits of lesser complexity and better modularity. Tomcat is a web server and not an application server. Using the spring framework, Tomcat can be deployed as a spring application server. Tomcat has an implementation of Java servlet, JSP, Java Expression Language, and Java WebSocket specifications. JBoss and Tomcat have developer communities. Developer community help in the evolution of both the platforms. Developers can program complex Java applications using JBoss using JEE features. JBoss provides the following features :

  • Load Balancing
  • Caching
  • FailOver
  • Aspect Oriented Programming (AOP) support
  • Security Models
  • Availability
  • JNDI
  • EJB

2.10 When To Choose JBoss?

Web-centric and user-facing apps use Tomcat over JBoss. Simple web apps are deployed on Tomcat. Tomcat is easy to manage and monitor. Tomcat has a smaller memory footprint compared to JBoss. Developers can run more than one tomcat instance on a server. JBoss is used for building applications with a full Java EE stack. It has plugins to add and delete services. Applications on JBoss can be executed on the domain and standalone modes. In addition, it has connectors for different protocols. It can also have multiple engines with services. Each service can different connectors to handle the requests based on different protocols.

3. Download the Source Code

You can download the full source code of this example here: What is JBoss Application Server

Bhagvan Kommadi

Bhagvan Kommadi is the Founder of Architect Corner & has around 20 years’ experience in the industry, ranging from large scale enterprise development to helping incubate software product start-ups. He has done Masters in Industrial Systems Engineering at Georgia Institute of Technology (1997) and Bachelors in Aerospace Engineering from Indian Institute of Technology, Madras (1993). He is member of IFX forum,Oracle JCP and participant in Java Community Process. He founded Quantica Computacao, the first quantum computing startup in India. Markets and Markets have positioned Quantica Computacao in ‘Emerging Companies’ section of Quantum Computing quadrants. Bhagvan has engineered and developed simulators and tools in the area of quantum technology using IBM Q, Microsoft Q# and Google QScript. He has reviewed the Manning book titled : "Machine Learning with TensorFlow”. He is also the author of Packt Publishing book - "Hands-On Data Structures and Algorithms with Go".He is member of IFX forum,Oracle JCP and participant in Java Community Process. He is member of the MIT Technology Review Global Panel.
Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Inline Feedbacks
View all comments
Back to top button