一文读懂 Jakarta EE 10 的云原生时代

简介: Hello folks,我是 Luga,今天我们来分享一下与 Java 有关的云原生话题,即 Jakarta EE 10 平台的发布,带领 Java 迈向云原生时代。

  Hello folks,我是 Luga,今天我们来分享一下与 Java 有关的云原生话题,即 Jakarta EE 10 平台的发布,带领 Java 迈向云原生时代。

    众所周知,Go 、Rust 语言已经成为云原生的主导开发语言,虽然 Rust 在市场范围内不及 Go,但其也在努力地扩展自己的市场地位。作为云原生生态的幸运宠儿,云原生架构中大概 63% 的具有核心竞争力的云原生项目基本上都是基于 Go 来构建,因此,足以证明其牛逼的地位。

    此时,Where is Java ?

01

背景概述


    在探讨 Jakarta EE 10 当下与未来发展时Eclipse 基金会 Jakarta EE 工作组发布 Jakarta EE 10 迎接云原生 Java 时代,即预示着 Java 也要分一杯云原生时代的“羹”。

    根据 Eclipse 基金会执行董事 Mike Milinkovich 所述,Jakarta EE 10 是在现代微服务和容器时代牢牢嵌入 Jakarta EE 的“终极里程碑版本”,引入了用于构建现代、简化和轻量级云原生 Java 应用程序的功能。Jakarta EE 10 的发布反映了全球贡献者社区的工作战绩,基于此版本,使得 Java 在云原生时代带来了关键创新,奠定了其云原生生态地位,这对我们行业的未来至关重要。

    据发布的一项关于 2022 年 Jakarta EE 开发人员调查的报告,其结果显示了 Java 企业标准在新的云原生应用程序和微服务开发中的使用越来越多。2022 年 3 月 9 日至 5 月 6 日期间,共有来自世界各地的 1,439 名 Java 开发人员做出了回应,其中 53% 表示他们使用 Jakarta EE 作为其云原生应用程序开发框架的基础。

    虽然与 2021 年相比,Jakarta EE 的使用量增加了 6%,但 Spring/Spring Boot、MicroProfile 和 Micronaut 等其他框架的使用量略有下降。然而,Spring/Spring Boot 仍然是最流行的 Java 企业框架,占所有提及的 57%。根据官方报告,Spring Boot 与 Jakarta EE 没有竞争力,因为它依赖 Jakarta EE 开发,两者都是健康的企业 Java 生态系统的重要组成部分。

    其实,从本质上来讲,在这个激烈的市场竞争中,尤其是云原生时代的生态环境下,面对 Go、Rust 等语言 2 大高手,Jakarta EE 可能心里面很迫切地希望能够抢回属于自己的那一份。基于云原生生态中最火热的容器化技术的蓬勃发展,因此,与 Kubernetes 容器编排平台的本地集成以及更好地支持微服务或许是其发展规划中的首要核心任务。然而,虽然去年调查参与者仍然希望加快创新步伐,但现在的重点是现有云平台和 Java EE/Jakarta EE 供应商更快地提供支持,以便获得市场份额。

02

Jakarta EE 10 功能特性


    诚然,Jakarta EE 10 给自己的定位是开放的、社区驱动的创新以及推动云原生 Java 技术的未来。光吹牛逼压根没有卵用,那么,它到底具备哪些硬核呢?接下来,我们来了解一下 Jakarta EE 10 的特征与优势,具体如下所示。

    正如上文所述,Jakarta EE 10 主要包含用于构建现代化、简化和轻量级云原生 Java 应用程序的新功能。这个新的创新社区驱动版本专为希望开始开发新的企业 Java 应用程序或改进其现有应用程序的组织而设计。

    1、现代化

    Jakarta EE 10 版本在 20 多个组件规范中提供了新功能。

    此版本能够使现代云原生 Java 应用程序的构建者能够在 Java SE 11 和 Java SE 17(Java SE 的最新 LTS 版本)上开发和部署 Jakarta EE 10 应用程序。这允许开发人员充分利用新功能,包括 Java SE 9 中引入并在 Java SE 11 中支持的模块化系统等。

    2、简单化

    基于 Jakarta EE 10,通过支持更广泛地使用附加注释,使得应用程序开发变得更为简单、高效。

    这使得构建模块化应用程序变得更加容易,并提供了跨组件 API 的改进集成。最终,Jakarta EE 10 可帮助开发人员更轻松地实施具有现代安全要求的应用程序,剔除已弃用的 API,并保持与之前 Jakarta EE 版本的高度兼容性。

    3、轻量级

    Jakarta EE 10 基于 Jakarta EE 核心配置文件定义了一个新的配置文件规范。“核心配置文件”为现代化的轻量级 Java 应用程序和微服务定义了一个多供应商平台。

    新的 Core Profile 提供了 Jakarta EE 规范的一个子集,其目标是适用于具有轻量级运行时的微服务开发的较小运行时。这包括用于构建轻量级 Jakarta EE 应用程序的创新的新 CDI-Lite 规范。

03

Jakarta EE 10 规格


    Jakarta EE 10 生态规格如下所示:

