Java数据对象(JDO)的前世今生(8)
4.3 主要产品以及各自特点
在JDO规范制定的同时,出现了几个主要的JDO产品,有美国的基于对象数据库的FastObjects j1、法国的支持Versant对象数据库、文件数据库、主流RDBMS的LiDO、南非的JDOGenie、德国的JRelay等等,这些都是很不错的JDO产品。下面列举一下我对主要的几个产品的印象:
LiDO(法国LibeLis公司)
我对JDO的认识主要是通过LiDO这个产品,它在2002年3月的一份图文并茂的教程中简要解说了JDO的使用和优点。这个教程可以在这里下载:http://www.objectweb.org/conference/JDO.pdf。LiDO的特色是大而全,支持文件型数据库、RDBMS、ODBMS,甚至是XML数据库。不过配置较麻烦。最新版本是2.0RC。
KodoJDO(美国SolarMetrics公司)
Kodo是JDO的中流砥柱之一,在JDO1.0还未最后通过的时候,它就是一个比较成熟的产品了,其特点是注重性能和稳定性,目前最新版本是2.5.0,是客户最多的产品。
JDOGenie(南非HemSphere公司)
这是目前我最推荐的产品,最新版本是1.4.7,性能也不错,稳定性还有待验证,但它有一个最大的特点:集成性好,最易学,其公司的CTO David Tinker也是一个善解人意的年轻人,采纳了很多网友的意见对产品进行改进,主要是在配置上非常方便,有一个专门的图形界面工具,可以进行配置、数据库生成、对象查询等等很实用的功能。
JRelay(德国ObjectIndustries公司)
这也是一个出现得比较早的产品,也有一个GUI工具用于配置,曾几何时,这个工具还是相对很方便的,但一年多过去了,好象没什么进展,最新版本是2.0,我试过一段时间,后来就没有再跟进了。
FrontierSuite for JDO (美国ObjectFrontier)
这个产品与JRelay、Kodo一起,可算是早期的JDO三个主要产品,它支持正向开发和反向开发(Reverse Engineer)。它的特色是反向工程(从表结构生成数据类)比较方便,与UML的结合也很强,不过真正运行起来的时候,配置复杂。
TJDO(一群跨国界的有志之士)
这是一个在Sun提供的参考产品(Reference Implementation)的基础上加入一些扩展功能而形成的一个免费产品,目前最新版本是2.0beta3,不过进展也缓慢,这个版本已经出现好几个月了没有进一步的更新。
5 目前状况与未来展望
从2002年4月JDO1.0规范正式公布以来,各个产品层出不穷,从商业到免费的层次,都有不错的产品推出。象Kodo、Lido、JDOGenie等产品都已经比较成熟,可以考虑投入开发使用。在2002年8月,JDO又推出1.0.1修正版,修正了1.0版规范中的一些文字错误,以及轻微地改进了部分异常定义,不过改动都不大。从现在的情形来看,除了Kodo有一些大学的项目用到外,好象还没看到多少使用JDO作开发的应用。
JDO毕竟是一个新技术,从概念上到实际应用上对其掌握的用户还不多,而这些产品在配置、使用上的方便性易用性还有待大幅度改进,因此,真正用JDO来开发项目的用户还廖廖无几,至少我还不知道有哪些项目使用了JDO。我自己也尝试使用JDO来开发项目,但由于一些JDO1.0版本中还不够完善的一些硬伤(比如不支持关系数据库统计功能),使我对JDO仍处于观望阶段。
在八月中旬进行的JDO2.0规划会议中,来自各国的各个JDO产品厂商、JDO技术咨询公司、JDO研究机构的代表汇聚一堂,将各自收集到的用户对JDO2.0的需求总结起来,提出一个个的新的议题,并且确定了每个议题的JDO规范撰写负责人,比如高级fetchGroup特性由目前实现得最好的JDOGenie的CTO David Tinker负责,关于managed-relationship特性由Kodo的产品总监负责,用户要求最多的JDO对象与PersistenceManager的脱钩/重挂钩特性由Sun的Craig Russell亲自操刀,等等。
最具有吸引力的JDO2.0议题,笔者个人认为是专门为关系数据库设立的子规范JDO/R,这也是我一直以来最关心的,这将使目前JDBC的开发将可以被JDO完全取代,并且保证开发过程保持面向对象的特色。还有一些将一个类映射到多个表之类的特性也在规范化的列表上,这将有利于DBA在不影响应用开发的前提下根据需要更改数据表结构,实现更好的性能。类似的新特性还有很多,粗略地看,这些都规范化起来后,真不知道各个厂商还能做什么样的扩展特性,也许以后厂商之间拼的只能是技术支持服务和产品性能了,当然,最后还有价格的竞争。
说了这么多,我想大家关心的还是JDO2.0到底什么时候能出来,我们什么时候可以用上它,什么时候有中文版产品,价格到底如何。这些问题目前笔者还无法一一回答,只能根据笔者所掌握的信息初步解释一下。据前几天的JDO2.0启动大会上David Jordan的预期,JDO2.0正式版将在18个月后正式完成。那正式完成后厂商什么时候才能提供符合规范的产品呢?这个问题不用担心,因为规范在制定的过程中会不断地公布公众预览版(Public Review),这样,厂商可以先实现其中的功能,等规范正式完成后,也不会有太大的变化,厂商也不会需要太多时间来跟进最终规范。所以,我估计一年之后,我们就可以在JDO2.0上进行开发了。至于价格如何,1.0规范的产品初步印象是每个开发人员需要一个License,一个License大概2000美元。如果JDO2.0产品的价格还保持这么贵的话(至少对中国用户来说),我们也还有很多免费(如JPOX,TJDO)或半免费(如JCredo)产品可以选择。最后一个关于中文版的问题,有待于厂商对中国市场的考察,或者看看是否有国内的JDO产品了。不过,在JDO2.0规范制定的同时,我们可以先集众人之力将其普及,使广大的使用Java语言进行数据库开发的开发人员都来认识JDO,了解JDO,甚至将其用到项目开发之中。
也许,JDO的目标已经吸引了Java世界以外的人,微软发现了这一点,也立即计划在.NET体系中加入一个仿照JDO的中间件,具体是采用ObjectStore的产品,ObjectStore是一个同时做JDO和.NET-DO(姑且使用这个名称)的公司。
在这里,笔者可以大胆地预测,在未来的一两年内,JDO将在Java世界大放光彩!
- 上一篇:Java堆的管理--垃圾回收
- 下一篇:Java语言接口与继承的本质