· 1.3. JDO浮出水面,可别以为是ADO
JDO自1999年起就由一些经常写数据库对象映射层的富有经验的开发人员提出大纲,他们在长期的面向对象开发中进行了大量的数据库方面的处理和对象化包装,终于,多种多样的包装方式引起很多兼容性方面的问题。于是,一些主要的开发团队就联合起来,以SUN为领头羊,制定了JDO规范。它的目标不是取代JDBC或EJB,而是在JDBC的基础上进行包装,同时又可以做EJB的底层(CMP),简化J2EE服务器提供商的工作。JDO主要面向中小型规模的项目,不过随着产品提供商(Vendors)给出越来越多的功能(Feature),比如分布式的同步控制等等,JDO的作用也越来越大。
JDO规范在Sun的富有经验的Craig Russel的带领下,经过三年的讨论,终于在2002年四月形成了第一版。目前最新版是1.0.1版,在 http://access1.sun.com/jdo/ ;可以看到。
(大家应该知道,Java的规范形成时间一般都比较长,因为它太开放了,任何人都可以发表意见,参与制定规范的人都要考虑这些意见)
ADO是微软的数据访问组件集合,相信很多写过基于ASP页面的数据库应用的朋友都印象深刻,快速、容错性强是它的特点,不过扩展性就不敢恭维,写多少年都是那几个东东,无法超越。一些刚接触JDO的读者可能会将JDO与ADO搞混起来,以为是Java版的ADO,那就大错特错了,两者风马牛不相及,可以说不是一个档次上的东西。庆幸的是,微软没有将“xDO”这类缩写注册成商标或专利,否则两个大块头又要打官司了,嘿嘿,我倒是喜欢看热闹,打起来同样精彩!
· 1.4. JDO产品介绍
JDO规范自从2002年4月推出以来,出现了很多种各有特色的产品,当然,这些产品都遵循JDO规范,不会影响你写的JDO应用的可移植性。下面列举一下我对各个产品的印象:(参见第6节的参考文章:《JDO资源介绍》)
教父:LiDO(法国LibeLis公司)
我对JDO的认识主要是通过LiDO这个产品,它在2002年3月的一份图文并茂的教程中简要解说了JDO的使用和优点。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三剑客,称它为两面派是因为它正向开发和反向开发都还可以。它的特色是反向工程(从表结构生成数据类)比较方便,与UML的结合也很强,不过真正运行起来的时候,配置复杂。当初该公司曾许诺我以10%的价格买一份,可惜我当时没在意。如果上天再给我一次机会……
免费午餐:TJDO(一群跨国界的有志之士)
这是一个在Sun提供的参考产品(Reference Implementation)的基础上加入一些扩展功能而形成的一个免费产品,目前最新版本是2.0beta3,不过进展也缓慢,这个版本已经出现好几个月了没有进一步的更新。
以上这些是我用过的比较有代表性的产品,还有很多商业产品,以及其它一些或规范或不完全规范的免费JDO产品(如XORM、OJB等),这里不再一一列举,有兴趣的读者可以到 http://www.jdocentral.com/ ;去进一步了解。
· 2. JDOGenie是哪路英雄
前面已经提过,JDOGenie是南非的一个商业化产品,可别小看南非人,他们的收入可不少!当然技术也不错。如果读者做过UML的建模和设计,可能会知道Together Control Center这个产品,也就是最近被Borland收购的一个UML设计工具。JDOGenie的出品公司HemSphere就是Together的南非总代理和合作伙伴。
说到这里,插句题外话,IBM收购了Rational,Borland收购了Together,Sun收购了DescribeUML,一场IDE+UML的大战又将上演。
好,书归正传,JDOGenie是我目前最推荐的产品,原因是易学易用,简单上手,对于想学习JDO的朋友是最适合不过的了!它有一个图形界面的配置工具,可在里面进行数据表映射、SQL操作、JDOQL查询等等功能,非常方便。对采用JDOGenie的Web服务器也可以通过这个图形工具进行监控,可以了解哪些查询费时,哪些查询执行次数多等等,有助于数据库优化调节。
俗话说,百闻不如一见,下面先给几张图片,过把瘾先:
控制台界面(WorkBench):
(图片较大 请放大后查看)
(未完待续)
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/