Dave Johnson on open web technologies, social software and Java
I think I read that Matt added sort-by column to the Roller user table that appears on the new Roller 0.9.6 front page, but I can't find that email right now. That will make it easier to browse the blogs at FreeRoller.
There are a lot of cool blogs at FreeRoller that I have not noticed before. For example, Cedric Beust's weblog and Ara Abrahamian's MemoryDump. Ara has some interesting ideas about an n-way metadata bus for Java persistence scenario. Cool idea. He says MiddleGen may support this some day. Wow, I need to take another look at MiddleGen.
Scott from Atlassian wrote to tell me that OFBiz-EE can be used in all four of the persistence scenarios that I discussed yesterday. He wrote:
You have your JavaBeans already, you then need to create an entitymodel.xml file to represent your entities (which will then CRUD the relevant database tables), and you can use the API to store your changes to the database. However, the storing is not automatic - you would have to write the code yourself. [Scott from Atlassian]
But if you have to write the storage code yourself, can you really say that OFBiz-EE supports this scenario? I don't think so. OFBiz-EE takes a very different approach, not a bad approach, but a different approach.
I think OFBiz EE needs its own scenario - the generic-object scenario. I don't think it truly fits into any of the four scenarios that I listed. It does not really do anything to support the JavaBeans model (no introspection, no JavaBeans generation) and it does not do any code generation (except for the DDL, right?). So here is the new generic-object scenario that I have just added to the comparison 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.
XORM beta 2 is an open source, "extensible object-relational mapping layer for Java applications. It provides interface-based persistence to RDBMSs using the Java Data Objects (JDO) API while allowing developers to focus on the object model, not the physical layer." XOTRM is published under the GPL.[from Cafe au Lait by way of Russell]