技术开发 频道

KODO—走向开源的EJB 3.0持久性引擎

  【IT168 技术访谈】Neelan Choksi是BEA公司的一名高级主管,目前他负责Kodo数据访问方面的事务。Neelan是随着2005年BEA对SolarMetric的收购而加入BEA的,他是SolarMetric公司的总裁。自2001年与他人一起创办了SolarMetric之后,Neelan在没有外部资金支持的情况下,帮助公司建立了稳固的业务关系。在BEA,Neelan参与了将Kodo的大部分源代码捐献出来以启动Open JPA开源项目的战略性决策,并发挥了重要作用。

  Dev2Dev就Kodo源代码的开放、这对EJB 3.0开发人员的意义以及其它框架(如Spring)如何利用它等问题采访了Neelan。

  关于开源

  Dev2Dev:我想先问一个重要问题:Kodo打算加入开源行列吗?

  Neelan Choksi:是的。这个项目叫做Open JPA。Open JPA将包含Kodo代码库中将被开源化的重要部分,具体来说就是Kodo核心以及EJB 3 Persistence规范。一旦EJB 3被批准了,Open JPA就将成为Apache软件许可下的EJB 3 Persistence标准的开源实现。

  Dev2Dev:Kodo是一个广受欢迎的软件。为什么你们会决定将其开源化呢?

  Neelan Choksi:多方面的原因促生了Open JPA项目的产生。我想首要的原因就是使大部分开发人员能够有一个优秀的工具。我们认为,大多数开发人员都不得不满足于“合格即可”的工具,而我们希望让他们有更好的选择。

  Dev2Dev:您提到了对内核以及EJB 3组件的开源化。你们还准备对其他组件进行开源化吗?

  Neelan Choksi:是Kodo内核引擎与EJB 3 Persistence API。我们还将转变针对Workshop团队的GUI工具(Kodo Workbench、Kodo Query Editor、Kodo Management Console以及Kodo Profiler),以便让Workshop Studio产品对客户更有吸引力。

  Dev2Dev:该产品何时会被开源化?

  Neelan Choksi:在今年上半年就可看到Open JPA可用了。我们还有许多工作要做,例如,为Open JPA找一个容身之处,使要被开源化的代码获得合法的批准,等等,但是我们既然承诺要将其开源化就会做到。此外,在接下来的几个月中,我们将与其他团体的领导联系,以获取他们对Open JPA的支持。接下来的一个很重要的工作就是扩展Kodo和Open JPA的社区。

  混合开发以及与Open JPA的集成

  Dev2Dev:这与BEA的混合开发模式(在一个解决方案中部分使用开源产品,部分使用不开放源码的商业产品)有什么关系?

  Neelan Choksi:这个开源化决策正是迎合BEA的混合开发和部署模式而生的。为什么要从不开放源码的BEA Kodo产品的代码库中创建Open JPA?BEA放弃利润就是因为考虑到混合模式。

  BEA将围绕Open JPA建立一个社区,而这个社区包含的将不只是Weblogic Server的用户。我们欢迎所有从WebSphere和JBoss等商业产品到Tomcat和Spring等开源框架的用户。这很容易做到,因为Open JPA的核心是一个开放的行业标准。

  Dev2Dev:这对开发人员来说有何意义?在它被开源化之后,开发人员能够立刻使用它吗?比如说,如何将它与应用服务器相集成?

  Neelan Choksi:这意味着开发人员将有一个免费的、经过Apache认证的EJB 3 Persistence规范实现。同样不可忽视的是,客户将可以获得BEA长期以来为客户提供的品牌支持服务,如果需要的话,还可以通过BEA Workshop Studio产品获得工具支持。

  我们非常欢迎开发人员在Open JPA可用之后立即试用它,因为EJB 3规范还没有最终确定。EJB 3规范团队需要来自社区的更多反馈,以便确保他们实现了使企业Java更易于使用的承诺。

  Dev2Dev:能否在没有完整的应用服务器的情况下运行它?

  Neelan Choksi:可以。正如EJB 3规范的规定,Open JPA在应用服务器中或应用服务器之外都可以运行。

  Dev2Dev:这真是一条值得注意的消息!我还不知道该规范要求引擎可以在完整的应用服务器之外运行。这真是一个好消息。

  Dev2Dev:我了解到JDO 2.0和EJB 3的持久性部分有一些重叠部分。这对你们的开源化过程有什么影响?

  Neelan Choksi:我们将开放与EJB 3 Persistence预览版相关的代码。我们不打算开放与JDO和JDO 2相关的代码,客户仍然可以从BEA Systems购买获得。

  Dev2Dev:在Dev2Dev上有很多关于Spring Framework的话题。Spring提供了一些相当不错的与持久性引擎交互的机制。你们是否有将其与Spring进行集成的计划,还是它可以开箱即用地运行?

  Neelan Choksi:目前,Kodo中的Spring Sample包括一个将Spring Framework与Kodo JDO一起使用的非常好的实践示例,以及由Kodo和Spring开发人员协同开发的新增Spring JDO绑定。虽然Spring和Open JPA可以开箱即用地一起运行,但是可以预见,随着时间的推移,必然会出现与Spring Framework的更紧密集成以及更多的非常好的实践。

  关注EJB 3和工具
  Dev2Dev:我们最近在Dev2Dev上举行了一次针对EJB 3和JDO的调查,有很多积极的反馈。您对2006年的JDO和EJB 3的市场拓展有什么看法?

  Neelan Choksi:是的,JDO引入了一些理念,这些理念又被EJB 3发扬光大,这就是一种进行对象/关系映射的更好方法。所以我对调查的结果一点儿也不感到吃惊。这也是我们决定捐献Open JPA的一个重要原因。对于我们来说,客户在第一次使用这些技术时能有很棒的体验是非常重要的,同样重要的是,他们应该拥有选择使他们的生活更为轻松的企业产品、支持以及工具的权力。

  Dev2Dev:我认为O/R工具在大型应用程序的开发过程中起着非常重要的作用,我知道你们有一个支持大量此类活动的工作台。BEA Workshop Studio也包含有O/R工具。这些工具会有什么变化?

  Neelan Choksi:Kodo Developers Workbench会被合并到BEA Workshop Studio中。此外,我们还计划将Kodo的流行图形化工具(Kodo Query Editor、Kodo Management Console和Kodo Profiler)移入Workshop Studio。我对这一举措感到非常高兴,因为Workshop Studio的开发人员都是开发图形化工具的专家,所以我认为,这项工作完成之后,我们将看到产品的功能会提高到一个新阶段。

  Workshop Studio目前已经支持Kodo 4中可用的预览版EJB 3 Persistence API。Kodo 4可从Dev2Dev Persistence Technology Center下载,Workshop Studio可从Workshop产品中心获得。

  SolarMetric、Kodo以及BEA的收购

  Dev2Dev:去年12月,BEA通过收购获得了Kodo,这对于SolarMetric公司,尤其是您,意味着什么?

  Neelan Choksi:SolarMetric实际上是在11月被收购的。成为BEA的一部分后,我们有了使Kodo更成功以及真正满足客户需求的资源,这很不错。从客户的角度来看,BEA的混合战略也是很有意义的,因为他们正试图在一个充满传统、商业软件和各种开源项目的相当复杂的世界中前进。对于我来说,我有了更多乐趣。BEA给了我成功以及引入大胆理念(比如Open JPA)的自由和限制。

  Dev2Dev:收购对Kodo及其用户有什么影响?比如说,它还是面向所有应用服务器的吗?

  Neelan Choksi:随着从SolarMetric到BEA的转变完成,客户将会获得一个在全球拥有4000多名员工的大公司所提供的强大支持。客户已经逐渐看到了BEA的收购所带来的好处。

  收购对我们来说意义重大,原因之一就是BEA承诺要保留Kodo对从客户/服务器到诸如Tomcat和Spring Framework之类的开源框架的多平台支持,以及对除WebLogic Server之外的其它应用服务器(比如WebSphere和JBoss)的支持。

  Dev2Dev:最后,您能否介绍一下Kodo的未来发展方向?我们刚刚听说了它的开源化进程,还有什么其它动向?

  Neelan Choksi:现在的焦点是对JDO 2规范和EJB 3 Persistence规范的支持,以及为客户提供两个规范的互操作性。这两个规范很快都将提交给JCP进行最终审批,我们非常希望Kodo和Open JPA的通用版本能够紧跟这两个规范的批准。

  参考资料
  Dev2Dev上的 Open Source Page
  Dev2Dev Persistence Technology Center
  Dev2Dev上的 BEA Workshop 产品页面
0
相关文章