程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2EE >> Sun的JSR 294被叫停 應用服務器押寶OSGi

Sun的JSR 294被叫停 應用服務器押寶OSGi

編輯:J2EE

本文來自InfoQ中文站,原文標題:《Bundle.update:Java EE中的OSGi、JSR 294被叫停》。http://www.infoq.com/cn/news/2010/01/state-of-osgi

自從上次的bundle.update發布以來,在OSGi與模塊化Java領域中發生了一系列值得我們關注的事件:JSR 294被叫停、Enterprise Expert Group發布了第4個草案、WebSphere上可以直接運行OSGi應用以及即將到來的OSGi大會對預先報名者提供折扣優惠,同時演講人招募的時間即將截止。

JSR 294被叫停

Sun領導的兩個模塊化JSR(分別是JSR 294——Java語言改進的模塊化支持,以及JSR 277——Java模塊化系統)都已被叫停。這樣就剩下JCP批准的模塊化系統JSR 291(雖然基於有些古老的OSGi 4.1)仍活躍在各種系統中了,其中也包括Sun新近發布的GlassFish v3應用服務器。

我們尚不清楚JSR 294為何會被叫停(JSR 277已經被叫停一年了)。小組收到的上一封郵件表明:

除了實現JSR以外,JDK 7還將提供特定於實現的特性,比如classpath(沒有任何一個JSR提過這部分內容)以及Jigsaw模塊化系統。

JDK模塊化使用了Jigsaw模塊化系統。模塊化的可見性是由一個原型化的模塊info.Java文件控制的,這在未來可能會發生變化。模塊的私有訪問實際上並沒有在模塊化中使用到,這部分主要是起引導作用的。

關於Jigsaw的進一步討論將在Jigsaw-dev列表中展開。

簡單模塊系統自從被提出後就沒有什麼新進展,盡管版本的事情是由JSR 294控制的,但事實卻並非如此,因為其開發過程是在jigsaw-dev郵件列表上進行的,而該郵件列表卻游離於JSR 294專家組的郵件列表之外。種種事實表明Jigsaw采取了特定於實現的特性來模塊化JDK,雖然這本身是非常好的,但卻無法實現編寫一次,到處運行的模塊。可能以後這都不算什麼大事了,因為JDK 7最早也要到2011年才會發布,應用服務器已經將寶壓在了OSGi上了。

更新:在本新聞發布後,Alex Buckley證實這種停止實際上是自動的,緣於提案發布的時間而不是說項目就停止開發了。

WebSphere、GlassFish、DM Server以及基於OSGi的服務器

Kirk Knoernschild發文表明一些企業正在構築自己的OSGi,WebSphere V7 alpha最近就聲明可以將OSGi bundle部署到WebSphere中(雖然從2006年開始WebSphere server就已經運行在OSGi內核上了)。

最近發布的GlassFish v3也將OSGi運行時引入到了Sun的Java應用服務器中。盡管GlassFish還不支持直接運行本地的OSGi bundle,但我們可以將其置於Equinox和Felix上,可以在運行著的GlassFish服務器上同時運行其他bundle。

SpringSource的dm Server 2.0.0.M6已經可以運行OSGi web bundle了,借助於其bundle倉庫,dm Server指引著企業運行時的前進方向。

Maven 3與Tycho構建、倉庫以及Eclipse Marketplace

隨著Maven 3(其Tycho可以構建基於OSGi的應用)發布日期的臨近,它將成為Eclipse構建EGit以及Tigerstripe的首選。

相對於P2倉庫來說,Maven倉庫的查詢能力受到了人們的質疑,但事實上,Maven倉庫也可以進行查詢。有事實可以證明,Maven倉庫是整個Maven構建過程中最為成功的一個方面,它可以根據依賴關系自動下載所需的程序庫。從Pack200壓縮這個角度來看,P2可能更加高級一些,它還可以更新非JAR組件,然而Mave的über倉庫在廣度上輕而易舉地就超越了Eclipse P2倉庫。不僅如此,P2倉庫經常被切分成多個獨立的倉庫,而Maven則具有一個所有項目都可共享的全局倉庫。

最近,Eclipse基金會發布了Eclipse Marketplace,它源自於成功的Eclipse插件中心2站點。最初建立EPIC的目的是提供一個中央下載站點,為那些不在Eclipse.org站點上的流行插件提供下載服務,比如Findbugs和Checkstyle。

Eclipse基金會在2006年購買了EPIC的使用權,但後來就基本沒再動過它,直到最近開發出了Eclipse Marketplace後這一點才有所改觀。在這段時間內,由於缺乏統一的下載結構以及從Update Site到P2的轉變極大地限制了中央下載站點(用於搜索及下載插件)的發展勢頭。

除了插件以外,新的Marketplace還托管了RCP應用(既有商業的,也有免費的)以及培訓與咨詢供應商。

最後要說的是IntelliJ 9的發布,其社區版與商業版都提供了對OSGi應用的支持。由於該頂級Java IDE可以在本地構建OSGi應用,同時對OSGi應用又提供了巨大的支持,開發模塊化Java應用變得空前的簡單。

OSGi 4.2 EEG草案發布

最近Enterprise Expert Group發布了第4個草案。EEG的目的是定義一套規范以便JEE風格的應用可以作為本地bundle運行在OSGi運行時中。

現在Web應用可以作為bundle使用了。這樣不僅使得OSGi運行時能夠托管WAR(與Jetty之類的服務器一樣),同時WAR還可以在運行時中擁有版本依賴。Pax Web早就可以實現這一點了,但現在形成了標准,任何OSGi運行時都可以使用了。

OSGi框架中對bundle的JMX控制,對於核心OSGi服務的標准化綁定,比如Package Admin以及Cofniguration Admin等等。

事務已經作為JTA綁定的一部分,這樣就可以從OSGi服務中獲取事務了。

JNDI訪問既可以從OSGi中獲取,也可以在OSGi服務間得到。

兼容於OSGi的JDBC工廠(與Class.forName()不同)。

憑借這些服務,企業應用可以運行在OSGi環境中而無需完整的JEE棧。盡管JEE 6已經發布,但它有可能是最後獲得批准的幾個JSR之一,Mark Reinhold如是說:

Q:現在為何不開啟一個closures JSR,讓專家組完成提案工作?

  • 部署並運行你的OSGi Web應用程序
  • OSGi近況總結:用戶群蓬勃發展
  • 愛恨交加:OSGi的Spring和EJB之路?
  • Java模塊化概念解惑與現狀總結
  • OSGi全面總結與WebSphere應用范例
A:到目前為止Project Coin還沒有一個JSR,原因與此類似,直到JCP執行委員會內部的爭論平息之後才有可能提出新的Java SE JSR。

即將到來的OSGi大會

倫敦將於今年1月23日舉辦OSGi DevCon London,同時還將舉辦JAX London。現在,大會的議程已經確定下來了,Kirk Knoernschild將進行主題演講。

Santa Clara將於今年的3月22——25日舉辦OSGi DevCon,同時還有 EclipseCon 2010。Robert “Bob大叔” Martin將進行主題演講。目前還在招募演講者,如果你有這方面的想法,請遞交你的提案。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved