宣佈 GORM for Redis

工程 | Graeme Rocher | 2010年9月7日 | ...

雲平臺興起而激發的主要運動之一,是對傳統關係資料庫的替代儲存技術日益增長的興趣。其中一種儲存機制是 Redis,一種高效能鍵/值儲存,它在未來的雲基礎設施中扮演著重要角色。

Grails 社群對 Redis 產生了濃厚的興趣,緊隨 Redis 2.0.0 釋出之後,我們很高興地宣佈 GORM for Redis Milestone 1 的可用性。

什麼是 GORM for Redis?很簡單,它允許習慣於 動態查詢器條件命名查詢 等功能的 Grails 開發人員利用 Redis……

Virgo 里程碑 4 釋出

工程 | Glyn Normington | 2010年9月03日 | ...

Virgo 里程碑 2.1.0.M04-incubation 現已可供下載

更改

  • 修復了Bug 323609:在某些情況下Windows下嚴重的日誌效能問題
  • OSGi擴充套件更改,為Hristo Illiev貢獻的Equinox 3.6升級做準備
  • Olivier Girardot貢獻的新測試用例和測試覆蓋率改進
  • 支援新的框架屬性 org.eclipse.virgo.suppress.heap.dumps 並在使用者指南中進行說明
  • 刪除未使用的EquinoxConsoleManager
  • 各種構建和測試改進

更多詳情請參見bug列表

VMware vFabric賦能雲應用平臺願景

工程 | Rod Johnson | 2010年8月31日 | ...

在今年的VMworld大會上,VMware將揭示我們實現IT即服務的願景。今天的公告概述了我們認為對提供IT即服務至關重要的IT堆疊的三個主要層——**雲基礎設施和管理**、**雲應用平臺**和**終端使用者計算**——並闡述了我們解決這一問題的路線圖。Spring開發技術和SpringSource中介軟體在我們的願景中扮演著關鍵角色,我們相信我們正在為我們的社群開啟激動人心的新機遇。

作為此戰略的一部分,我們正在以新的**VMware vFabric**品牌釋出我們的雲應用平臺。這個平臺兌現了VMware收購SpringSource的承諾,將我們的資產整合到一個單一的、下一代基礎設施中。雖然各個元件將繼續單獨提供,但我們相信這種整合產品將提供一個更簡單、更高效的選擇。

VMware vFabric平臺將Spring開發框架和工具與VMware vFabric平臺服務相結合,從而實現下一代應用程式的快速交付,這些應用程式可即時擴充套件並可在雲中移植。

今天的公告是我們過去 5 年工作的自然延續。我們最初透過 Spring Framework 和 POJO 程式設計的創新來轉變企業 Java 的生產力;將 Spring 程式設計模型擴充套件到解決安全性、批處理、整合和其他重要需求;透過 tc ServerHyperic 繼續簡化企業 Java 的部署;透過 SpringSource Tool SuiteGrailsSpring Roo 進一步提高了生產力;透過收購 Rabbit TechnologiesGemStone Systems 增加了雲就緒的訊息傳遞和資料網格功能;並與行業領先的 虛擬化解決方案 整合。基於這些同類最佳的元件,我們今天宣佈推出一個統一的平臺。

VMware vFabric

為什麼需要一個新的應用平臺?

虛擬化和雲計算的興起,加上Facebook和Salesforce.com等消費者和軟體即服務應用的流行,正在推動應用架構發生重大轉變——涉及基礎設施、應用、資料訪問以及終端使用者與應用互動的方式。

現代應用程式需要易於使用、資料豐富,並能隨時隨地訪問。開發者需要框架、工具和平臺服務來構建出色的應用程式,並立即將這些應用程式部署到智慧平臺上,該平臺按需提供資源並根據策略擴充套件應用程式。

IT需要一個適用於這一新一代應用程式的平臺,該平臺需擺脫前一代架構的複雜性、臃腫和侷限性。

我們提供的獨特價值

