迈向开放式PaaS的春天

工程 | Rod Johnson | 2010年5月19日 | ...

几周前,我在推特上发文说——令人难以置信的是——SpringSource在VMware内部的执行速度比作为一家初创公司时更快。今天,我们宣布了另一个激动人心的发展,印证了这一点。

继与SaaS领导者salesforce.com建立VMforce合作伙伴关系之后,我们今天宣布VMware和Google之间展开合作,围绕Spring编程模型以及SpringSource IDE和RAD工具展开。今天的公告使Spring成为Google App Engine的首选编程模型。这是对Spring作为Java最佳和最可移植编程模型的巨大认可,并为Spring开发者开辟了新的部署机会。在Google I/O主题演讲中的演示展示了SpringSource和Google工程师数月合作的结果——其中大部分成果使Spring开发者受益,无论他们希望在哪里部署应用程序。亮点包括:Spring和Google Web Toolkit (GWT)之间创新的、紧密的集成,能够以惊人的速度构建丰富的应用程序;能够轻松地将Spring应用程序定位到App Engine;Spring InsightGoogle Speed Tracer之间引人注目的集成,可以深入了解Spring应用程序从浏览器到数据库的性能;以及所有这些与SpringSource Tool Suite的紧密集成,以提供完善、高效的体验。

目标

在更深入地探讨技术细节之前,我想回顾一下目标。本公告突出了Spring的两个核心价值观,这些价值观在我们前进的道路上继续指导着我们:**生产力**和**可移植性**。

生产力

Spring之所以被采用,是因为它能够显著且可衡量地提高Java的生产力。SpringSource继续大力投资于生产力提升,而今天的公告则以SpringSource产品组合中的两颗明珠的形式突出了其中一些好处:SpringSource Tool Suite (STS)和Spring Roo。两者共同为Java开发者提供了最佳的生产力体验,看到Google对此的认可令人兴奋。
  • STS——我们免费的Eclipse发行版——是开发Spring应用程序的最佳环境。我们的目标雄心勃勃:一个单一的下载,将提供您以最佳生产力构建Java应用程序所需的一切。
  • Spring Roo是一个Spring项目,它可以帮助您比您想象的更快地构建Spring应用程序。您可能已经听说过Roo——如果您是Java开发者并且尚未尝试过,现在正是时候了。它可以说是构建高质量Java应用程序的最快方法。简而言之,Spring Roo是一个交互式的、双向的代码生成器,它确保您只需要编写真正增加价值的Java代码行,而Roo则承担创建和维护构建脚本;持久性映射;引导配置;JavaBean方法;toString()方法等的繁琐工作。与典型的代码生成器不同,Roo是为希望编写代码的开发者设计的——确保他们只需要编写正确的代码。其双向支持扩展到UI层,根据用户代码更改更新托管工件。

虽然我们尊重Spring社区中许多人希望在细粒度级别受益于选择的事实,但我们坚信,Spring Roo等有见地的工具的生产力优势将变得越来越重要。(虽然Roo的目标是希望用Java编写代码的开发者,但Grails则迎合了希望用Groovy编程的开发者。这里需要指出的是,Grails和Groovy社区已经证明了他们的技术在Google App Engine上的价值。)

生产力还关乎集成:使一切协同工作。通过SpringSource/Google合作,您将能够下载STS,使用简单的对话框创建一个新的Spring Roo项目,并使用Roo shell来帮助您构建完整的应用程序。几分钟内,您可以创建一个真实的应用程序(包括数据访问),并将其运行在云端。通过与STS集成的Roo双向功能,您可以向实体添加一个新字段,查看Roo更改GWT脚手架应用程序,在GPE的DevMode中按刷新键,切换回浏览器,然后看到整个应用程序(包括数据库更改)在2-3秒的刷新时间后即可使用,无需重新启动服务器。

可移植性

Spring的核心价值始终是它能够使开发者编写不仅更简单,而且与部署环境干净解耦的业务逻辑。在Spring的早期,这使开发者能够编写可在不同服务器(如WebSphere或Tomcat)之间移植的应用程序,避免(并享受优于)环境特定的API,如EJB或JTA。如今,部署环境的选择包括传统数据中心和云之间的选择。Spring的可移植性正成为Java开发者转向云计算的最重要推动力。

