最近Spring可以说是动作频频,首先是加盟VMware,然后是并购GemStone,今天有与Google深度合作。51CTO将进一步跟踪这一切的进展情况。以下内容是Spring创始人Rod Johnson在个人博客中关于Google和Spring合作相关事宜的声明。
几星期前,我们低调宣布(编辑注:一点都不觉得低调)SpringSource加盟VMware,今天,我们要宣布另一个让人兴奋的,巨大的进展。
因为VMforce与SaaS领域领袖salesforce.com之间的关系,今天我们要宣布一个VMforce与Google之间,关于Spring框架以及SpringSource IDE和RAD工具方面的合作。就是Spring将成为Google应用引擎的首选编程模型。这一合作是对Spring在轻量型编程框架领域的巨大认可,也为Spring开发者提供了更好的机会和前景。在今天的Google I/O的主题演讲中演示的demo应用是SpringSource和Google工程师数月合作的结果,这种合作对任何开发者开说,都是非常有益的。亮点:创新性,Spring和GWT(Google Web Toolkit)的深度集成,使搭建富客户应用的效率更高;在Spring应用中集成Google应用引擎变得更简单;Spring Insight和Google Speed Tracer的集成,无论从浏览器还是到数据库,都提高了应用程序的性能;对SpringSource其他工具套件的集成提供了优美的开发体验。
目标
在开始进一步讨论技术问题之前,我还是喜欢强调一下目标问题。本声明的的亮点是两个核心价值问题,就是生产效率和可移植性问题。
生产效率
Spring的长远目标就是持续可见地提升Java的生产力。SpringSource也一直致力于在这方面进行大力投入。今天这样有意义的声明,完全是因为SpringSource拥有的两个宝贝。就是SpringSource工具套件和Spring Roo,这两个宝贝为Java开发者提供了良好的开发实践,并且得到了Google的赞赏。
STS,是我们所提供的Eclipse免费工具,是开发Spring应用的最佳环境。我们有一个很宏伟的目标,那就是一个简单的下载就可以提供开发Java应用所需的所有工具,并且也是最适合的工具。
Spring Roo是一个帮助开发着以超乎自己想想的效率开发Spring应用的工具。如果你是Java开发者,你可能已经听说甚至尝试使用过Roo。现在快速、简单构建Java应用的时机已经来到了。概括地说,Spring Roo是一个交互式的、可回顾的代码生成工具,以确保程序员只编写有价值的代码,Spring Roo可以用来辅助生成和维护、构建持久性映射、配置、JavaBean方法、toString()方法等繁重劳动。Spring Roo的作用就是确保开发者只编写必要的代码,并通过回顾来支持UI扩展、早期产品升级等工作。
首先我们尊重事实,在Spring社区有很多开发者希望在细节上受益,但是我们依然坚定的、自信的认为Spring Roo这样的工具将越来越重要(尽管Roo目标是那些Java开发者、Groovy平台上的Grails开发者。需要重点指出的是Grails和Groovy社区已经示范了其技术在Google应用引擎上的价值)。
生产效率又将得到提升,工作即将得到整合。随着SpringSource/Google的合作,你将有机会通过下载STS,通过简单的对话框就可以创建一个新的Spring Roo项目,并且通过Roo交互平台创建一个完整的应用。几分钟之内,你就可以创建一个真正的应用(包括数据库访问),并且在云上运行。采用集成在STS中的Roo回顾,你不仅可以为实体增加新的字段,还可以看到Roo修改GWT框架应用,通过GPE的DevMode按钮,只需2-3秒的时间,就可以切换到浏览器开查看整个包括数据库变化在内的应用,完全不需要重新启动服务器。
可移植性
Spring另一个核心价值是让开发人员编写业务逻辑代码更为简单,并且清晰地脱离部署环境。在以前,Spring就已经能够做到让开发人员编写的程序可以在诸如WebSphere、Tomcat等不同的服务器之间进行移植,消除了EJB、JTA等环境特定API的影响。今天,部署环境的选择更延伸到了传统的数据中心以及云环境。Spring可移植性,正推动Java开发者走向云计算。
今天Spring的可移植性关键问题是要正确的对待Open PaaS:正如VMware CTO,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等现代技术在诸如电话等非传统客户机上开发令人信服的应用,并提供良好的用户体验。随着用户界面需求的变化以及非传统客户机的推广,GWT对Java开发者来说会变得越来越重要。
今天所展示的基于Spring、Spring Roo和GWT深度整合应用,是SpringSource和Google工程师多个月精心合作的成果,也是对Spring社区一直期盼的要解决的问题的回应。这个整合过程让开发GWT应用比过去更容易,也给Spring开发者一个新的、引人注目的UT选择。GWT是一个开源并且部署环境独立的框架,所以这个整合对所有的Spring用户,无论他们是否打算在应用中使用Google应用引擎,都是有益的。凭借领域模型方面的知识,Spring Roo和GWT是天作之合。今天,集成Spring Roo和GWT,为开发者在项目生命周期中提供了更高的生产力;并且通过Roo部署Google应用引擎更容易。
我们也在STS的Eclipse的扩展安装包中增加了GPE(Google Plugins for Eclipse)的安装。GPE里包括了对GWT、DevMode部署以及Google应用引擎的支持。
Spring Insight/Google Speed Tracer
Spring Insight是一种让开发者在无需编写特定代码和配置的情况下,就能够洞察其他应用的工具。
Insight通过 AspectJ以及着名的Spring框架来显示应用程序性能的详细信息,这些信息包括什么地方消耗了多少时间。Insight属于SpringSource tc服务器的一部分(tc服务器开发版是是一个自由软件,是STS的一部分)。
Google Speed Tracer是Chrome的扩展,用来显示应用程序时间消耗情况。包括JavaScript解析和执行、布局、CSS绘制、DOM事件处理、资源加载等。
今天我们展示了两种技术的结合。Speed Tracer用户可以看到Insight已经无缝地嵌入到以前的Speed Tracer屏幕当中,并且显示出服务器端诸如JDBC查询等工作的执行效率。Speed Tracer和Insight的结合是强大并且空前的,这是人们第一次有机会从全局的角度看到浏览器和后台服务器是如何协调工作的。
这意味着什么
从宣布与VMforce到今天宣布与Google的合作,这几个星期到底出现了多大的变化?在简单部署应用方面,Java开发人员一直都没有合适的PaaS方向目标。这是一个很危险的空白区域,很可能影响到Java的长期发展。我很高兴VMware/SpringSource能够带领和填补这个空白区域。
今天的声明对于Spring开发者来说,是一个非常重要的事情。Spring技术价值在今天达到了一个高峰;Spring系统依然在不断的增长;Springde核心价值依然在指导其前进方向;并且Spring已经开始带领Java社区进入云计算时代。无论你是想在现有的计算机中心、私有的Java云还是公共Java云,Spring都是最好的开发模型。我非常兴奋,希望大家也跟我一样兴奋。
原文地址:http://blog.springsource.com/2010/05/19/spring-google-appengine