VMware vFabric雲應用平臺將數百萬Java開發人員使用的Spring專案和工具與為下一代應用提供支援所需的VMware vFabric平臺服務相結合。向雲計算的轉變往往將開發人員和運營方面的考量混雜在一起;我們相信理解和滿足現代開發人員的需求至關重要。

通往雲端的道路始於開發工具和功能,這些工具和功能使建立提供豐富現代使用者體驗並使用經過驗證的EAI模式與其他應用程式整合的應用程式變得容易。Spring應用程式可以部署在任何Java平臺上,包括WebSphere、WebLogic、JBoss、我們自己的tc Server以及公共雲平臺。最好的入門方法是下載SpringSource Tool Suite,它提供了一個豐富的開發環境和執行時平臺,使建立Spring和Grails應用程式變得快速簡便。

VMware vFabric透過tc Server和Hyperic等技術,提供了應用程式充分利用底層虛擬基礎設施平臺所需的輕量級佔用空間和透明可見性。該平臺直接解決了雲計算的技術挑戰,支援新的資料管理方法,使應用程式能夠透過我們的GemFire和RabbitMQ技術在彈性、地理分散式雲架構中擴充套件。

我們將走向何方?

VMworld,我們設有6個演示展臺,將在那裡展示VMware vFabric雲應用平臺的實際執行情況。我鼓勵大家前來參觀。

我們的Spring和vFabric工程師們正以驚人的速度繼續創新,並將在2010年10月19日至22日在芝加哥舉行的SpringOne 2GX大會上展示更多創新。為了支援我們與Salesforce.comGoogle的合作關係,我們一直努力擴充套件Spring程式設計模型和vFabric平臺服務,以使開發人員能夠將應用程式部署到VMforceGoogle AppEngine等雲平臺。我們鼓勵您親自來見證這些新進展。

我們覺得自己具備獨特的能力,能夠為數百萬企業Java開發人員提供一條清晰且創新的雲計算架構之路,這條路由現代程式設計模型與下一代平臺服務相結合所驅動。這條道路沒有被前一代架構的冗餘和複雜性所侵佔。這段旅程將充滿樂趣,我期待與大家攜手共進。

功能性 Web 測試的未來?

工程 | Peter Ledbrook | 2010年8月28日 | ...

Groovy 社群是一個高產的群體,這意味著有大量的框架、庫和工具可以讓您的生活更輕鬆。測試領域似乎特別肥沃,我最近一直在研究兩種工具,當它們結合使用時,有望在您編寫功能性 Web 測試時帶來生產力的飛躍。

雖然我通常關注的是 Grails,但您不必使用 Grails 就能從這些工具中獲益:它們適用於任何 Web 應用程式,並且能很好地與任何基於 Java 的專案/構建整合。碰巧它們都有相關的外掛…

利用 Grails 重用您的 Hibernate/JPA 域模型

工程 | Peter Ledbrook | 2010 年 8 月 26 日 | ...

這是一個常見的故事。您已經有一個現有的資料庫,現在希望以最簡單的方式為它新增一個 Web 應用程式。Grails 能勝任這項任務嗎?當然可以!更好的是,如果您已經擁有一個基於 JPA 或 Hibernate 配置檔案構建的域模型,您可以重用它,並且仍然可以受益於您所熟悉的強大的 GORM 功能。

重用現有域模型的第一步是讓類檔案位於應用程式的類路徑上。您可以透過將它們打包成 JAR 檔案並將其包含在應用程式中(通常將其放在“lib”目錄中)來完成此操作,或者……

Spring Roo 1.1.0.M3 釋出

工程 | Ben Alex | 2010 年 8 月 25 日 | ...

更新:SpringSource Tool Suite 3.5.0.M3 現已可供下載。它包括最新的 Spring Roo 1.1.0.M3 和 GWT 2.1.0.M3 支援。

