可擴展GlassFish v3的JavaEE 6平臺
Java平臺——具備可擴展GlassFish應用服務器v3的JavaEE6的架構師Jerome Dochez和工程師Mahesh Kannan詳細介紹了即將推出的GlassFish v3,該產品現在可作為預覽版下載。
對于那些過去四年里一直處于沉睡狀態(tài)的人來說,GlassFish是由Sun公司贊助開發(fā)的JavaEE開源應用服務器。GlassFish v3是對v2版本的主要性能的重新詮釋。它操作簡單,具有基于OSGi的可擴展核心,帶有一個網頁和腳本容器以及一個用于配置和管理的控制臺。你可以在來自NetBeans 6.7的GlassFish v3上進行開發(fā)和部署。GlassFish v3應用服務器與JavaEE6一道組成了服務器端Java平臺的基石。
GlassFish是JavaEE引用執(zhí)行,Douchez一開始就解釋了JavaEE 6的性能怎樣一步步引導他們走向了GlassFish。
配置文件
配置文件主要是有關JavaEE技術中最重要開發(fā)性能的內容。***類就是Web Profile。未來的配置文件將在Java Community Process中定義。目的是推動同類程序員的工作效率——也就是說提高使用服務應用內部注釋的能力而不是編寫復雜的XML文件。
由于GlassFish是引用型執(zhí)行,它必須用JavaEE 6為不同的配置文件提供不同版本的GlassFish。這種制約增加了為GlassFish3采用模塊化結構的傾向。
簡化開發(fā)
業(yè)界一直關注如何通過JavaEE簡化開發(fā)過程。JavaEE 6通過使用所有網絡API,減少或消除部署描述符的需求,允許第三方庫自主注冊,簡化數據包,提供用于RESTful網絡服務的JAX-RS以及從整合各個技術這幾個方面來解決大家在開發(fā)方面的顧慮。
嵌入性
你可以使用簡單的EJB容器作為JavaEE 6應用內部的嵌入式容器。此外整個GlassFish v3應用都是可嵌入的,因此我們可以通過其API啟動或停止GlassFish。
GlassFish v3向所有的Java虛擬機技術開放,特別是JRuby/Rails。Ruby程序員的一個優(yōu)勢在于他們不需要將Ruby應用部署成WAR File。相反,GlassFish v3可以直接援引JRuby注釋并在無需修改的情況下,本地部署Rails應用。除了具備多個運行時的部署選項以外,GlassFish v3還提供JRuby運行時池的動態(tài)調整。因此,GlassFish能在高負荷的時候運行良好,而在低負荷的時候能以最少的資源消耗運行。
有了這個新版本,你就可以通過其API擴展GlassFish的功能,并通過Admin 控制臺發(fā)布這些功能。此外,你還可以以動態(tài)的方式向平臺添加功能而不需要重啟。擴展性可以通過API來獲得,它可以替代或擴展性能。OSGi也提供了能用來擴展OSGi運行時的擴展性能。
GlassFish v3中模塊化設計的一個方面就是基于服務的架構。服務由協(xié)議定義,協(xié)議的執(zhí)行相對而言容易一些?;诜盏募軜嬕苍试S基于使用模式的延遲加載。
模塊性
為GlassFish v3擴展功能要求有新的,模塊化的架構。GlassFish v3的模塊化性能基于OSGi。OSGi基于服務的架構使得這些組件可以動態(tài)發(fā)現彼此并進行協(xié)作。新架構的微內核是很小的。因此GlassFish v3是輕量級的部署平臺,它可以快速被啟動且占用的資源很少,因為它會使用延遲加載來啟動那些僅僅被要求使用的服務。例如,如果你的應用不使用EJB容器,它就不會被加載。
許多小模塊可以被視為大量的機動部件,而GlassFish v3按照170束的量傳輸。即便是擁有這樣數量的模塊,GlassFish的啟動也是很快的。技術人員希望能將數量從170減少到100。
開發(fā)項目的時候需要強大的創(chuàng)建工具,這主要考慮到傳輸的復雜性。GlassFish團隊使用的是Maven來簡化創(chuàng)建過程,該工具是Apache用于Java項目的創(chuàng)建管理器。
嵌入式API
GlassFish v3具備嵌入式API,可以用它們來啟動和配置應用服務器。這意味著你可以用Java平臺,JavaSE應用來啟動和停止GlassFish容器。開發(fā)團隊對GlassFish應用進行測試的時候,他們使用的是Maven中的技巧,Maven本身就是一個JavaSE應用??梢杂肕aven制造一個 GlassFish v3插件來進行測試。