« A general model for Relationships | Main | Superior Hiking Trail - Plan for 10/05/07 - 10/07/07 »

Progress in the CORM project

Now that I have a real need for it, I pulled my Commercial Object Relational Mappings (CORM) project out of the attic about 10 days ago, and have been on a codebender for over a week overhauling the Party and PartyRelationship Archetype Patterns. Most of the changes are structural, including a lot of touch-up work on the API to bring it more into alignment with how Arlow and Neustadt documented things in the Enterprise Patterns book.

I am a little bit disappointed in some of the API decisions from the Enterprise Patterns book, however. There are certain classes which defy all logic. One example is PartyIdentifier. What, exactly, does PartyIdentifier do that UniqueIdentifier does not do? One of the things I am very consistent about in object modeling is not to create subclasses that do not have a function.

So, if I do not find some very compelling reason to keep some of the archetypes in the Party and PartyRelationship Archetype Patterns, I will be scrapping them. I'll determine this by studying how the tables are going to be laid out in MySQL, and what possible advantages there might be to keeping around identical pleomorphs in the Java Persistence Architecture of EJB3, which is what I'm using for persistence.

I'm also very skeptical about the Rule Archetype Pattern outlined in the Enterprise Patterns text. Based on my experience implementing rule engines, I don't think their model is at all robust enough to satisfy the real needs of rule engines. It seems like a very haphazard model for rules, and I might scrap it altogether in favor of integration with Arete. That would mean this legitimate and immediate need for CORM translates to immediate need to finish the second implementation of Arete and get the damn thing packaged. I had to pull development of the bravo core off of my front burner about a month ago in order to focus on learning Solaris. But, now that my servers are up and running it seems I'm back on the scent.

More soon.

TrackBack

TrackBack URL for this entry:
http://blog.lib.umn.edu/cgi-bin/mt-tb.cgi/44114

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)