社群的許多成員一直在熱切期待 Spring Roo 1.1.0.M3,我很高興地宣佈它現在已經可用(在此下載)。自里程碑 2 以來,此版本包含 超過 150 項新功能、增強功能和其他改進,使 1.1.0 里程碑系列的總累計問題達到約 500 個。Spring Roo 1.1.0.M3 中的許多改進反映了我們與 Spring Framework、Google Web Toolkit、AspectJ 和 SpringSource Tool Suite 團隊的持續緊密合作,您可以在一些主要新功能中看到成果
  • 增量資料庫反向工程(或者辦公室裡親切地稱為 DBRE):這是 Spring Roo 專案歷史上投票最多的 Jira 票,代表了大約 130 張單獨的選票。這項新功能可以內省現有的關係資料庫並生成一系列 JPA 實體。但是,與傳統的資料庫反向工程工具不同,DBRE 可以對同一個專案反覆執行,而不會產生不期望的副作用(因此在功能名稱中有“增量”一詞)。內省產生的所有成員都儲存在 AspectJ ITD 中,這與 Roo 的其餘部分一致。這使得您的 .java 檔案保持整潔且意圖清晰(就像它們應該的那樣)。雖然內省現在執行良好(即使對於複合主鍵和所有基數型別等複雜情況),並且允許您以正常的 Java 風格以程式設計方式使用生成的實體,但在 Roo 1.1.0.M4 中,我們將為內省的資料庫新增 Web 層支援。
  • 最新 Google Web Toolkit 2.1.0.M3 功能:我們與 GWT 的合作使 Roo 能夠生成使用 GWT 2.1.0.M3(也於今日釋出)最新功能的應用。最受期待的新功能之一是 RequestFactory 基礎設施下的關係支援。您可以透過使用“script expenses.roo”命令,然後“mvn gwt:run”並透過 GWT UI 建立相關員工物件來嘗試此功能。您可以在 GWT 部落格文章中閱讀更多關於新的 GWT 2.1.0.M3 功能。
  • 自動 JSON 支援,包括在 Spring MVC 應用中:Spring Roo 生成的所有領域物件現在都將包含自動的JSON 相關方法。這些方法允許您在 JSON 表示和物件之間進行雙向轉換。我們以正常的 Roo 風格透過 ITD 引入這些新的 JSON 相關方法。Roo 管理的 Spring MVC 控制器現在也自動使用這些方法。要檢視實際效果,請使用“script clinic.roo”,然後“mvn tomcat:run”,透過Web 使用者介面建立一個新的 Owner,然後嘗試像 curl -v -H 'Accept: application/json' -X GET https://:8080/petclinic/owners/ 這樣的 curl 命令。
  • 16 項社交媒體嵌入功能:現在可以透過一個 Roo 命令將 16 個社交媒體網站的內容新增到您的基於 Spring MVC 的前端!這包括 YouTube、Google Video、Vimeo、Viddler、Screenr、UStream、LiveStream、Flikr、Picasa、Google Presentations、Scribd、SlideShare、Google Maps、Google Wave、Twitter 和 Wikinvest。所有這些都可透過新的“web mvc embed”命令獲得。
  • 庫升級:我們已更新 Roo 在專案中自動使用的庫。一些值得注意的更新包括轉向 Spring Framework 3.0.4(透過消除 URL 重寫過濾器增強了資源服務)和 Spring Web Flow 2.1.1
  • 自動 Roo 註解 JAR 升級:現在,當您升級到新版本的 Roo 時,無需編輯專案的 pom.xml 來更改 Roo 註解庫版本。Roo 將自動為您處理此事。
  • 可用性增強:我們現在添加了許多新功能來提高可用性。您可能會注意到的一項是螢幕頂部新的“閃爍訊息”區域。這會顯示長時間執行操作的進度(您可以嘗試“flash test”命令進行快速演示)。我們建議您使用 Linux、Windows 或 iTerm(適用於 OSX 使用者)以獲得最佳閃爍訊息體驗。其他一些不那麼明顯的改進包括更好的日誌記錄、支援“#”註釋、對“hint”命令的 Tab 自動補全、AspectJ ITD 頂部的註釋以提醒您不要編輯它們,以及許多其他功能。

