Red Hat JBoss Enterprise Application Platform-7.2-Introduction To JBoss EAP-En-US
Red Hat JBoss Enterprise Application Platform-7.2-Introduction To JBoss EAP-En-US
Platform 7.2
For Use with Red Hat JBoss Enterprise Application Platform 7.2
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons
Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is
available at
http://creativecommons.org/licenses/by-sa/3.0/
. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must
provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert,
Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity
logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other
countries.
Linux ® is the registered trademark of Linus Torvalds in the United States and other countries.
XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States
and/or other countries.
MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and
other countries.
Node.js ® is an official trademark of Joyent. Red Hat Software Collections is not formally related to
or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack ® Word Mark and OpenStack logo are either registered trademarks/service marks
or trademarks/service marks of the OpenStack Foundation, in the United States and other
countries and are used with the OpenStack Foundation's permission. We are not affiliated with,
endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
Abstract
This document provides a high-level, conceptual overview of Red Hat JBoss Enterprise Application
Platform (JBoss EAP). The document also introduces you to JBoss EAP subsystems and the
different operating modes that JBoss EAP offers.
Table of Contents
Table of Contents
.CHAPTER
. . . . . . . . . . 1.. .OVERVIEW
. . . . . . . . . . . .OF
. . . GENERAL
. . . . . . . . . . . CONCEPTS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. . . . . . . . . . . . .
1.1. JAVA 3
1.2. APPLICATION SERVERS 3
1.3. JAVA ENTERPRISE EDITION 8 3
.CHAPTER
. . . . . . . . . . 2.
. . OVERVIEW
. . . . . . . . . . . . OF
. . . .JBOSS
. . . . . . . .EAP
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4. . . . . . . . . . . . .
2.1. ABOUT JBOSS EAP 7 4
2.2. SUBSYSTEMS 5
2.3. HIGH AVAILABILITY 5
2.4. OPERATING MODES 5
.CHAPTER
. . . . . . . . . . 3.
. . EXAMPLES
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6. . . . . . . . . . . . .
3.1. SIMPLE EXAMPLE 6
3.2. EXPANDED EXAMPLE 6
1
Red Hat JBoss Enterprise Application Platform 7.2 Introduction to JBoss EAP
2
CHAPTER 1. OVERVIEW OF GENERAL CONCEPTS
1.1. JAVA
Java is a programming language and a computing platform that incorporates concepts such as object-
orientation, classes, and concurrency. Java applications are compiled down to bytecode and are run
inside a Java Virtual Machine (JVM).
Java EE 8, which is based on JSR 366, builds upon Java EE 7. The primary focus of this release was to
improve API and programming models needed for today’s applications. In addition to the Java EE 8
(JSR 366) specification, the following specifications are new or updated in Java EE 8:
JSR 367: The Java API for JSON Binding (JSON-B) 1.0
JSR 370 : Java API for RESTful Web Services (JAX-RS) 2.1
3
Red Hat JBoss Enterprise Application Platform 7.2 Introduction to JBoss EAP
JBoss EAP provides preconfigured options for features such as high-availability clustering, messaging,
and distributed caching. It also enables users to write, deploy, and run applications using the various APIs
and services that JBoss EAP provides.
JBoss EAP includes a modular structure that allows service enabling only when required, improving
startup speed. The web-based management console and management command line interface (CLI)
make editing XML configuration files unnecessary and add the ability to script and automate tasks. In
addition, JBoss EAP includes APIs and development frameworks for quickly developing secure and
scalable Java EE applications.
Feature Description
Management console and management CLI New domain or standalone server management
interfaces. The management CLI also includes a
batch mode that can script and automate
management tasks. Directly editing the JBoss EAP
XML configuration files is not recommended.
Simplified directory layout The modules directory contains all application server
modules. The domain and standalone directories
contain the artifacts and configuration files for
domain and standalone deployments respectively.
Modular class-loading mechanism Modules are loaded and unloaded on demand. This
improves performance, has security benefits, and
reduces start-up and restart times.
4
CHAPTER 2. OVERVIEW OF JBOSS EAP
Feature Description
Streamlined datasource management Database drivers are deployed like other services. In
addition, datasources are created and managed
using the management console and management
CLI.
Unified security framework Elytron provides a single unified framework that can
manage and configure access for both standalone
servers and managed domains. It can also be used to
configure security access for applications deployed
to JBoss EAP servers.
2.2. SUBSYSTEMS
Many of the APIs and capabilities that are exposed to applications deployed to JBoss EAP are organized
into subsystems. These subsystems can be configured by administrators to provide different behavior,
depending on the goal of the application. For instance, if an application requires a database, a
datasource can be configured in the datasources subsystem and accessed by that application after it is
deployed to that JBoss EAP server or domain.
5
Red Hat JBoss Enterprise Application Platform 7.2 Introduction to JBoss EAP
CHAPTER 3. EXAMPLES
Below are several examples to illustrate how JBoss EAP works and where it fits into different
environments.
This example shows a simple JBoss EAP setup. The JBoss EAP instance has two applications deployed
to it. It is also configured to connect to a database using the datasources subsystem and a Kerberos
server which can use either the legacy security subsystem or the elytron subsystem. These connections
are exposed to the deployed applications. The JBoss EAP instance handles requests through the
undertow subsystem and directs those requests to the appropriate application. The applications use the
APIs exposed by JBoss EAP to connect to the database and Kerberos server, and perform their
implemented business logic. After completion, the applications send a response back to the requester
through the undertow subsystem.
6
CHAPTER 3. EXAMPLES
This example illustrates a more complex setup involving three JBoss EAP instances arranged in a
managed domain with either a load balancer or a web server. The three instances are also configured to
support high availability through load balancing using mod_cluster and session replication using
Infinispan. All three JBoss EAP instances have a web application, a web service, and EJB deployed. One
JBoss EAP instance has a JMS queue configured through the messaging-activemq subsystem. All
three JBoss EAP instances have connections to a database through the datasource. They also have a
connection to the LDAP server using either the legacy security subsystem or the elytron subsystem. In
addition, one JBoss EAP instance is configured to connect to an external message broker through the
messaging-activemq subsystem. Those configured connections are exposed to the applications, web
services, EJBs, and JMS queues deployed to that respective instance.
All inbound requests intended for the application, web service, or EJB are first received by the load
balancer or web server. Based on the configured load balancing algorithm and the information provided
by each JBoss EAP instance, the web server or load balancer directs that request to the appropriate
JBoss EAP instance. The JBoss EAP instance handles requests through the undertow subsystem and
directs those requests to the appropriate application. The applications use the APIs exposed by JBoss
EAP to connect to the database and Kerberos server, and perform their implemented business logic.
After completion, the applications send a response back to the requester through the undertow
subsystem. Any non-persisted information, for example session information, is propagated among the
JBoss EAP instances through the infinispan subsystem.
7
Red Hat JBoss Enterprise Application Platform 7.2 Introduction to JBoss EAP