I love alot of things about Java and open source, but one of the things that is so great about it is also a source of frustration at times. CHOICE! Choice is great, but sometimes it's overwhelming. There are so many options in terms of methods of doing something (JDBC, JDO, EJB, etc.) and even within a particular method/specification like JDO...a multitude of implementations. Personally, I don't have the luxury of the time to use and benchmark 3, let alone 15 different vendor implementations of JDO. Does anyone know of an "objective" review of the most popular JDO implementations? David/Craig (Guest Authors): I'm going to "try" to put you on the spot, I understand if you are reticent to reply/commit, but... Which implementations have you used and which one do you recommend? Side Note: Thank you to David and Craig for joining us. It's been interesting. In my opinion, one of the better discussions in quite awhile. Regards,
You won't get a public JDO vendor recommendation from Craig or myself, for a whole bunch of reasons. I am not aware of any published comparisons of the JDO vendors yet, but that will come eventually. In a couple of months I should have a much better understanding of the performance differences among the vendors. But performance is just one of many characteristics to use when comparing vendors. I am available for JDO consulting services, visit my website, Object Identity. I have a JDO implementation of OO7 which can be used to quickly compare performance of the vendors. I am also currently developing a JDO implementation of Rubis, I am using 4 different JDO implementations and will have a better judgement of these 4 vendors once the work is complete. I'll be looking for more consulting work once the Rubis project is completed. This could involve having me work with your organization to determine which vendor would be a good fit for you. The good news is that MOST of your work with one JDO vendor will be the same with all the others. That is part of the beauty of JDO. Your main differences will be the command to enhance your classes (unless you just use the reference enhancer, which all must support) and the metadata that defines to OR mapping. It should be feasible to switch from one JDO vendor to another in less than a day's work. The JDO products are fairly cheap right now too, thanks to the dismal economy. So the cost to switch will not be that great.