搶佔先機
VMware 提供培訓和認證,以加速您的進步。
瞭解更多Sun 現在非常重視開源,而使用者似乎也開始認真對待 Sun 的開源專案。
GlassFish 在開源應用伺服器領域起步較晚,但似乎正在獲得關注。更重要的是,它實際上看起來相當不錯。包括 Costin 和 Juergen 在內的幾位 Interface21 成員已經研究了 GlassFish,並給予了好評(儘管我們尚未在生產中使用它)。據我所知,效能非常出色——這可能很大程度上歸功於基於 NIO 的重新設計的 servlet 引擎。JPA 實現——TopLink Essentials——也應該表現良好,因為它基於成熟且高效能的 TopLink 引擎。
還有 GlassFish 被真正採用的證據:例如,著名的澳大利亞酒店預訂服務 Wotif.com。 從我最近的澳大利亞之旅來看,Wotif 就像 eBay 和 lastminute.com 一樣,是普通人(而不僅僅是技術人員)會談論的網站之一。
當然,Wotif.com 也在使用 Spring。我認為 Sun 在企業 Java 領域變得更加重要的部分原因是,他們現在更瞭解更廣闊的世界正在發生的事情,並且願意聽取意見並採取行動。
因此,Sun 一直在朝著為 GlassFish 提供 Spring 支援的方向發展,尤其是在 Web 服務堆疊中。這特別有趣,因為 GlassFish 的 Web 服務部分(自然而然地)是 RI。
GlassFish 開發人員 Kohsuke Kawaguchi 最近在部落格中談到了 JAX-WS 堆疊中的 Spring 支援。這特別酷,因為它透過提供 Spring 2.0 名稱空間處理程式來實現。請注意 JAX-WS 名稱空間與核心 Spring beans 名稱空間的使用,允許 Spring bean 定義與 JAX 特定配置混合使用。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:ws= "http://jax-ws.dev.java.net/spring/core"
xmlns:wss="http://jax-ws.dev.java.net/spring/servlet" ...>
<wss:bindings id="jax-ws.http">
<wss:bindings>
<wss:binding url="/stockQuote">
<wss:service><!-- nested bean is of course fine -->
<ws:service impl="foo.MyService">
<ws:handlers>
<ref bean="myHandler" />
</ws:handlers>
</ws:service>
</wss:service>
</wss:binding>
</wss:bindings>
</wss:bindings>
<bean id="myHandler" class="foo.MyHandler" />
</beans>
這與 Spring remoting 的方式相反,remoting 技術基本上呼叫 Spring,而不是 Spring *匯出*服務,但它的整合度同樣高,並且易於使用。據推測,也可以匯入其他 Spring 配置檔案以利用現有的 bean 定義。
Kohsuke 補充了一個有趣的想法:
由於 Spring 支援是開放式的,因此可以使用它來啟用其他 JAX-WS 擴充套件。例如,我們可以使用它來配置 JMS 傳輸,或配置 JSON 編碼等。現在,Web 服務端點可以直接連線到 Spring 提供的所有內容:所有配置功能、宣告式服務和企業整合……
有關 JAX-WS RI 的 Spring 整合的文件請參見此處。
Spring 支援似乎在 GlassFish 社群中得到了 良好反響。 也很想聽聽 Spring 社群的意見。 您希望在 GlassFish 中有哪些整合功能? WebLogic 中迄今為止釋出的一些整合功能可能是一個不錯的起點,例如增強的事務管理和 JMX/控制檯整合。
當然,我們已經在 Spring 2.0 中使用 JPA 和 TopLink Essentials 做了大量工作,TopLink Essentials 是 GlassFish 中的 JPA RI 和永續性引擎。 EJB 3.0 的聯合負責人、核心 TopLink 開發人員和通用 ORM 大師 Mike Keith 提供了很多幫助,我們發現整個 TopLink 團隊的反應非常迅速。