I’ve been reading the documentation for Ofbiz, an "open source enterprise automation software project". Basically the project provides almost everything you need to create an ERP, a CRM or whatever Enterprise application you want.
One of the most interesting concepts they implement is the Entity Engine. In a nutshell, the engine allows you to deal with entities in your domain model dynamically. You don’t need to create a class for every entity you need to define. Instead, you declare your entities using XML, and the Entity Engine does all the entity relationship and the OR mapping, giving you a GenericValue class that you use to get the info in and out of your entities.
When I was using Dynamo Commerce Server a couple of years ago, they had a similar concept called Repository, which would let you create Repository Items using XML. I always thought that was a cool concept, because it would let you customize your business entities to your needs, w/o having to recompile anything, as the entities were really just XML definitions.
Now, I know that JIRA is using Ofbiz’s entity engine, but I wonder why there hasn’t been something similar to this available as an open source project? I wouldn’t want to download a whole ERP/CRM just to take out the entity engine.
I guess you could somehow repackage only the entity engine from Ofbiz and offer it as a standalone project, but it would be better to find something already in the wild and ready to work. Does anyone know of something like this? would you use something like this?
EntityMode et.al. in hibernate3
OFBIZ does have a segregated Entity Engine. Just use the ofbiz-entity.jar