一如既往,Spring Roo 參考指南包含已在使用 Roo 的使用者的升級說明,以及對有興趣瞭解更多資訊的人的背景閱讀材料和入門教程。參考指南可以線上檢視,並且它也包含在下載 ZIP 檔案中。您還可以透過在未來幾個月參加 SpringOneJavaOneDevoxxGoogle Developer DaysYOW!2010 來了解更多關於 Spring Roo 的資訊。

Spring Roo 的下一個版本將是 1.1.0.M4。這將是該系列的最終里程碑,我們預計將在 2010 年 10 月中旬達到 1.1.0.RELEASE。我們將在 Jira 中維護完整的路線圖日期,以……

(安全) 檔案傳輸,唯一的選擇……呃,複製

工程 | Josh Long | 2010 年 8 月 23 日 | ...

方法有很多種。如今,許多應用程式依賴訊息傳遞(AMQP、JMS)來彌合不同系統和資料之間的差距。其他應用程式則依賴 RPC(通常是 Web 服務或 REST)。然而,對於許多應用程式來說,檔案傳輸才是生活的一部分!有幾種常見的方法可以支援它,但三種最常見的方法是使用共享掛載或資料夾、使用 FTP 伺服器,以及——用於更安全的交換——使用 SSH(或 SFTP)。雖然眾所周知,Spring 始終為訊息傳遞(JMS、AMQP)和 RPC(數量太多……)提供一流的支援。

RabbitMQ Grails 外掛 - 早期訪問

工程 | Peter Ledbrook | 2010 年 8 月 23 日 | ...

RabbitMQ 是一個基於高階訊息佇列協議 (AMQP) 的輕量級、可靠、可擴充套件且可移植的訊息代理。它非常適合異構系統和雲平臺,但它可以滿足幾乎任何大小的訊息傳遞需求。您(通常)不透過 JMS API 訪問它,事實上 JMS 外掛將無濟於事,但現在有一個新外掛可用,旨在讓從 Grails 應用程式中使用 RabbitMQ 變得容易。

外掛的當前版本(0.2)相對有限,但您已經可以傳送和接收訊息了。我鼓勵您嘗試一下……

使用 Python 構建 RabbitMQ 應用

工程 | Greg L. Turnquist | 2010年8月19日 | ...

RabbitMQ 是一個基於 高階訊息佇列協議 (AMQP) 的強大訊息中介軟體。由於 AMQP 規範的通用性,可以輕鬆地從包括 Python 在內的許多平臺連線到它。在本篇博文中,我們將

  • 建立一個簡單的股票行情 Python 應用
  • 建立一個決定何時買賣的經紀商 Python 應用。
  • 比較由 RabbitMQ 團隊建立的 AMQP 庫 pikapy-amqplib
您可以在 http://github.com/gregturn/amqp-demo 找到此博文的所有原始碼。這需要您已經根據 您平臺的說明 安裝並啟動了 RabbitMQ。我個人是在我的 Mac OS X (Snow Leopard) 機器上執行的。

順便說一句

本篇博文中編寫的程式碼僅用於演示目的。請勿依賴這些演算法作為財務建議。
閒話不多說,讓我們開始寫程式碼吧!

構建股票行情

訊息解決方案的一個很好的例子是股票行情繫統。股票交易所向訊息中介軟體釋出訊息,指示股票名稱、價格和時間。
import pickle
import random
import time

class Ticker(object):
    def __init__(self, publisher, qname):
        self.publisher = publisher

        # This quickly creates four random stock symbols
        chars = range(ord("A"), ord("Z")+1)
        def random_letter(): return chr(random.choice(chars))
        self.stock_symbols = [random_letter…

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

VMware 提供培訓和認證,助您加速進步。

瞭解更多

獲得支援

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案,只需一份簡單的訂閱。

瞭解更多

即將舉行的活動

檢視 Spring 社群所有即將舉行的活動。

檢視所有