In this tutorial we will learn what is JBoss and what is JBoss used for. The word JBoss is quite generic. In the beginning it was used to reference a Community Opensource project called “JBoss” developed by the JBoss Inc. which was later acquired by Red Hat in 2006.
Since JBoss org. was acquired by Red Hat, the portfolio of products grew up and to disambiguate the Supported Version from the Community Version of the Product now we can distinguish the following products:
The JBoss Galaxy
The JBoss ecosystem is very large indeed, and includes products and tools to manage Application Runtimes, Application Integration and Process automation.
Here is an overview of JBoss Products, which includes the upstream project and the product supported by Red Hat.
|WildFly Application Server||WildFly Application Server: This is the Community Version of the older “JBoss Application Server”, which provides server runtime platform used for building, deploying, and hosting highly-transactional Java applications and services.
The supported version of WildFly is JBoss Enterprise application Platform
|Infinispan||Infinispan is a distributed in-memory key/value data store with optional schema, available as Cache or Grid over a variety of protocols (Hot Rod, REST, Memcached and WebSockets). Get started with: Getting Started with Infinispan Part 1
The supported version of Infinispan is Red Hat Data Grid.
|Thorntail||Thorntail offers a microservice approach to packaging and running Java EE applications by packaging them with just enough of the server runtime to “java -jar” your application. Get started with: Introduction to Thorntail
Please notice that Thorntail has annnounced the End of Life of its product. We recommend using WildFly or Quarkus as Runtime environment.
|Artemis MQ||ArtemisMQ is an open source, lightweight messaging platform for real-time integration derived from the former Jboss product called Hornet MQ. Artemis MQ can reliably and scalably delivers information like pricing updates, order acknowledgements, and delivery schedules between distributed endpoints.
The supported version of ArtemisMQ is Red Hat® AMQ
|Integration Tools||In order to leverage application integration you can use several open source technologies from Apache projects, including Apache Camel, Apache CXF, Apache ActiveMQ, Apache Karaf, and Fabric8.
If you want to use an universal platform to integrate standalone and cloud applications, Red Hat provides Red Hat® Fuse to connect everything: legacy systems, application programming interfaces (APIs), partner networks, Internet of Things (IoT) devices, and more.
|Drools||Drools is a Business Rules Management System (BRMS) solution. It provides a core Business Rules Engine (BRE), a web authoring and rules management application (Drools Workbench), full runtime support for Decision Model and Notation (DMN) models at Conformance level 3 and an Eclipse IDE plugin for core development. Get started with: Drools Rule Engine tutorial
The supported version of Drools is Red Hat® Decision Manager.
|jBPM||jBPM is a toolkit for building business applications to help automate business processes and decisions. It provides various capabilities that simplify and externalize business logic into reusable assets such as cases, processes, decision tables and more. Get started with: jBPM 7 tutorial: getting started with the opensource BPM
The supported version of jBPM is Red Hat® Process Automation Manager
JBoss Developer Tools
The recommended tools for developing applications on JBoss products are the following ones:
|Code Ready Studio||Red Hat Code Ready Studio is a development environment created on top of Eclipse and is currently developed by the Red Hat JBoss division. Some companies such as Exadel, the Eclipse foundation, and open source individuals are also working on the JBoss Developer Studio project. JBDS empowers users with a set of plugins, called JBoss Tools; it supports multiple programming models, frameworks, and technologies, including Maven, SVN, and Git. By default, JBoss Tools is installed along with JBDS; this is not the case for the JBoss Integration Stack, which provides users with a toolset to integrate applications. It works with Apache Camel, JBoss Data virtualization, and various others features related to Integration.|
|JBoss Forge||The Forge console provides an integrated command-line interface in the IDE. The Forge console command actions automatically synchronize the workspace views. Forge brings out a powerful command line interface to interact with the IDE. Forge is also available as an Eclipse wizard for users who really don’t want to remember the commands. Gte started with: JBoss Forge tutorial|
What is the use of JBoss EAP / WildFly ?
In most cases, with the word “Jboss” you are probably referring to the Middleware runtime which as we said is WildFly (Community version) and JBoss EAP (supported version). A Middleware is a software product that is not part of an operating system, and neither is it part of one software application, but rather lies between them.
The highlights of JBoss EAP /WildFly architecture are the following ones:
- It features a modular and lightweight application server
- The application server is made of a collection of modules or extensions
- Each extension of the server defines one or more subsystems
- Each subsystem in turn is a set of capabilities added to the server by an extension
- Each server can be started with one profile
More about WildFly basics can be found here: What is WildFly?
The simplest way to install WildFly is to pick the ZIP archive on and unzip it on your computer in a specific location. Here’s the command to do that:
$ wget https://download.jboss.org/wildfly/24.0.0.Final/wildfly-24.0.0.Final.zip $ unzip wildfly-24.0.0.Final.zip $ cd wildfly-24.0.0.Final/bin $ ./standalone.sh
What is the difference between WildFly and JBoss EAP ?
As said, JBoss EAP is derived from WildFly, although there is no exact 1:1 match between the server version. Check this tutorial for learning more about the differences between the two products. This tutorial discusses the differences between the two application servers: http://What is the difference between JBoss EAP, WildFly and JBoss AS ?