記者就Kodo源代碼的開放、這對EJB 3.0開發人員的意義以及其它框架(如Spring)如何利用它等問題采訪了Neelan。
關於開源
我想先問一個重要問題:Kodo打算加入開源行列嗎?
Neelan Choksi:是的。這個項目叫做Open JPA。Open JPA將包含Kodo代碼庫中將被開源化的重要部分,具體來說就是Kodo核心以及EJB 3 Persistence規范。一旦EJB 3被批准了,Open JPA就將成為Apache軟件許可下的EJB 3 Persistence標准的開源實現。
Kodo是一個廣受歡迎的軟件。為什麼你們會決定將其開源化呢?
Neelan Choksi:多方面的原因促生了Open JPA項目的產生。我想首要的原因就是使大部分開發人員能夠有一個優秀的工具。我們認為,大多數開發人員都不得不滿足於“合格即可”的工具,而我們希望讓他們有更好的選擇。
您提到了對內核以及EJB 3組件的開源化。你們還准備對其他組件進行開源化嗎?
Neelan Choksi:是Kodo內核引擎與EJB 3 Persistence API。我們還將轉變針對Workshop團隊的GUI工具(Kodo Workbench、Kodo Query Editor、Kodo Management Console以及Kodo Profiler),以便讓Workshop Studio產品對客戶更有吸引力。
該產品何時會被開源化?
Neelan Choksi:在今年上半年就可看到Open JPA可用了。我們還有許多工作要做,例如,為Open JPA找一個容身之處,使要被開源化的代碼獲得合法的批准,等等,但是我們既然承諾要將其開源化就會做到。此外,在接下來的幾個月中,我們將與其他團體的領導聯系,以獲取他們對Open JPA的支持。接下來的一個很重要的工作就是擴展Kodo和Open JPA的社區。
混合開發以及與Open JPA的集成
這與BEA的混合開發模式(在一個解決方案中部分使用開源產品,部分使用不開放源碼的商業產品)有什麼關系?
Neelan Choksi:這個開源化決策正是迎合BEA的混合開發和部署模式而生的。為什麼要從不開放源碼的BEA Kodo產品的代碼庫中創建Open JPA?BEA放棄利潤就是因為考慮到混合模式。
BEA將圍繞Open JPA建立一個社區,而這個社區包含的將不只是Weblogic Server的用戶。我們歡迎所有從WebSphere和JBoss等商業產品到Tomcat和Spring等開源框架的用戶。這很容易做到,因為Open JPA的核心是一個開放的行業標准。
這對開發人員來說有何意義?在它被開源化之後,開發人員能夠立刻使用它嗎?比如說,如何將它與應用服務器相集成?
Neelan Choksi:這意味著開發人員將有一個免費的、經過Apache認證的EJB 3 Persistence規范實現。同樣不可忽視的是,客戶將可以獲得BEA長期以來為客戶提供的品牌支持服務,如果需要的話,還可以通過BEA Workshop Studio產品獲得工具支持。
我們非常歡迎開發人員在Open JPA可用之後立即試用它,因為EJB 3規范還沒有最終確定。EJB 3規范團隊需要來自社區的更多反饋,以便確保他們實現了使企業Java更易於使用的承諾。
能否在沒有完整的應用服務器的情況下運行它?
Neelan Choksi:可以。正如EJB 3規范的規定,Open JPA在應用服務器中或應用服務器之外都可以運行。
我了解到JDO 2.0和EJB 3的持久性部分有一些重疊部分。這對你們的開源化過程有什麼影響?
Neelan Choksi:我們將開放與EJB 3 Persistence預覽版相關的代碼。我們不打算開放與JDO和JDO 2相關的代碼,客戶仍然可以從BEA Systems購買獲得。
在Dev2Dev上有很多關於Spring Framework的話題。Spring提供了一些相當不錯的與持久性引擎交互的機制。你們是否有將其與Spring進行集成的計劃,還是它可以開箱即用地運行?
Neelan Choksi:目前,Kodo中的Spring Sample包括一個將Spring Framework與Kodo JDO一起使用的最佳實踐示例,以及由Kodo和Spring開發人員協同開發的新增Spring JDO綁定。雖然Spring和Open JPA可以開箱即用地一起運行,但是可以預見,隨著時間的推移,必然會出現與Spring Framework的更緊密集成以及更多的最佳實踐。