@lsmn
2016-07-17T06:33:17.000000Z
字数 1604
阅读 2339
Java
微服务
在上次DevNation大会期间,Red Hat、IBM、Tomitribe、Payara和伦敦Java社区宣布创建MicroProfile,这是一种设法利用Java EE技术创建供应商中立的微服务框架的新方案。其目标是在2016年9月发布第一个公开版本,让开发人员可以使用Java更轻松地创建可移植的微服务。
在上次DevNation大会期间,Red Hat、IBM、Tomitribe、Payara和伦敦Java社区宣布创建MicroProfile,这是一种设法利用Java EE技术创建供应商中立的微服务框架的新方案。其目标是在2016年9月发布第一个公开版本,让开发人员可以使用Java更轻松地创建可移植的微服务。对此,来自伦敦Java社区的Martijn Verburg是这样说的:
我们最初的目标是为最熟悉企业级Java(如果你愿意,可以说Java EE)的开发人员开个头,让他们可以用一种供应商无关的方式(在Java EE的世界里,这是他们习惯的方式)使用微服务。然后有个目标是让开发者社区真正地推动他们所认为的、微服务runtime/API需要的东西,从而让供应商不用再“猜测”用户可能想要的特性,诸如安全,或者日志,或者服务发现等等。这将完全由MicroProfile社区决定,他们会帮助定义应该包含什么以及应该剔除什么。
对于开发人员而言,Java EE提供了一些明显的好处。它提供了稳定的程序库,这些库经过了开发、集成和测试,可以开箱即用。另外,由于有许多Java EE容器可供使用,所以开发人员可以将编码和平台决策分开考虑。然而,Java EE相当笨重,并且遵循统一的标准,这也就意味着它的发展非常缓慢;从稳定性方面来看,这是一个优势,但这使它不适合快节奏的微服务领域。因此,社区创建了类似WildFly Swarm或WebSphere Liberty这样的解决方案,让开发人员可以创建更加轻量级的应用程序,但仍然以Java EE组件为基础。这类框架已经帮助弥合了创新和标准之间的差距,但它也有自身的问题:由于每种框架都是单独创建的,应用程序从一种框架移植到另一种框架比较困难。
这就是MicroProfile出现的原因。创建一个标准框架,定义基于Java EE的微服务应用程序的基础,使供应商开发兼容这种标准的应用程序服务器,为开发人员提供一个协调一致的容器生态系统,让他们不用修改应用程序就有更多的选择。MicroProfile正式版本预计在2016年9月发布,在此之前什么也还不确定,但最初的介绍表明,MicroProfile将会以JAX-RS、CDI、JSON-P以及其他任何社区认为必要的技术为基础。
虽然MicroProfile和现有的Web Profile有类似之处,但它们采用的方式并不相同。Web Profile是作为Java EE的一个子集而创建的,专门针对Web应用程序,其创建原因主要有两个:更轻量级的框架和更简单的供应商验证过程。初看起来,可能会觉得MicroProfile是下一个步骤,Web Profile的微服务子集;不过,情况并非完全如此,这有几个方面的原因。一方面,前期的讨论说明,MicroProfile可能会包含一些甚至Java EE都未涵盖的技术,像Vert.x;另一方面,创建一个正式的Java标准的过程可能太慢,无法满足一个快速发展的行业的需求。
MicroProfile是否是走出了终结Java EE的第一步还有待观察。不过,MicroProfile所带来的创新和活力应该会为企业级Java功能提供一些新鲜的空气,考虑到其停滞不前在最近一段时间内所引发的担忧,这正是眼下所急需的。
查看英文原文:Java EE Vendors and the London JUG Announce New MicroProfile