JBoss EAP 简介

Red Hat JBoss Enterprise Application Platform 7.3

红帽 JBoss 企业应用平台基本概念的说明,包括其子系统和操作模式。

摘要

本文档提供了红帽 JBoss 企业应用平台(JBoss EAP)的高级概念性概述。本文档还向您介绍 JBoss EAP 子系统和 JBoss EAP 提供的不同工作模式。

第 1 章 常规概念概述

在了解如何配置和部署红帽 JBoss 企业应用平台之前,需要先理解以下几个重要概念:

1.1. Java

Java 是一种编程语言和计算平台,融合了对象定向、类和并发等概念。Java 应用程序编译成字节码,并在 Java 虚拟机(JVM)中运行。

1.2. 应用程序服务器

应用服务器或应用服务器是提供运行 Web 应用所需的环境的软件。大多数应用服务器还通过一组 API 为在其环境中运行的 Web 应用程序提供功能。例如,应用服务器可以提供用于连接数据库的 API。

1.3. Jakarta EE 8

Jakarta EE 平台 8 由 Eclipse 基金会维护,定义了托管 Jakarta EE 应用程序的标准平台。

有关 Jakarta EE 平台 8 的信息,请参阅 Jakarta EE Platform 8 规范

1.4. Java Enterprise Edition 8

Java 平台企业版(Java EE)是基于标准的企业平台,为运行和开发 Java 应用提供 API 和运行时环境。目标是通过提供丰富的企业功能,轻松使用消除样板和减轻技术负担的框架,从而提高开发人员的工作效率。构成 Java EE 的框架经过大幅组合测试。

基于 JSR 366 的 Java EE 8 基于 Java EE 7 构建。此版本的主要重点是改进当今应用程序所需的 API 和编程模型。除了 Java EE(JSR 366)规范外,以下规格是在 Java EE 中新增或更新的:

  • JSR 250 :常见注释 1.3
  • JSR 338 :Java Persistence 2.2
  • JSR 356 :WebSocket 1.1 的 Java API
  • JSR 365 :上下文和依赖注入(CDI)2.0
  • JSR 367 :用于 JSON 绑定的 Java API(JSON-B)1.0
  • JSR 369 :Java Servlet 4.0
  • JSR 370 :用于 RESTful Web 服务的 Java API(JAX-RS)2.1
  • JSR 372: JavaServer Faces (JSF) 2.3
  • JSR 374 :用于 JSON 处理(JSON-P)1.1 的 Java API
  • JSR 375 :Java EE 安全 API 1.0
  • JSR 380 :Bean 验证 2.0
  • JSR 919 :JavaMail 1.6

1.5. 从 Java EE 过渡到 Jakarta EE

在 Java 企业版 8 发布后,Oracle 将 Java EE 转移至 Eclipse 基金会。API 代码、实施代码和技术兼容性套件(TCK)代码是作为阶段转移过程的一部分传输的。建立 Jakarta EE 规范流程(JESP)的新认证流程,并创建了 Eclipse 基础技术兼容性套件许可证的新规格许可证。

作为此传输流程的一部分,已为所有符合现有 Java EE 规格的 Jakarta 规格创建了新名称。所有新名称都以 Jakarta 开头,后跟对规格的简单描述。JBoss EAP 文档中提到的 Java EE 规格名称以及对应的 Jakarta EE 规范的名称列在 JBoss EAP 的 Java EE 规范中,以及 Correspoing Jakarta EE 规范部分。

1.6. 与 JBoss EAP 相关的 Java EE 规范和 Correspoing Jakarta EE 规范

表 1.1. 与 JBoss EAP 相关的 Java EE 规范和 Correspoing Jakarta EE 规范

Java EE 8 规范Java EE 8 缩写Jakarta EE 8 规范

Java Servlet

 

Jakarta Servlet

JavaServer Faces

JSF

Jakarta Server Faces

WebSocket 的 Java API

 

Jakarta WebSocket

Java EE 的并发实用程序

 

Jakarta Concurrency

拦截器

 

Jakarta Interceptors

容器的 Java 身份验证服务提供商接口

JASPIC

jakarta 身份验证

容器的 Java 授权合同

JACC

Jakarta 授权

Java EE 安全 API

 

Jakarta 安全

Java 消息服务

JMS

Jakarta Messaging

Java Persistence API

JPA

Jakarta Persistence

Java Transaction API

JTA

Jakarta Transactions

Java 平台的批处理应用

JBatch

Jakarta Batch

JavaMail API

 

Jakarta Mail

Java EE Connector Architecture

JCA

Jakarta Connectors

Java 平台的常见注解

 

Jakarta Annotations

JavaBeans Activation Framework

JAF

Jakarta Activation

Bean 验证

JBV

Jakarta Bean 验证

表达式语言

JEL

Jakarta Expression Language

Enterprise JavaBeans

EJB

Jakarta Enterprise Beans

XML 绑定的 Java 架构

JAXB

JAXB

用于 JSON Binding 的 Java API

JSON-B

Jakarta JSON Binding

JavaServer Pages

JSP

Jakarta 服务器页面

用于基于 XML 的 Web 服务的 Java API

JAX-WS

Jakarta XML Web 服务

用于 RESTful Web 服务的 Java API

JAX-RS

Jakarta RESTful Web Services

JavaServer Pages 标准标签库

JSTL

Jakarta 标准标签库

上下文和依赖注入

CDI

Jakarta 上下文和依赖注入

用于 JSON 处理的 Java API

JSON-P

Jakarta JSON Processing

用于基于 XML 的 RPC 的 Java API

JAX-RPC

Jakarta XML RPC

XML registry 的 Java API

JAXR

Jakarta XML 注册表

第 2 章 JBoss EAP 概述

2.1. 关于 JBoss EAP 7

