BT

您是否属于早期采用者或者创新人士?InfoQ正在努力为您设计更多新功能。了解更多

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

| 作者 Paul Krill 关注  他的粉丝 ,译者 冬雨 关注 0 他的粉丝 发布于 2017年2月16日. 估计阅读时间: 6 分钟 | ArchSummit社交架构图谱:Facebook、Snapchat、Tumblr等背后的核心技术

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

评论测试 by guo andy

试试能不能说话

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT