Java 技术

已完成

在本单元中,我们将区分不同类型的 Java 框架、服务器和平台。

Spring Framework

Spring Framework 是一个应用程序框架,并反转控制 (IoC) 容器。 Spring 以前曾用于补充 Enterprise JavaBeans (EJB) 模型。 其核心功能包括:

  • 依赖项注入
  • 面向方面的编程
  • 业务抽象

Spring Boot

Spring Boot 在 Spring Framework 之上运行,并且具有固定的自动配置。 Spring Boot 应用程序独立运行,非常适合微服务。

Spring Data

Spring Data 简化了关系数据库和非关系数据库、MapReduce 框架和基于云的数据服务的数据访问。

Spring Security

Spring Security 是保护基于 Spring 的应用程序的事实上的标准。 它提供高级别的身份验证和访问控制。 例如,Spring Security 与 Active Directory 集成良好。

Spring Cloud

Spring Cloud 用于分布式系统。 Spring Cloud 附带服务发现、配置管理、监视和良好的开发人员体验。

Spring Batch

Spring Batch 是一个轻型框架,适用于对日常作至关重要的可靠批处理应用程序。

MicroProfile 和 Jakarta EE

可以将 MicroProfile 和 Jakarta Enterprise Edition (EE)视为 Java EE 规范的开源后续版本。

MicroProfile 是微服务体系结构的一组规范。 它自称为开放式论坛,针对微服务体系结构优化企业版 Java。 MicroProfile 旨在多个实现之间开展创新,并在共同关注的领域进行协作。

Jakarta EE 是一组用于生成企业应用程序的规范。 其模块化结构使开发人员能够创建高效的软件解决方案。 可以将 Jakarta EE 应用程序打包为 EAR 文件或 WAR 文件。

Web Profile 是 Jakarta EE 的子集,用于具有 Web 焦点的后端服务,但不用担心! 可以在其中添加企业平台的特定 API。

应用程序服务器

Java EE 应用程序必须部署到符合 Java EE 的应用程序服务器(Weblogic、WebSphere、WildFly、GlassFish、Payara 等)。

  • Apache Tomcat 是 HTTP 服务器和 Java Servlet 容器。 它实现 Servlet、Java Server Pages (JSP)、Java 表达式语言和 Java WebSocket 规范。

  • Oracle Weblogic Server 是一个统一且可扩展的平台,用于开发、部署和运行企业应用程序。 Weblogic Server 提供 Java EE 和 Jakarta EE 的可靠成熟实现。

  • Red Hat JBoss 企业应用程序平台(JBoss EAP)为本地和虚拟实现或专用、公共或混合云提供企业级安全性和性能。

  • WildFly 是 JBoss EAP 的开源上游。 这种社区驱动的多样性非常适合开发和测试。

  • IBM WebSphere 应用程序服务器 (WAS)是适用于企业应用程序的灵活、安全性丰富的 Java 服务器运行时环境。 它侧重于可靠性高。 它支持微服务和基于标准的编程模型。 可以按照自己的节奏进行现代化,提高工作负载的可见性,分析企业应用程序,并推进 Kubernetes 之旅。

  • Open Liberty 是 WAS 的社区驱动型开源版本。

  • Oracle GlassFish 是许多 Java EE Web 标准的参考实现(包括 Servlet 和 JSP)。

面向微服务的体系结构的其他框架

  • Netty 是一个非阻塞 I/O (NIO) 客户端/服务器框架。 它可以快速轻松地开发网络应用程序,例如协议服务器和客户端。 它极大地简化了网络编程,例如 TCP 和 UDP 套接字服务器。 Netty 是一种异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。

  • Quarkus 是专为 OpenJDK HotSpot 和 GraalVM 定制的 Kubernetes 原生 Java 堆栈。 Quarkus 受到的关注度越来越高。 顺便说一下,还有更多以性能为中心的框架,例如 Vert.x、Helidon、Payara Micro 和 KumuluzEE。

  • Micronaut 是一个基于 JVM 的现代全堆栈框架,用于构建模块化、易于测试的微服务和无服务器应用程序。 Micronaut 具有依赖项注入和不使用反射的面向方面编程运行时,这使得 Micronaut 应用程序更容易在 GraalVM 上运行。