如何 0 成本启动全员 AI 技能提升?戳> 了解详情
写点什么

2016 年会成为 Java EE 微服务年吗?

  • 2016-02-15
  • 本文字数:1444 字

    阅读完需:约 5 分钟

进入 2016 年时间还不是很长,让我们回顾下去年年底的一个预言。去年 12 月,来自 C2B2 的 Steve Millidge预测,2016 年将会成为Java EE微服务年。在一定程度上,这是基于 Steve 在 JavaOne 上的演讲,他在演讲中详细地讨论了这个主题。此外,Steve 还是 Payara 的联合创始人,Payara 的目标用户也是对微服务感兴趣的 Java EE 开发人员。Steve 还认为,SOA 和微服务之间的差别很小,这种观点我们以前听说并且报道过。他在视频中指出:

“微服务与 SOA 没什么不同。它还是关于 SOA”。

当然,现在还存在争论,因为他的背景和当前的工作重心,Steve 可能会发现自己很难保持客观的态度。不过,早在 2014 年,微服务还处于起步阶段,Adam Bien 就描述了理想的 Java EE 微服务

[…] 理想的 Java EE 微服务是一个单 [实体控制边界] 组件,在一个 WAR 包中,部署在单台服务器 / 域中。在这种情况下,开发人员可以单独地发布和重新部署单个组件(又称微服务)。WAR 包之间不可能直接调用方法,因此,WAR 包将不得不使用比如 JAX-RS 来彼此通信。

我们在去年年底就微服务、DevOps 和 Java EE 相关内容采访了Markus Eisele ,他详细论述了自己为什么认为 Java EE 将会在微服务生态圈的发展中扮演重要的角色。还有一些其他使用 Java EE 编写微服务的方法,包括 TomEE WildFly KumuluzEE 是 JavaOne 2015 Duke 选择奖的其中一个获奖者,该框架是一个 Java EE 微服务框架。该框架的联合创建者 Matjaz Juric 解释说:

KumuluzEE 是第一个使用标准 Java API 的微服务框架。微服务架构的重点是将应用程序开发成服务并将这些服务单独部署;没有一个框架提供自动化部署和配置,是不可能使用 Java EE 实现真正的微服务架构的。

让我们看一些人们如何看待微服务和 Java EE 的其他例子,这会非常有趣,因为有些人严格来讲并不属于传统的 Java EE 领域。例如,早在 2014 年,Alex Soto 就论述了为什么 Java EE 和 RxJava 是一个很棒的方案。不过,并不是每个人都认可使用 Java EE 能使开发人员采用微服务。正如 Rick Hightower 所说的那样:

如果你将一个 WAR 文件部署到一个 Java EE 容器,那么你很可能不是在做微服务开发。如果你在一个容器或 EAR 文件中包含超过一个 WAR 文件,那么你肯定不是在做微服务开发。如果你将服务部署为 AMI 或 Docker 容器,而且你的微服务有一个 main 方法,那么你可能是在编写微服务。

而且,Rick 也不认为微服务与 SOA 相同:

事实上,它们在许多方面是完全相反的。例如,SOA 往往采用 WSDL,后者是一种非常严格的、强类型的服务端点定义方式。WSDL 和 XML 模式中所有的未知量都来自 XML。

当然,我们已经多次讨论过, SOA 和 Web Service 常常没有关系。不过,Rick 及其他一些人确信,Java EE 太过臃肿或者说笨拙,以其为基础构建微服务并不合适。 Jeppe Cramon 认为,Java EE 之所以是一个糟糕的基础还有更为根本的原因:

如果我们将两路(同步)通信与小 / 微服务结合使用,并根据比如“1 个类 =1 个服务”的原则,那么我们实际上回到了使用 Corba、J2EE 和分布式对象的 20 世纪 90 年代。遗憾的是,新生代的开发人员没有使用分布式对象的经验,因此也就没有认识到这个主意多么糟糕,他们正试图重复历史,只是这次使用了新技术,比如用 HTTP 取代了 RMI 或 IIOP。

如果微服务和 SOA 密切相关,那么可能会有一种观点,就是微服务可以像 SOA 那样采用一种技术无关的方式。你认为呢?2016 年会成为Java EE 微服务年吗?如果有的话,Java EE 会在微服务中扮演什么角色?

查看英文原文: Java EE and Microservices in 2016?

2016-02-15 18:005650
用户头像

发布了 1008 篇内容, 共 438.4 次阅读, 收获喜欢 346 次。

关注

评论

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

【终极指南】使用Python可视化分析文本情感倾向

华为云开发者联盟

Python 软件开发 华为云 华为云开发者联盟 企业号2024年5月PK榜

MacBook Air M3有什么游戏推荐 MacBook 怎么玩Windows游戏

阿拉灯神丁

游戏 Mac 软件 CrossOver Mac下载 虚拟机软件 幻兽帕鲁

第七届数字中国建设峰会召开,天翼云启动开源大模型社区发布暨生态繁荣计划

编程猫

Pencils Protocol与Trust 钱包联合活动,参与瓜分超$200K的奖励

石头财经

Pencils Protocol与Trust 钱包联合活动,超$200K的积分奖励来了

BlockChain先知

配置C++的学习环境

芯动大师

编程‘’ C++\

苹果mac修图软件Pixelmator Pro 中文版 性能堪比ps!

Rose

简约的 SQLite 数据库管理器 Native SQLite Manager for mac 直装版

Rose

Pencils Protocol与Trust钱包联合活动,参与瓜分超$200K的奖励

西柚子

Pencils Protocol与Trust 钱包联合活动,超$200K的积分奖励来了

加密眼界

在每一个家庭里,看见数字中国

脑极体

AI 数字中国

AI造梦师,大模型正在孵化下一个黄金职业

脑极体

AI

30天拿下Rust之向量

希望睿智

向量 rust语言

直播预告:TinyVue 组件库实战解析,提升组件库构建技能

OpenTiny社区

开源 Vue 前端 组件库 OpenTiny

FL Studio荣获业内权威网站推荐最佳DAW fl studio官方中文

阿拉灯神丁

编曲宿主 编曲软件 FL Studio 21 mac音乐制作软件 音乐软件

30天拿下Rust之切片

希望睿智

rust语言

Pencils Protocol与Trust 钱包联合活动,参与瓜分超$200K的奖励

股市老人

30天拿下Rust之HashMap

希望睿智

hashmap ​Rust

掌握这些代码安全检视方法,提升你的代码质量

华为云开发者联盟

软件开发 华为云 代码安全 华为云开发者联盟 企业号2024年5月PK榜

灵感不断,Dynamic Wallpaper for mac壁纸给你桌面新创意!

Rose

过程流程图怎么画?这样做简单又好看!

彭宏豪95

效率 流程图 在线白板 办公软件 绘图软件

30天拿下Rust之字符串

希望睿智

rust语言

Pencils Protocol与Trust 钱包联合活动,参与瓜分超$200K的积分奖励

股市老人

iBarcoder v3.15.2:专为Mac设计的条形码生成器

Rose

2016年会成为Java EE微服务年吗?_Java_Mark Little_InfoQ精选文章