速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

Oracle 把 Java EE 的未来押在 Rest API 上了?

  • 2017-02-15
  • 本文字数:1677 字

    阅读完需:约 6 分钟

Oracle 正在向 REST 和 JSON 倾斜以使 Java EE 适应微服务和云的现代趋势。

作为一种提供 Web 服务通信的机制,似乎 REST 从很久以前就抢过了 SOAP 的风头。SOAP 因其复杂性已经饱受非议,而REST 结合了JSON 和 HTTP,针对Web 服务的交付提供了比其更为简单的手段。

简短截说,快进到现在,Oracle 在它的Java EE 升级计划中正在将REST 和 JSON 作为关键一环。在社区抗议Oracle 忽视的企业平台之后,该公司去年开始针对微服务和云平台更新Java EE 。在这些计划中,初步成果为定于今年八月推出的Java EE 8

“大家现在构建微服务的时候,往往倾向于做成基于REST 的,以便向JAX-RS(Java API for RESTful Web Services,针对RESTful Web 服务的Java API)靠拢,这个关键的规范正在升级中,”Oracle 的产品管理副总裁Mike Lehman 说。

JAX-RS 要更新为规范 JAX-RS 2.1,它所关注的能力包括:Server-Sent Events (SSE)、JSON-B 与上下文的集成以及依赖注入(CDI)。Java EE 8 的一个亮点是 JAX-RS 2.1,从而可以更容易地进行 REST 通信,Lehman 说它是粗粒度服务之间通信的典型方法,几乎就是默认选择。

一名前 Oracle Java EE 传道者仍积极地认为 REST 是微服务之锚。

“REST 其实是大多数微服务的关键组成部分,”Reza Rahman(他是一个Java EE 兴趣小组 Java Guardians 的领导者,在CapTech 担任高级架构顾问)说,“因此,JAX-RS 2.1( Java EE 8 中的REST API )做了一系列改进。”

在近期的Java 开发人员调查中,大家交口称赞针对 Java EE 的REST 和微服务。Oracle 在去年年底调查了1700 位用户,发现REST 和HTTP2 是 Java EE 中最为需求的两项技术。Oracle 在十二月份中的报告称,大多数针对这两项技术的API 都已经完成了,其中包括JAX-RS 2.1。另外,为更新各种不同的Java 规范提案,Glassfish 应用服务器的工作也在进行中,它提供了EE 的参考实现。

在一次连带进行的调查中,Java EE Guardians 和DZone 发现44% 的受访者正在寻求标准化的特性,比如能对微服务架构有所帮助的uber-JARs(特色是Java 编程和依赖)、发现、度量、断路器和舱壁。而27% 的受访者认为Java 已经完全适合用于构建实际的微服务了。只有4% 的受访者觉得微服务“不过是个噱头”。

Java 用户还把 JSON-B 放到了一个非常高的优先级上,JSON-B 是用于绑定 JSON 的 Java API。这个 JSON 数据交换格式提供了在线上格式化数据的机制,Lehman 说。为此, Java EE 8 的特色将是 JSON-B 1.0(用于绑定 JSON 对象到 Java 语言),以及提供解析 API 的 JSON-P (JSON with Padding) 1.1。

“程序员编写一个微服务去调用另一个微服务,然后以 REST 访问载荷数据进行处理,这些特性会成为适用于这些程序员的方式,”Lehman 说。

虽然 HTTP2 不是专门面向微服务的,但 Java EE 8 也针对这个规范进行了改善,它提供标准的 HTTP2 API。

对于云来说,Java EE 和 Java 自身仅仅是云平台上的运行环境,Lehman 说。“他们需要与公共云平台进行交互的能力”,比如数据库访问,他补充道。

Java 提供了与这些进行交互的编程 API,比如 REST 和 JSON。

“我们在 Java EE 8 中以及任何微服务平台中所想做的,是确保它们可以轻松与云服务进行交互,存储、持久层管理和监控,如此等等,”Lehman 说。

Oracle 还有一个 Java EE 9 的目标,定于 2018 年,它的定位是增加可扩展性、独立的服务和键值对存储支持的能力。不过,Rahman 担心 Java EE 9 是否得到了正确的关注。

