Spring向前邁進,邁向開放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幫助您構建一個完整的應用程式。在幾分鐘內,您就可以建立一個真實的應用程式(包括資料訪問),並讓它在雲端執行。透過Roo往返整合到STS中,您可以為實體新增新欄位,看到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 Eclipse外掛(GPE)的安裝。GPE支援GWT工具,包括DevMode和部署到App Engine。

Spring Insight/Google Speed Tracer

Spring Insight是一項技術,它能讓開發者瞭解應用程式的效能,而無需編寫任何特殊程式碼或設定任何配置。Insight利用高效的AspectJ插樁及其對Spring框架的瞭解(從而能夠理解應用程式結構),顯示有關應用程式效能的詳細資訊,包括時間花費在哪裡。Insight在SpringSource tc Server中可用。(tc Server開發者版是免費的,幷包含在STS中。)

Google Speed Tracer作為Chrome擴充套件程式提供,顯示您的應用程式中時間花費在哪裡。這包括JavaScript解析和執行、佈局、CSS渲染、DOM事件處理、資源載入等引起的問題。

今天我們展示了這兩種技術的整合。這使得Speed Tracer使用者可以在他們的Speed Tracer螢幕中無縫地看到Insight跟蹤,並深入到特定的伺服器端操作,如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 社群所有即將舉行的活動。

檢視所有