< meta http-equiv="description" content="Exolab组织是一个开发开源企业级软件的信息组织。许多年以前一个偶然的机会,我碰到了Exolab ,当时我正在寻找一款工具提供JAVA对象模型到XML数据映射的工具。当时我想用对象数据管理组织(ODMG)的标准实现存储JAVA对象。"/>

Castor JDO: 一个欺诈的广告

[来源] 达内    [编辑] 达内   [时间]2013-03-15

Exolab组织是一个开发开源企业级软件的信息组织。许多年以前一个偶然的机会,我碰到了Exolab ,当时我正在寻找一款工具提供JAVA对象模型到XML数据映射的工具。当时我想用对象数据管理组织(ODMG)的标准实现存储JAVA对象。

  以下是一个专家的视角透视java数据对象(JDO)名字和当前一些看法下的使用问题以及带来的更多的问题。这不一定反映了O"Reilly & Associates的意见。

  Exolab组织是一个开发开源企业级软件的信息组织。许多年以前一个偶然的机会,我碰到了Exolab ,当时我正在寻找一款工具提供JAVA对象模型到XML数据映射的工具。当时我想用对象数据管理组织(ODMG)的标准实现存储JAVA对象。S UN最近宣布了一揽子计划建立XML到JAVA对象映射的标准;这个计划发展成现在的JAXB标准。Exolab有一个叫Castor XML的产品 ,它提供了这种映射。Exolab的人员告诉我他们的实现跟SUN的标准非常相近,他们紧紧的跟踪SUN的标准。现在,我已经发现出现了一个免费的对SUN最新的XML到JAVA对象映射标准的实现。

  Exolab 也有一个叫Castor 得工具,它提供了一个JAVA对象模型到关系数据库的对象-关系映射。他们声称该工具支持对象数据管理组织(ODMG)的标准,包括对ODMG查询语言-QQL的实现。我曾经做过ODMG的C++和JAVA编辑;我检查过他们的实现并判定该实现并不符合ODMG的标准。然而他们一直在用ODMG 名字。

  我曾想在一个符合ODMG的标准的商业产品中用他们的XML工具。Exolab团队提供了些支持,引导我们对他们的工具进行些改进市的它能够在ODMG的产品上可以使用,但是 我们有几个无法解决的问题,后来我们决定不用他们的技术。

  1999年组成的Java 数据对象 (JDO)专家组定义了一个在JSR(JAVA specification Request)-12下JAVA对象透明持久性模型的标准。在2002年3月的java社区组织(Java Community Process 简称JCP)上JDO规范作为一个标准被分发。目前有10个公司提供JDO标准的商业实现。Apache公司的Jakarta 工程正在开发一个开源的JDO实现。JDOcentral 是一个致力于JDO标准发展的网站。

  在专家组成立后不久,Exolab 开始把他们的产品与JDO联系起来。他们把他们产品的名字从Castor改成Castor JDO。在JDO专家发布他们的第一个草案时,他们就在他们的产品上使用JDO的名字,而他们的产品并没有实现JDO标准。他们也在他们的站点上用“JAVA数据对象”这个短语。

  我已经检查了最新版的Castor JDO;它与JDO标准有很大的不同,他用Exolab的OQL 查询语言实现,这种查询语言用了ODMG查询语言的名字,而他不与ODMG的OQL兼容。JDO有它自己的查询方法,叫JAVA对象查询语言(JDOQL). JDOQL和OQL语言有很大的不同,他们提供了不同的性能。总之,在Castor JDO 和 JDO 标准之间有很多根本的不同。

  我是JDO专家组的初始成员之一,我确信Exolab 不是JDO专家组的成员。 Java Community Process 对于专家组成员的规则将使得Exolab当他们用JDO的名字时他们无法得到规范,他们不能合法的声称他们的产品实现了JDO标准如果他们是专家组成员的话。

  有人问Exolab用JOD和Java Data Objects是否侵犯了SUN的商标。根据SUN JDO规范的领导者拉塞尔.克雷格(Craig Russell)的说法:“SUN没有声明任何关于缩写JDO的商标权“。但是SUN声明了JAVA的 商标权。"Java Data Objects"这个名词能够、确实意味着一件事情:Sun"s JSR-12 规范。

  Castor JDO是一个开源的具有应用程序编程接口的工具,但是它一直在用Java Data Objects 和 JDO的名字。它是一个单独的商家Exolab提供的专用工具。与此相反的是Java Data Objects标准被Java Community Process 详细说明,被许多厂商支持。Exolab一直在用JDO, Java Data Objects, 和 OQL这些名字好象是为了得到ODMG 和JDO名字被承认而进行的投资。

  不幸的是, Exolab对JDO名字的使用已经造成了产业界的和多混淆。许多人错误的认为Castor JDO 支持JDO标准。我最近听说几个主要应用服务器厂商的首席设计师做出了许多关于JDO的贬损之语,我发现他们是指Castor。他们认为Castor支持JCP制定的JDO标准。那些已经实现了JDO标准的厂商不断的遇到了市场的混淆。许多他们潜在的客户错误地认为Castor JDO 支持JDO标准。

  Castor JDO 并不支持JDO标准

  现在在Exolab"s 站点上的文章声明Castor JDO 与 JDO 标准截然不同,但是许多人并不知道这个。很明显即使Castor JDO 并不支持JDO标准,Exolab也用JDO这个名字赢得了客户。尽管有几个组织已经要求他们改变他们产品的名字,但是他们仍然继续使用它。只是人们不会把它和 JCP的JSR12制定的Java Data Objects 标准相混淆。

  如果你考虑使用Castor JDO 的产品,现在你知道了它并不支持JDO标准。你可以得到一个免费对象关系映射工具,它具有私有的API。但是如果你想构建你的应用在JDO标准之上,你应该考虑一个现在已有的商业实现。

资源下载