Friday, February 24, 2006

Metamodel Programming

I always used meta data to store business rules e.g. tax rates, commission etc. This allowed the system to be modified and even extended after delivery well into the maintenance phase without too much hassle.

Lately I am gravitating more and more to the idea of having all my logic inside a meta model. This meta model will not only contain business logic but also programmatic logic . The meta model must be able to model the interaction between all the various business objects as well as the presentation objects which will in turn allow me to generate code from the meta model.

There are tools available today allowing this, but they are either too expensive or too bulky. Obviously creating a product to do all of this, the product needs to be very generic to allow it to be usable by the mass market.

Because my projects are medium in size, 5 - 10 developer teams, I do not need the bulky huge be everything to everyone packages. The tools needed in my domain will be fewer but more biased towards the domain instead of trying to have a tool generic enough for all domains.

Luckily for me the chances are very good that I will be trying out this new approach on my new upcoming project. We will have to wait and see how many sleepless nights I will have to endure to make this a reality.

No comments: