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 上运行。