Blogging Roller
Dave Johnson on social software, open source and Java
Dave Johnson on social software, open source and Java
Above: a random selection of photos from my Flickr photo-stream.
... and that is just a few of the recent posts ...
The topic of Java persistence frameworks just keeps on trucking
through the Java blogs. I think that the reason the topic keeps
coming up is that there is no clear concensus on the "right way" to do
persistence. I certainly don't know the right way. But anyway...
I'd like to understand the available tools a little better, so I've
started looking at the tools mentioned in the above posts. I
found the feature comparison on the Cayenne project's Wiki
to be helpful and I also found a very nice set of Java persistence
framework development scenarios on the Hibernate website.
The Hibernate folks have outlined four development scenerios for
using a Java persistence framework: top-down, bottom-up, middle-out,
and meet-in-the-middle. Here is my generalized description of
these four scenarios, plus a
fifth "generic-object" approach that I have added to accomodate OFBiz-EE:
Generic-object: Start with a meta-data description of your desired database schema, generate DDL to create your database, and use a persistence API to store and retrieve generic data objects, with values stored as a hash of name-value pairs, to and from your database.
| Abra |
Castor JDO |
Cayenne | Commons SQL |
Hiber -nate |
Jakarta OJB |
OFBiz EE |
Jakarta Torque |
TJDO | |
| Top-down | Y |
Y |
Y |
Y |
Y |
N |
N |
Y |
|
| Bottom-up | Y |
N |
Y |
||||||
| Middle-out | Y |
Y |
Y |
Y |
N |
Y |
|||
| Meet-in-middle | Y |
Y |
N | N |
|||||
| Generic-object |
Y |
||||||||
| JDO API |
N |
N |
N |
N |
N |
soon | N |
N |
Y |
| ODMG3 API |
subset |
N |
N |
Y |
Y |
N |
N |
||
| License | BSD | BSD | BSD |
APL |
LGPL |
APL |
BSD | APL | APL |
| Last release | 0.9.6 Sept 2002 |
0.9.4.1 November 2002 |
1.0a3 Sept 2002 |
1.1.4-b Oct 2002 |
2.0-b2 July 2002 |
2.0-b Sept 2002 |
|||
| SF Activity |
19.4% | - |
98.3% |
- | 99.9% |
- | 98.9% | - | 95.3% |
| SF Downloads | 7 |
- |
2698 |
- |
775 |
- | 86869 |
- | 278 |
| Developers | 3 |
3 |
3 |
11 |
17 |
11 (1) |
10 (2) |
7 |
|
| MySQL | Y |
Y |
Y |
Y |
Y |
Y |
Y |
||
| PostgreSQL | Y |
Y |
Y |
Y |
Y |
Y |
|||
| HSQL | Y |
Y |
Y |
Y |
|||||
| Oracle | Y |
Y |
Y |
Y |
Y |
Y |
Y |
||
| SQL Server | Y |
Y |
Y |
Y |
|||||
| DB2 | Y |
Y |
Y |
Y |
Y |
Y |
|||
| Sybase |
Y |
Y |
Y |
Y |
Y |
Y |
Tags: Java
I think my Blogging is Difficult post was a little corny, overdone, and maybe gave people the wrong impressions. Writing things for my weblog is not difficult like some painful chore that I dread to do each day. It is quite the opposite. I enjoy it and sometimes I have to hold myself back.
What makes blogging difficult is that sometimes I write things that I later feel to be stupid and embarrasing. I think I'm being little too sensitive and self-conscious about this. My readers probably don't even notice the things that I consider to be stupid and embarrassing.
Another thing that makes blogging difficult is mixing the professional and the personal. Part of the reason that I write a weblog is professional. I want to improve my communication skills and I want to build a reputation as a software architect and developer. Again, I think I'm being too sensitive. I don't worry about the effect on my professional image of wearing shorts & berkenstocks, taking breaks for disc golf, and cranking up the Clash at work. So why should I care about having some fun on my weblog? As long as I don't mention my employer by name and I speak about work only in vague generalities, I'm fine - right?
I'll stop the meta-blogging/navel-gazing now and return you to my normal disjointed ramblings. That is what I promised and that is what I will deliver.
Tags: General