OJUG on August 26th, 2004

I attended this past week’s OJUG meeting in Ottawa, which was very useful. Patrick Linskey, CTO of SolarMetric (developers of Kodo JDO) and co-author of Bitter EJB. He discussed JDO 2.0 JSR 243.

I am very interested in the next version of JDO as I’ve used Hibernate with great success and am looking for something similar, but standards based.

Some implementations of JDO 1.0 and 2.0 are listed at JDO Central. Kodo JDO 3.2 Beta has many of the JDO 2.0 features.

Some of my notes from the presentation:

  1. The big problem in the OR/M world is not the M, but rather the remoteness of data being manipulated
  2. JDO is an Abstract API for Object Persistence
  3. OR/M is an old, well understood problem. It has been solved many times and there is probably little room for real innovation. This is the counter for those that believe that a specification stifles innovation. Isn’t there room for innovation at the API level?
  4. Provides portability between relational and non-relational datastores
  5. Can support J2ME if you provide a Java Collections implementation since J2ME does not provide one
  6. You shouldn’t see the JDO API very often. Most of your data access happens through your object model. You will only see the API for queries & deletions. (Supposing your container is handling transactions.)
  7. Very much tries to do things the Java Way
  8. There is no such thing as POJO persistence
  9. Regarding some Java OR/M implementations that use object proxies: proxies are not the real objects. This will bite you in unusual places. The example is that EmployeeProxy does not extend PersonProxy.
  10. The current problem with bytecode manipulation is that there is no standard to prevent multiple tools from stepping on each other
  11. Gavin King is no longer on the JDO 2.0 committee
  12. No more “autocommit” support!
  13. Uses named queries. You can override a named query with a custom piece of SQL for each targeted database, if necessary
  14. Kodo has a cool workbench
  15. We all should watch TSS
  16. Primary key support: transparent (implementation specific), application identity or simple identity and non-durable
  17. SolarMetric has a disconnected operation and synchronization product
  18. No criteria API, but third party tools can provide this by generating JDOQL. Neither is there find-by-example, but this can also be implemented externally

We all went over to the Mayflower II for beer and conversation after the meeting. A good time was had by all.

Cheers,

A.

Comments are closed.