O/R Mapping Products


First some Standards - Products see below ... 

rd_pin.gif (1016 Byte)(Java) JDO - is a standard for Java Object persistence that's currently out in version 1.x - Version 2.0 is out recently. JDO is in some way a successor of the ODMG standard for object databases - the way JDO looks to the Java developer is very similar. 

rd_pin.gif (1016 Byte)at the moment there are some 15+ implementations with also a number of open source projects - the scene is moving fast - so have a look at a special page on JDO, which is e.g. JDOcentral.com. They provide information on actual JDO implementations in their news sections.

rd_pin.gif (1016 Byte)the JDO standard is not unambiguously as something positive. See e.g.the following posting or this one and other discussions if you want an alternative view.

rd_pin.gif (1016 Byte)(Java, J2EE) The most widely spread persistence standard might be the J2EE CMP (Container Managed Persistence) specification. It only applies if you use Entity Beans. Rumor goes that the EJB 3.0 spec will look a lot more like Hibernate or JDO 2.0 than the current version - so this could be worth a look and maybe also a wait.

rd_pin.gif (1016 Byte)(Java, C++, Smalltalk) The ODMG standard for Object Databases is a bit outdated. The last version is from 2001 and some of the heads behind it moved on to JDO - see above.


Products: Open Source and Free O/R Mappers
Licensed Products - see below, some also offer evaluation versions

The following is a list of free mappers or open source mappers:

rd_pin.gif (1016 Byte) (Java) Hibernate is a very popular free O/R mapper for Java. From the self description: "Hibernate is a powerful, ultra-high performance object/relational persistence and query service for Java. Hibernate lets you develop persistent objects
following common Java idiom - including association, inheritance, polymorphism, composition and the Java collections framework
.
".

rd_pin.gif (1016 Byte) (Java) ObJectRelationalBridge (OJB) is another OpenSource project for O/R mapping. It is now a part of the Jakarta project. OJB is an Object/Relational mapping tool that allows transparent persistence for Java Objects against relational databases. OJB provides an ODMG 3.0 API and also a JDO API (see standards above). OJB is published under the GNU LGPL License.

rd_pin.gif (1016 Byte)(Java) DBGen is an OpenSorce project. It is an object relational mapping tool for Java. The goal is to encourage rapid prototyping for database applications. No traffic since 2000 (at least as one can see) and no such things as JDO and ODMG mentioned.

rd_pin.gif (1016 Byte)(Java) ozone is a complete open source Java OODB - and you might find many of the patterns in there

rd_pin.gif (1016 Byte) (Java) Open Quasar is an open source persistence framework by sd&m. Very extensive documentation compoared to other stuff - downside is that the documentation comes in German.

rd_pin.gif (1016 Byte)(Python) PyDO - Python Data Objects another one for the Python prog language.

rd_pin.gif (1016 Byte)(Perl) Tangram is an open source o/r mapper for Perl

rd_pin.gif (1016 Byte)(Smalltalk) Joe Yoder has an o/r mapping page, which also contains a Smalltalk example of mapping code

rd_pin.gif (1016 Byte)(C++) There are C++ examples by Brian Lee Price

rd_pin.gif (1016 Byte)(Smalltalk) The GLORP project by UIUC - Camp Smalltalk: Interesting, because Alan Knight is involved - the chief architect for TopLink (work in progress)

rd_pin.gif (1016 Byte)(Visual Basic) the JCFramework and the AtomsFramework offer persistence for VisualBasic 6.0 and VB .NET respectively

I used to recommend the CETUS pages, for more products - but some of the links are outdated today (11/2001) - so please hang on - I've traced a few of them ...

Better have also a look at Java Skyline on O/R mapping tools


Products: Other O/R Mappers

The following is a list of o/r mappers. We did not examine any of them but just try to keep the list somewhat up to date. The sequence of products does not imply ANY judgement concerning quality of the product.

rd_pin.gif (1016 Byte)(Java, JDO) Kodo JDO is a JDO implementation by Solarmetric