(图片源自官网)

    Jakarta EE 10 在 20 多个规范中提供了值得注意的 API 升级,并添加了全球社区用户所期望的核心功能。所涉及的优化及改进如下所示:

    1、Jakarta 上下文和依赖注入 (CDI) 4.0,包括支持构建时间扩展的 CDI-Lite;

    2、支持 OpenID Connect 的 Jakarta Security 3.0;

    3、Jakarta Servlet 6.0 用于简化编程和提高安全性;

    4、Jakarta Faces (JSF) 4.0 具备使用 CDI 的现代化 API;

    5、Jakarta JSON Binding (JSON-B) 3.0 新增了对多态类型的支持;

   6、Jakarta RESTful Web 服务标准化了 Java SE Bootstrap API 和对 multipart/form-data 的标准支持;

    7、Jakarta Persistence 将 UUID 标准化为基本类型并扩展查询语言和查询 API;

    8、Jakarta Concurrency 3.0 移至 Web Profile 并增强了应用程序可用的并行和反应式编程模型;

   除此之外,构建现代化云原生 Java 应用程序方面,Jakarta EE 10 版本能够:

    1、在 Java SE 11 和 Java SE 17(Java SE 的最新 LTS 版本)上开发和部署 Jakarta EE 10 应用程序;

    2、利用 Java SE 9 中引入并在 Java SE 11 中支持的模块系统等新功能此版本通过支持更广泛地使用附加注释来简化应用程序开发。这使得构建模块化应用程序变得更加容易,并提供了跨组件 API 的改进集成。

    最终,此版本可帮助开发人员更轻松地实现具有现代安全要求的应用程序并删除已弃用的 API,同时还保持与之前 Jakarta EE 版本的高度兼容性。

    除了这些增强功能之外,还有越来越多的兼容产品列表来支持本已丰富的生态系统。例如,Eclipse GlassFish 7、Open Liberty、22.0.0.10-beta 和 Wild Fly 27.0.0 今天都在提供兼容版本。富士通、IBM、甲骨文、Payara、Red Hat 和 Tomitribe 等 Jakarta EE 工作组的成员正在努力认证 Jakarta EE 10 兼容产品。一旦该版本可用,Jakarta EE 10 兼容实和产品的列表预计将迅速增长,从而奠定其云原生时代的市场地位。

    Jakarta EE 10 的发布是其作为云原生 Java 创新平台发展的重大飞跃,真诚地期望 Jakarta EE 在云原生时代能够发挥其关键作用,引领整个生态稳步前行。关于 Jakarta EE 更多需要了解的信息,可查阅其官网 https://jakarta.ee/

    关于 Jakarta EE 10 相关内容,本文解析到此为止,希望对大家有用。关于更多需要了解的信息,欢迎大家交流、关注!

    Adiós !

相关文章
|
6月前
|
Cloud Native 架构师 Java
谷歌架构师分享gRPC与云原生应用开发Go和Java为例文档
随着微服务和云原生相关技术的发展,应用程序的架构模式已从传统的单体架构或分层架构转向了分布式的计算架构。尽管分布式架构本身有一定的开发成本和运维成本,但它所带来的收益是显而易见的。
|
搜索推荐 Java jenkins
sonar整合阿里java规范开发历程
sonar整合阿里java规范开发历程
|
17天前
|
XML 开发框架 Java
【架构四】J2EE技术规范
Java2平台包含J2SE、J2EE和J2ME,分别针对桌面应用、企业级分布式应用和嵌入式系统。J2EE是企业级应用的标准,非具体产品,其核心规范包括:JDBC(统一数据库访问)、EJB(实现分布式服务)、JSP(专注页面显示)、Servlet(逻辑控制)和XML(数据交换格式)。这些技术协同工作,构建高效的企业级解决方案。
20 0
|
24天前
|
Java Docker 微服务
理解微服务架构:Java Web开发的新趋势
【4月更文挑战第3天】微服务架构因应对快速迭代、高可用性和可扩展性的需求而兴起,成为Java Web开发主流。它将复杂应用拆分成独立小服务,通过轻量级通信机制交互,实现模块化、独立部署、可扩展性、技术多样性和容错性。Spring Boot、Spring Cloud和Docker等工具可简化微服务实现。通过创建微服务项目、编写代码、集成Spring Cloud、创建其他服务及部署,开发者可入门微服务架构。
|
7月前
|
Kubernetes Java 微服务
2023年全新java架构技术框架Quarkus实战神仙文档
Quarkus是一款有别于传统Java架构的新技术框架。它建立在我们熟知的技术栈上,使用了诸多成熟的技术,如JPA、JAX-RS、EclipseVert.x、Eclipse MicroProfile和CDI等,并将这些技术与Kubernetes紧密融合在一起。用户可以借助Kubernetes高效的调度运维能力,最大限度地节约资源。
|
消息中间件 Cloud Native 安全
Jakarta EE 10发布,开启云原生Java时代
Jakarta EE 10发布,开启云原生Java时代
Jakarta EE 10发布,开启云原生Java时代
|
自然语言处理 Kubernetes Cloud Native
Java 云原生微服务框架 Quarkus 入门实践
Java 云原生微服务框架 Quarkus 入门实践
|
存储 Kubernetes Java
2022年全新java架构技术框架Quarkus实战神仙文档
Quarkus是一款有别于传统Java架构的新技术框架。它建立在我们熟知的技术栈上,使用了诸多成熟的技术,如JPA、JAX-RS、EclipseVert.x、Eclipse MicroProfile和CDI等,并将这些技术与Kubernetes紧密融合在一起。用户可以借助Kubernetes高效的调度运维能力,最大限度地节约资源。
|
消息中间件 Kubernetes Cloud Native
【Quarkus技术系列】「云原生架构体系」在云原生时代下的Java“拯救者”是Quarkus,那云原生是什么呢?
【Quarkus技术系列】「云原生架构体系」在云原生时代下的Java“拯救者”是Quarkus,那云原生是什么呢?
338 0
【Quarkus技术系列】「云原生架构体系」在云原生时代下的Java“拯救者”是Quarkus,那云原生是什么呢?
|
Oracle IDE Java
Java 云原生之路:Micronaut 框架
本文是“Native Compilations Boosts Java”系列文章的一部分。你可以通过订阅RSS接收更新通知。
726 0
Java 云原生之路:Micronaut 框架