What is a Metadata Based Architecture?
When to use this type of architecture?
What is a Metadata Based Architecture?
When to use this type of architecture?
It is an architecture that preaches an abstraction level so high that there is virtually no code. There is a framework that works with defined metadata to create the application. It is a declarative way of creating an application, as opposed to the imperative style of codes we are accustomed to. It also usually has some tool that helps to work with these metadata.
In general, a DRY technique is used where everything the system needs to know is in only one place, metadata. And scaffolding is used a lot to generate code. There are also softwares that fit into runtime .
In general it is little adopted because the results are not as good as they seem to be. Perhaps a little bit about the tools that exist today, perhaps because the technologies adopted are not the most appropriate, perhaps because they promise more that they can deliver, which creates frustration.
One example is Microsoft's LightSwitch that was discontinued due to low membership.
I like the general idea, but not the way they use it. A hybrid model might work better.