rd_pin.gif (1016 Byte)(Java) POET, now called FastObjects is an OODB with a O/R mapping capability, that allows you to use an RDBMS as a storage manager for a OODBMS. They also have a JDO interface.

rd_pin.gif (1016 Byte)(Java) TopLink has now wandered to Oracle. It'sstill one of the most respected O/R mapping frameworks around. The smalltalk version is no longer in development - but there is a strong Java version for application servers.

rd_pin.gif (1016 Byte)(Java) CocoBase from Thought Inc. used to have also a free version of their o/r mapping tool. But there seems to be only support for the commercial product now. 

rd_pin.gif (1016 Byte)(Java) JDX 3.0 is a mapper by SoftwareTree

rd_pin.gif (1016 Byte)(Java) JdbcStore by LPC. Code example shows that this does not look much like the ODMG standard.

rd_pin.gif (1016 Byte)(Java, J2EE) FrontierSuite by ObjectFrontier.com: FrontierSuite's Contaioner Managed Persistence can be plugged into industry leading EJB 2.0 compliant Application Servers.

rd_pin.gif (1016 Byte)(Java) VBSF Object-Relational Framework by ObjectMatter.

rd_pin.gif (1016 Byte)(Java) JRELAY by ObjectIndustries

rd_pin.gif (1016 Byte)(Java) ObjectDB by (guess who :-) ObjectDB

rd_pin.gif (1016 Byte)(Java) silbergrau blue is an application container that also contains an O/R mapper. For more info see their site (products) - the material is german only so far-

rd_pin.gif (1016 Byte)(Java) JavaBlend (SUNs O/R mapper for Java) is now part of SUNs Forté development suite for Java. (the link is now dead - I'm trying to find out what happened to Java Blend - if somebody has a pointer for me, send it to wk<at I dont like spam :-)>objectarchitects.de.)

rd_pin.gif (1016 Byte)(Visual Basic, Java) Informix Object Translator now owned by IBM.

rd_pin.gif (1016 Byte)(Visual Basic) Pragmatier Data Tier Builder, a persistence code generator for VB6. They also offer a free personal edition of their software for avaluation.

rd_pin.gif (1016 Byte)(C++) The POLAR O/R mapping framework is now owned by Avantis , a subsidiary of plenum. As you can see, avantis is off the web - no idea where the code is now.

rd_pin.gif (1016 Byte)(C++) SourcePro DB by RogueWave (used to be called DBTools.h++). From the documentation it still seems to be an object encapsulation of SQL more than a full fledged access layer. 

rd_pin.gif (1016 Byte)(C++) Object Driver at www.infobjects.net

rd_pin.gif (1016 Byte)(Smalltalk) VisualAge Smalltalk contains it's own powerful O/R DB mapper

rd_pin.gif (1016 Byte)(Smalltalk) GemConnect is the O/R mapping part of the well known Gemstone/S application server.


Places and Products for .NET


The .NET community have their special places to discuss persistence issues. You might want to check
some relevant groups and places

rd_pin.gif (1016 Byte)(place .NET) news://microsoft.public.objectspaces

rd_pin.gif (1016 Byte)(place .NET) http://groups.msn.com/DotNetPersistence

rd_pin.gif (1016 Byte) (place .NET) http://dotnetguru.org/  - see the section on persistence

rd_pin.gif (1016 Byte)(.NET) GENOME O/R mapper

rd_pin.gif (1016 Byte)(.NET) Pragmatier for VB.NET and C#

rd_pin.gif (1016 Byte)(.NET) FastObjects for C#

rd_pin.gif (1016 Byte)(.NET) db4o

 


more on products at ...


rd_pin.gif (1016 Byte)(Java) Have a look at Java Skyline on O/R mapping tools

rd_pin.gif (1016 Byte)(all o-o languages) CETUS: See this page for products, O/R mappers and also Object Databases. At the time being (11/2003) it might be somewhat outdated.