Chapter 1. Overview of General Concepts

Before understanding how Red Hat JBoss Enterprise Application Platform can be configured and deployed, there are some important concepts to understand.

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).

1.2. Application Servers

An application server, or app server, is software that provides an environment to run web applications. Most app servers also provide functionality to web applications running in their environment through a set of APIs. For example, an app server can provide an API for connecting to a database.

1.3. Java Enterprise Edition 8

Java Platform, Enterprise Edition (Java EE) is a standards-based enterprise platform that provides both an API and runtime environment for running and developing Java applications. The goal is to improve developer productivity by providing rich enterprise capabilities in easy to consume frameworks that eliminate boilerplate and reduce technical burden. The frameworks that compose Java EE are heavily tested in combination.

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 250: Common Annotations 1.3
  • JSR 338: Java Persistence 2.2
  • JSR 356: Java API for WebSocket 1.1
  • JSR 365: Contexts and Dependency Injection (CDI) 2.0
  • JSR 367: The Java API for JSON Binding (JSON-B) 1.0
  • JSR 369: Java Servlet 4.0
  • JSR 370: Java API for RESTful Web Services (JAX-RS) 2.1
  • JSR 372: JavaServer Faces (JSF) 2.3
  • JSR 374: Java API for JSON Processing (JSON-P) 1.1
  • JSR 375: Java EE Security API 1.0
  • JSR 380: Bean Validation 2.0
  • JSR 919: JavaMail 1.6