红帽 JBoss 企业应用平台(JBoss EAP)7.3 是一种兼容 Web 配置文件和完整平台规格的 Jakarta EE 8 实施,也是 Java 企业版(Java EE)8 规范的认证实施。当社区项目达到所需的功能完整性级别时,JBoss EAP 的主要版本从 WildFly 社区项目分叉。之后,就进行了测试与产品化的延长期,其中 JBoss EAP 获得稳定、认证和增强,以供生产使用。在 JBoss EAP 主要版本的生命周期内,所选功能可能会从社区项目打钩并反向移植到一系列功能中,从而增强同一主要版本系列内的次要版本。

JBoss EAP 提供高可用性群集、消息传递和分布式缓存等功能的预配置选项。它还允许用户使用 JBoss EAP 提供的各种 API 和服务编写、部署和运行应用。

JBoss EAP 包括模块化结构,允许仅在需要时启用服务,从而提高启动速度。基于 Web 的管理控制台和管理命令行界面(CLI)无需编辑 XML 配置文件,还增加了编写脚本和自动执行任务的功能。此外,JBoss EAP 还包括用于快速开发安全可扩展的 Java EE 应用程序的 API 和开发框架。

表 2.1. JBoss EAP 的特性

功能描述

兼容 Jakarta EE

Jakarta EE 8 兼容 Web 配置文件和完整平台规格的实施。

兼容 Java EE

Java 企业版 8 完整平台和 Web 配置文件认证.

受管域

多服务器实例和物理主机的集中管理,而单机服务器则允许单个服务器实例。按服务器组管理配置、部署、套接字绑定、模块、扩展和系统属性.应用安全(包括安全域)的集中和简化管理。

管理控制台和管理 CLI

新的域或单机服务器管理接口.管理 CLI 也包含批处理模式,可以编写脚本并自动执行管理任务。不建议直接编辑 JBoss EAP XML 配置文件。

简化的目录布局

模块目录包含所有应用服务器模块。域和独立目录分别包含域和独立部署的构件和配置文件。

模块化类加载机制

根据需要加载和卸载模块。这提高了性能、具有安全优势,并减少了启动和重启时间。

简化的数据源管理

数据库驱动程序像其他服务一样部署。此外,数据源是使用管理控制台和管理控制台 CLI 进行创建和管理的。

统一安全框架

Elytron 提供了单一的统一框架,能够管理和配置单机服务器和受管域的访问权限。它还可用于为部署到 JBoss EAP 服务器的应用配置安全访问。

2.2. 子系统

许多公开给 JBoss EAP 部署应用的 API 和功能组织到子系统中。这些子系统可由管理员配置,以根据应用的目标提供不同的行为。例如,如果应用需要数据库,可以在数据源 子系统中配置数据源,并在部署到 JBoss EAP 服务器或域中后由该应用访问该数据源。

2.3. 高可用性

JBoss EAP 中的高可用性(HA)是指多个 JBoss EAP 实例协同工作,提供更容易防止流量、服务器负载和服务器故障波动的应用程序。HA 整合了可扩展性、负载平衡和容错等概念。

2.4. 操作模式

除了为其应用程序提供功能和 API 外,JBoss EAP 还具备强大的管理功能。这些管理功能根据用于启动 JBoss EAP 的操作模式而有所不同。JBoss EAP 提供单机服务器工作模式 ,用于管理离散实例,以及受管域工作模式,以便从单一控制点管理实例组。

第 3 章 示例

以下是几个示例,说明了 JBoss EAP 的工作原理以及它适合不同环境的位置。

3.1. 简单示例

简介示例 simple

本例演示了简单的 JBoss EAP 设置。JBoss EAP 实例部署了两个应用:它还配置为使用 datasources 子系统和 Kerberos 服务器(可使用传统 安全性 子系统或 elytron 子系统)连接数据库。这些连接向已部署的应用公开。JBoss EAP 实例通过 undertow 子系统处理请求,并将这些请求定向到适当的应用。应用使用 JBoss EAP 公开的 API 连接数据库和 Kerberos 服务器,并执行其实施的业务逻辑。完成后,应用通过 undertow 子系统向请求者发送响应。

3.2. 扩展的示例

内省示例已展开

本例演示了一个更为复杂的设置,它涉及三个 JBoss EAP 实例在受管域中安排了负载平衡器或 Web 服务器。这三个实例也配置为使用 mod_cluster 的负载平衡和 Infinispan 的会话复制来支持高可用性。所有三个 JBoss EAP 实例都部署了 Web 应用、Web 服务和 EJB。个 JBoss EAP 实例具有通过 messaging-activemq 子系统配置的 JMS 队列。所有三个 JBoss EAP 实例都通过数据源连接数据库。它们还使用旧 安全性 子系统或 elytron 子系统连接到 LDAP 服务器。此外,还配置了一个 JBoss EAP 实例,通过 messaging-activemq 子系统连接外部消息代理。这些配置的连接公开给部署到该对应实例的应用、Web 服务、EJB 和 JMS 队列。

适用于应用、Web 服务或 EJB 的所有入站请求首先由负载平衡器或 Web 服务器接收。根据配置的负载平衡算法和每个 JBoss EAP 实例提供的信息,Web 服务器或负载平衡器会将该请求定向到相应的 JBoss EAP 实例。JBoss EAP 实例通过 undertow 子系统处理请求,并将这些请求定向到适当的应用。应用使用 JBoss EAP 公开的 API 连接数据库和 Kerberos 服务器,并执行其实施的业务逻辑。完成后,应用通过 undertow 子系统向请求者发送响应。任何非增强的信息(如会话信息)都通过 infinispan 子系统在 JBoss EAP 实例之间传播。





修订了 2022 年 2 月 15 日 18:26:07 +1000