Red Hat JBoss EAP: A Modular and Lightweight Platform for Java Applications
JBoss Enterprise Application Platform: A Guide for Developers
If you are looking for a powerful, modular, and cloud-ready platform to host your Java applications, you might want to consider JBoss Enterprise Application Platform (EAP). JBoss EAP is an open source platform that supports the latest Java standards and specifications, such as Jakarta EE 8, Java SE 11, and Eclipse MicroProfile. It also provides enterprise-grade features such as clustering, caching, security, management, and automation. In this article, we will show you how to download, install, and use JBoss EAP for your development needs.
What is JBoss EAP and why use it?
JBoss EAP is an application platform that is based on the popular open source project WildFly. It is designed to run highly transactional, web-scale Java applications in a variety of environments, including on-premise, virtual, and cloud. JBoss EAP is certified to comply with the Jakarta EE 8 specifications, which are the successor of the Java EE standards. This means that you can use the familiar and popular Jakarta EE APIs to develop your applications, such as Servlets, JSPs, JSF, CDI, EJBs, JPA, JMS, and more. You can also use the Eclipse MicroProfile APIs to add additional capabilities to your applications, such as fault tolerance, health checks, metrics, configuration, open tracing, and more.
jboss enterprise application platform download red hat developer
Features and benefits of JBoss EAP
Some of the main features and benefits of using JBoss EAP are:
Modular and lightweight: JBoss EAP has a modular structure that allows you to enable only the services that you need for your application. This improves the startup speed and reduces the memory footprint of your application server. You can also customize your server configuration by adding or removing modules as needed.
Optimized for the cloud: JBoss EAP is highly efficient and scalable for container and cloud deployments. It supports various cloud platforms such as Red Hat OpenShift, Amazon Web Services, Azure App Services, and Google Cloud. It also offers fast start-up times, low resource utilization, and intelligent load balancing for your applications.
Enterprise performance: JBoss EAP provides high performance and reliability for your applications. It supports failover, clustering, caching, distributed deployment, and transaction management. It also uses a flexible web server called Undertow that supports both blocking and non-blocking IO models.
Security: JBoss EAP includes a security subsystem called Elytron that provides a unified framework to manage and configure access for standalone servers and managed domains. It supports various authentication mechanisms such as LDAP, Kerberos, OAuth2, JWT, and more. It also supports encryption, SSL/TLS, certificate management, auditing, and role-based access control.
Management and automation: JBoss EAP provides powerful tools to manage and automate your application server. You can use the web-based management console or the command-line interface (CLI) to monitor and configure your server. You can also use the RESTful management API or the Java management API to integrate with external tools or scripts. You can also use Ansible to automate the installation and configuration of your server.
Deployment options for JBoss EAP
JBoss EAP offers various deployment options to suit your needs. You can choose to deploy your applications on:
Standalone server: This is the simplest option where you run a single instance of JBoss EAP on your local machine or a remote host. You can use this option for development, testing, or production purposes. You can also configure multiple standalone servers to form a cluster for high availability and load balancing.
Managed domain: This is a more advanced option where you run multiple instances of JBoss EAP that are managed by a central controller called the domain controller. You can use this option to manage large-scale deployments across multiple hosts and environments. You can also define server groups and profiles to apply common configurations and deployments to your servers.
Container: This is the most modern option where you run JBoss EAP as a containerized application on a platform such as Docker or Kubernetes. You can use this option to leverage the benefits of containerization, such as portability, scalability, isolation, and automation. You can also use Red Hat OpenShift as a cloud-native platform that provides integrated support for JBoss EAP containers.
How to download and install JBoss EAP
To download and install JBoss EAP, you need to have a Red Hat Developer account. If you don't have one, you can sign up for free at . Once you have an account, you can follow these steps:
Downloading JBoss EAP from Red Hat Developer
Go to and log in with your credentials.
Select the version of JBoss EAP that you want to download. The latest version is 7.4.0 as of June 2023.
Select the platform that you want to download. You can choose between ZIP, Installer, or Container Image formats.
Click on the Download button and save the file to your preferred location.
Installing JBoss EAP on your local machine
The installation process depends on the format that you downloaded. Here are the instructions for each format:
ZIP: This is the easiest format to install. You just need to unzip the file to any directory on your machine. For example, you can unzip it to C:\jboss-eap-7.4 on Windows or /opt/jboss-eap-7.4 on Linux.
Installer: This is a graphical format that guides you through the installation steps. You need to run the executable file that you downloaded and follow the instructions on the screen. You can customize the installation options such as the installation path, the server configuration, and the security settings.
Container Image: This is a format that requires Docker or Podman to run. You need to pull the image from the Red Hat Container Catalog using the command docker pull registry.redhat.io/jboss-eap-7/eap74-openjdk11-openshift-rhel8:latest or podman pull registry.redhat.io/jboss-eap-7/eap74-openjdk11-openshift-rhel8:latest. Then, you can run the image using the command docker run -it -p 8080:8080 -p 9990:9990 registry.redhat.io/jboss-eap-7/eap74-openjdk11-openshift-rhel8:latest or podman run -it -p 8080:8080 -p 9990:9990 registry.redhat.io/jboss-eap-7/eap74-openjdk11-openshift-rhel8:latest. This will start a standalone server with default settings.
Running JBoss EAP as a standalone server or a managed domain
To run JBoss EAP as a standalone server or a managed domain, you need to use the scripts that are provided in the bin directory of your installation. Here are the commands for each mode:
Standalone server: To start a standalone server with the default configuration, use the command standalone.bat on Windows or ./standalone.sh on Linux. This will start the server on port 8080 and the management console on port 9990. You can access the console by opening in your browser. You can also specify a different configuration file by using the -c option. For example, you can use standalone.bat -c standalone-full.xml or ./standalone.sh -c standalone-full.xml to start the server with the full profile that includes more services and features.
Managed domain: To start a managed domain, you need to run two scripts: one for the domain controller and one for the host controller. The domain controller is responsible for managing the configuration and deployment of the servers in the domain. The host controller is responsible for running and communicating with the servers on a specific host. To start the domain controller, use the command domain.bat on Windows or ./domain.sh on Linux. This will start the domain controller on port 9990 and the management console on port 9990. You can access the console by opening in your browser. To start the host controller, use the command domain.bat --host-config=host.xml on Windows or ./domain.sh --host-config=host.xml on Linux. This will start the host controller and connect it to the domain controller. You can also specify a different host configuration file by using the --host-config option. For example, you can use domain.bat --host-config=host-slave.xml or ./domain.sh --host-config=host-slave.xml to start a host controller as a slave of another host controller.
How to get started with JBoss EAP development
To get started with JBoss EAP development, you need to have some basic knowledge of Java and Jakarta EE development. You also need to have a Java Development Kit (JDK) installed on your machine. The recommended version is JDK 11, which is compatible with JBoss EAP 7.4. You can download JDK 11 from . Alternatively, you can use any other IDE that supports Eclipse plugins, such as Eclipse itself, IntelliJ IDEA, or Visual Studio Code.
Creating a simple Jakarta EE application with JBoss EAP
To create a simple Jakarta EE application with JBoss EAP, you can use a Maven archetype that generates a basic project structure and configuration for you. Here are the steps to create a simple Jakarta EE application using Red Hat CodeReady Studio:
jboss eap download installer
jboss eap runtime via ide
jboss eap on openshift sandbox
jboss eap 8.0 beta zip file
jboss eap server migration tool
jboss eap maven repository offliner
jboss eap quick