“就我个人而言,对 Java EE 9 的关注使我担心我们是不是过早地标准化了还不应被标准化的特性,”Rahman 说。他援引了一些特性进行例证,比如动态配置 Java EE 应用的新版 API、针对 OAuth/OpenID 连接的支持、服务健康度检查,以及基于 Java SE 9 的模块化。

然而 Lehman 并不赞同 Rahman 对 Java EE 9 的说法,所以他重申 Oracle 暂时专注于 Java EE 8。“我们正在倾全力推出 EE 8,现在这是我们主要的关注点,”他说。

Java EE 的当前版本 Java EE 7 发行于 2013 年 6 月,它增加了对 HTML5 的支持。Java EE7 支持 JAX-RS 2.0,适用于 RESTful 应用的。

本文首发于 InfoWorld

2017-02-15 18:435294

评论

发布
暂无评论
发现更多内容

Spring Boot中如何优雅地实现异步调用?

JAVA旭阳

Java springboot

中国半导体市场份额进一步提升,2023年将迎全新发展良机

华秋电子

硬核!阿里大佬都在内卷的SpringBoot从入门到实战笔记

程序知音

Java 编程语言 springboot Java进阶 后端技术

官宣:OpenDAL 成功进入 Apache 孵化器

Databend

Matlab常用图像处理命令108例(七)

timerring

图像处理

数据湖选型指南|Hudi vs Iceberg 数据更新能力深度对比

袋鼠云数栈

数据湖

阿里是如何使用分布式架构的?阿里内部学习手册分享

Java你猿哥

Java 分布式 微服务 分布式架构

HummerRisk 使用教程:主机检测

HummerCloud

华秋工艺分享:第八道主流程之丝印文字流程

华秋电子

【微电平台】-高并发实战经验-奇葩问题解决之旅

京东科技开发者

架构 服务端 js 平台

测试的底层逻辑

京东科技开发者

Java 测试 代码 企业号 3 月 PK 榜

视频下载软件:MediaHuman YouTube Downloader 中文版

真大的脸盆

Mac 视频下载 Mac 软件 下载视频 视频下载工具

100Wqps短链系统,怎么设计?

小小怪下士

Java 程序员 后端 QPS

索信达再度打造智能营销标杆案例,这次是头部券商!

索信达控股

阿里P8裸辞真实心路历程,他底气来源于Java高阶面试合集

Java你猿哥

Java Spring Boot ssm 面经 八股文

windows 系统下 workerman 在同一个运行窗口中开启多个 websocket 服务

极客飞兔

windows 经验分享 websocket workerman 多服务

低代码四大典型使用场景,你都知道吗?

SoFlu软件机器人

【干货】常见库存设计方案-各种方案对比总有一个适合你

Java你猿哥

Java 架构 微服务 系统设计 后端

前端进阶:在 Web 中使用 C++,我让学妹另眼相看 | 技术分享

LigaAI

c++ 程序人生 前端 webassembly 企业号 3 月 PK 榜

openGemini正式加入openEuler SIG-DB ,携手开展全方面技术创新

openEuler

数据库 Linux 开源 操作系统 openEuler

网易携手昇腾AI打造玉知-悟空图文理解大模型,做更“懂你”的产品

Geek_2d6073

板边器件距离不够,导致元器件无法焊接,怎么办?

华秋电子

基于 RocketMQ Connect 构建数据流转处理平台

Apache RocketMQ

“奇遇未来”专访:一个小众、专业的产品经理实训品牌

Geek_2d6073

优秀软件工程师必备的五大技能,快看你还差什么?

SoFlu软件机器人

使用 Athena (Presto) 分析本地 Oracle 数据库导出的数据

亚马逊云科技 (Amazon Web Services)

cortex ingester 基于 hash ring 进行 token 管理

jupiter

Prometheus 一致性hash Cortex Mimir

MybatisX整合Spring Boot,真香!

Java你猿哥

Java Spring Boot 后端 mybatis ssm

瞄准2023教育春招,百度营销多措并举,推出创新型行业营销解决方案

Geek_2d6073

"鸿蒙生态专家面对面"三月专场等你前来!

HarmonyOS开发者

Oracle把Java EE的未来押在Rest API上了?_Java_Paul Krill_InfoQ精选文章