Google與Spring深度合作 為Spring開啟新的篇章
原創【51CTO快譯】最近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
【編輯推薦】