Eclipse基金会 最近 发布 了 MicroProfile 的1.4及2.0,对API进行了更新,为每个API添加了全面测试兼容性套件、 Maven坐标 、Javadocs和 Git标签 。这些版本和Java EE 7及Java EE 8是完全一致的。
1.4 是 1.3 的更新,将是1.x系列的最后一个版本,包括安全性和其他对以下API的增强性能:
MicroProfile 1.4完全匹配Java EE 7,代码示例可以在 GitHub 上找到。
在其诞生两年之后,MicroProfile 1.4的 升级版 2.0 是最新的发布,包括对 CDI 、 JSON-P 和 JAX-RS API的更新。另外,2.0中添加了新的API、 JSON-B 。
MicroProfile 2.0完全匹配Java EE 8。新功能包括:
MicroProfile 2.0将作为未来更新的基础。正如 发布 中所述:
Eclipse的MicroProfile继续为每个版本提供额外价值,并在其社区成员的动态帮助下成功发展。未来的版本将更新现有的API及添加新的API。比如,社区已经开始讨论以下主题:
长期行动
响应式流
响应式事件
数据访问
事件数据
MicroProfile 和 Jakarta EE 之间的协同效应引发了一些猜测,认为这两个平台可能合并。
IBM的MicroProfile架构师 Kevin Sutter 在最近的一篇 博文 中说:
这是我在论坛、会议中(甚至在IBM内部)被问及最多的问题之一。Eclipse MicroProfile相当完善的,拥有若干关键功能和版本,并且目前正在用Eclipse Jakarta EE建立Java EE的未来。这两股力量何时会结合在一起?这很难说。
这两个Eclipse项目都有其优点,并正在各自的领域内取得进展,其中MicroProfiles技术建立于为Jakarta EE提供贡献的基础之上。但是,这些项目本身是否准备好合并?恕我直言,不,还没有。MicroProfile已经有了巨大的进步,起初它并不起眼。我们有几个新的组件功能和版本,可扩展用于微服务开发的企业Java编程模型。并且,我们在相对较短的时间里已经完成了这项工作:在不到两年的时间里发布了6个主要MicroProfile版本和16个主要组件。
由于这一举措的艰巨性和复杂性,Jakarta EE还没有准备好配合这个进展速度。同时,由于Jakarta EE还没有完成其规范流程的定义,因此,还没有准备好接受MicroProfile所要求的快节奏发布周期。最大的区别在于,MicroProfile从未尝试成为标准机构。MicroProfile产生了业界认可的规范,而不是标准。Jakarta EE正在试图用更现代、开放和轻量级的实现优先的流程替代JCP标准机构。
响应式编程模型的努力最终以Jakarta EE为目标。来自Lightbend的团队寻找最好的方式以将一些他们的响应式编程想法融入企业Java领域。他们确定,立即取得进展的最快方法是开发MicroProfile组件。
Lightbend是一个相对较新的Jakarta EE参与成员,最近任命 James Roper 作为首个贡献者,在MicroProfile团队中代表Lightbend。James Roper是Lightbend的 Lagom 微服务框架的高级开发员和共同创建者。在最近InfoQ对其的采访中,被问及计划如何为MicroProfile做出贡献时,Roper说:
我的贡献(以及Lightbend更广泛的贡献)将主要围绕新Reactive规范。我们已经完成了第一件事,那就是帮忙勾勒出在MicroProfile中编写Reactive API和采用Reactive功能的 方法 。作为编写这种方法的一个产品,我们发现,MicroProfile需要Reactive Stream操作API,使MicroProfile开发人员可以和Reactive Stream进行交互。
该API的规范即将完成。这将导致下一个被称为MicroProfile Reactive Messaging的规范,该规范允许基于Reactive Stream的服务之间消息流的使用、发布和处理。这是目前我们关注的重点。
一旦完成这些规范,下一步我们将继续寻找MicroProfile能够从Reactive方式中获益的方法,并期待在这些领域继续做出贡献。今天,大家已经在探讨MicroProfiles的持久性主题了,在Lightbend,我们有很多解决持久性困难上的经验,由于使用ACID交易的单个数据库,这些困难没有出现在单体大型应用中,因为它使用的是具有ACID交易的单个数据库。因此,我加入了讨论并将寻求把我们的经验带进来。
IT咨询顾问、软件开发员和架构师 Sebastian Daschner 在最近的 博文 中说:
自MicroProfile诞生以来,它已经获得了很多关注,并产生了各种各样的规范。最初,它的创建是为了推进企业Java到微服务世界,在多个供应商的推动下,实现了更快的进展。现在,在Eclipse基金会,随着Java EE转换到Jakarta EE,MicroProfile如何合理地适应企业级Java世界的环境呢?
一般来说,Java企业社区分享一个通用的、清晰的全貌是至关重要的,即将来MicroProfile的位置在哪里。为实现MicroProfile作为Jakarta EE孵化器的想法,下一步将是定义并达成以下共识:
Jakarta EE和MicroProfile共享的技术设计原则。
用于孵化MicroProfile的命名、标记和命名空间。
一个用于未来MicroProfile和孵化到Jakarta EE的通用过程。
阅读英文原文: Eclipse Releases Versions 1.4 and 2.0 of MicroProfile
感谢冬雨对本文的审校。