如今,Spring的可移植性对于实现我们对开放式PaaS的愿景至关重要:正如VMware首席技术官Steve Herrod所述,“关注一个特别重要的选择……您在哪里部署和运行您的应用程序。”看到VMware接受Spring成功的核心价值观令人兴奋。看到Google也致力于可移植性也令人欣慰。

技术概述

我已经提到了Spring Roo和STS的作用。其他关键技术要素包括GWT以及SpringSource和Google的性能分析工具。很快,参与这项工作的工程师将以更技术性的细节来介绍具体内容——新的Roo 1.1.0.M1和STS 2.3.3.M1版本将允许您自己探索——但这里有一个快速指南,说明您可以期待什么。

GWT

Google Web Toolkit是一种强大的技术,用于开发丰富的互联网应用程序,它使用AJAX和HTML5等现代技术,在计算机和非传统客户端(如智能手机)上创建最引人注目的最终用户体验。随着UI需求的变化以及非传统客户端变得越来越重要,GWT将日益受到Java开发者的重视。

今天,我们展示了Spring、Spring Roo和GWT之间的深度集成——这是SpringSource和Google工程师数月合作的成果,也是对Spring社区最常见请求之一的回应。这种集成使GWT应用程序比以往任何时候都更容易开发,并为Spring开发者提供了一种引人注目的新型UI选择。GWT是开源的,并且独立于部署环境,因此这种集成将使所有Spring用户受益,无论他们是否打算将其应用程序定位到Google App Engine。凭借其对领域模型的了解,Spring Roo与GWT是天作之合。通过今天的集成,Spring Roo可以生成和往返GWT接口,从而使开发者在整个应用程序生命周期中都更加高效;并支持从Roo shell中轻松部署到App Engine。

我们还通过STS扩展安装机制添加了Google Plugins for Eclipse (GPE)的轻松安装。GPE支持GWT工具,包括DevMode和部署到App Engine。

Spring Insight/Google Speed Tracer

Spring Insight是一种技术,它使开发者能够深入了解其应用程序的性能,而无需编写任何特殊代码或设置任何配置。Insight使用高效的AspectJ检测及其对Spring框架的了解(因此能够理解应用程序结构)来显示有关应用程序性能的详细信息,包括在何处花费的时间。Insight可在SpringSource tc Server中使用。(tc Server Developer Edition是免费的,包含在STS中。)

Google Speed Tracer作为Chrome扩展程序提供,显示您的应用程序中时间的花费位置。这包括由JavaScript解析和执行、布局、CSS渲染、DOM事件处理、资源加载等引起的问题。

今天,我们展示了这两种技术之间的集成。这使Speed Tracer用户能够将Insight跟踪无缝地插入其Speed Tracer屏幕中,并深入了解具体的服务器端操作,例如JDBC查询。Speed Tracer和Insight的组合是前所未有的,也是强大的。它首次实现了浏览器和后端服务器的协调,以从整体角度展示请求所做的所有工作。

这一切意味着什么

几周时间变化真大!在VMforce的公告和今天的公告之前,Java开发者缺乏一个可以轻松部署其应用程序的PaaS目的地。这是一个重要的缺口,可能会威胁到Java的长期未来。我很高兴VMware/SpringSource正在带头填补这一空白。

今天的公告对于Spring开发者来说是个好消息。Spring技能比以往任何时候都更有价值;Spring生态系统的覆盖范围持续扩大;Spring的核心价值观继续指导着它的发展;Spring致力于壮大Java社区,并引领它向云计算进军。无论您是想在现有数据中心、私有Java云还是公共云中部署Java应用程序,Spring都是最佳的编程模型。我很兴奋,希望您也是。

获取Spring新闻

关注Spring新闻

订阅

领先一步

VMware提供培训和认证,以加速您的进步。

了解更多

获取支持

Tanzu Spring在一个简单的订阅中提供OpenJDK™、Spring和Apache Tomcat®的支持和二进制文件。

了解更多

即将举行的活动

查看Spring社区中所有即将举行的活动。

查看全部