Jakarta EE 和 Microprofile 企业级Java应用规范

Jakarta EE

Jakarta EE 的前身是 Java EE,再向前溯源就是J2EE。

1998年12月,SUN公司发布了JDK1.2,开始使用Java 2 这一名称,第二年Sun公司联合IBM、Oracle、BEA等大型企业应用系统开发商共同制订了一个基于Java组件技术的企业应用系统开发规范,名字很自然就取为Java 2 Platform Enterprise Edition简称J2EE

在2006年,SUN公司在发布Java 5后正式将J2EE改名为Java EE(Java Platform, Enterprise Edition)

2009年,Oracle宣布收购SUN,Java相关技术自然归Oracle所有。 在2017年,Oracle 宣布开源 Java EE 并将项目移交给 Eclipse 基金会。但Oracle移交过程中提出一些要求,其中包括不能再使用Java EE这个名称及不能使用 javax 命名空间。 Eclipse基金会接受了这个要求,经过广泛征集和开发者投票,最终改名为Jakarta EE。

Jakarta EE 为开发人员提供了全面开放的技术规范。 包含一系列子规范和参考实现。

子规范集合有:

  • Jakarta Annotations, Concurrency, Messaging(JMS), Persistence(JPA), Managed Beans
  • Jakarta JSON Processing(JsonP), Dependency Injection, Expression Language(EL), Bean Validation(BV), WebSocket
  • Jakarta Servlet, Activation, SOAP with Attachments, Interceptors
  • Jakarta Mail, Authentication, JSON Binding(JsonB), Server Pages(JSP), Authorization, XML Binding(Jaxb)
  • Jakarta Contexts and Dependency Injection(CDI), XML Web Services(JaxWS)
  • Jakarta Batch, RESTful Web Services(JaxRS), Transactions
  • Jakarta Connectors(JCA), Standard Tag Library(STL), Enterprise Beans(EJB), Enterprise Web Services
  • Jakarta Security, Server Faces(JSF)

总的规范集是 Full Platform,包含以上所有的子规范。Web应用开发常用的子规范集合称为 Web Profile。为了更好的开发微服务应用,从版本10之后,提炼出更精简的集合 Core Profile,只包含少数的子规范,如CDI(Lite), JaxRS等。

参考实现 RI 是 Glassfish,目前也是Eclipse旗下的开源项目。

发展路线图为: J2EE 1.2 -> Java EE 5 -> Java EE 8 => Jakarta EE 8 -> Jakarta EE 10

网址为: Jakarta EE

我们提供针对 Jakarta EE 规范的技术支持。

MicroProfile

MicroProfile,它提供了一系列规范,旨在帮助开发人员构建企业Java云原生微服务。

Eclipse MicroProfile 是一个 Java 微服务开发的基础编程模型,它致力于定义企业 Java 微服务规范,MicroProfile 提供指标、API 文档、运行状况检查、容错、JWT、Open API 与分布式跟踪等能力

Eclipse MicroProfile 包括以下几个部分:

  • MicroProfile Config — 应用配置
  • MicroProfile Health Check — 运行状况检查
  • MicroProfile Metrics — 指标
  • MicroProfile Fault Tolerance — 容错
  • MicroProfile Rest Client — 类型安全的 REST 客户端
  • MicroProfile Open API — OpenAPI 与注解
  • MicroProfile JWT Authentication — JWT 认证传播
  • MicroProfile Telemetry / OpenTracing — 分布式追踪集成

MicroProfile 的主要目标是定义Java API,优化云本地微服务的开发。 最初采用了JavaEE标准,并对微服务模式有用的API进行了扩展。自从Microprofile 4.0版本以来,Java EE被Jakarta EE所取代。

MicroProfile 倡议是在2016年6月27日 Red Hat的 DevNation会议上发起的,它是由 IBM、Red Hat、Tomitribe、Payara 等厂商协作创建的,旨在为企业级 Java 提供微服务。

MicroProfile 1.0的发布是在 JavaOne 2016 上宣布的,包含了三个基于 JSR 的 API,被视为创建微服务的最低限度要求:

  • JSR-346 上下文和依赖注入(CDI)
  • JSR-353 JSON 处理(JSONP)
  • JSR-339 RESTful Web 服务JAXRS)。

从MicroProfile 6.0 版本起,直接引用了 Jakarta EE 的 Core Profile。

网址为: MicroProfile

我们提供针对 MicroProfile 规范的技术支持。

同时提供深入技术培训 Jakarta EE(Java EE)规范讲解, 微服务开发进阶和服务治理