Interview: Joseph Yoder on Adaptive Object Model Architecture
In this interview Joseph Yoder talks about the Adaptive Object Model (AOM) architecture, a software architecture for easily adapting to changing business requirements.
Watch: Joseph Yoder on Adaptive Object Model Architecture (27 min.)
Yoder explains the difference between the classical object model and the adaptive one. Instead of modeling the entities of a domain and their behavior with classes, one can model them with descriptive information (metadata) stored, for example, in an XML file or a database. If the behavior or the entity attributes need to change, that can be easily done by deploying a new XML file without having to touch the code.
Ralph Johnson, Gang of Four patterns co-creator, explained the role of the metadata in the adaptive object model:
Metadata is just saying that if something is going to vary in a predictable way, store the description of the variation in a database so that it is easy to change. In other words, if something is going to change a lot, make it easy to change.
The problem is that it can be hard to figure out what changes, and even if you know what changes then it can be hard to figure out how to describe the change in your database. Code is powerful, and it can be hard to make your data as powerful as your code without making it as complicated as your code. But when you are able to figure out how to do it right, metadata can be incredibly powerful, and can decrease your maintenance burden by an order of magnitude. Or two.
The adaptive object model is not to be use anywhere, anytime. Yoder gives examples where AOM is used, talks about AOM patterns, the need for model validation and security.
Congratulations..
by
aa bb
Re: Congratulations..
by
Robert Barth
In another story from the famed magazine, "Obvious," apparently the sky is blue and water is (wait for it)... wet!
The trick to the whole shebang is recognizing the areas of variability. No framework will ever help with that, that's something the human taking the requirements has to recognize.
Re: Congratulations..
by
Bob Harwood
People also refer to archetypes when describing this. See www.openehr.org/releases/1.0.2/architecture/ove... for another example implementation.
It's not all bad that we rediscover the same idea and approach. It helps validate that the pattern is valid and applicable.
Educational Content
Intro to CLP with core.logic
Ryan Senior Jun 18, 2013
Spock: A Highly Logical Way To Test
Howard Lewis Ship Jun 18, 2013
Java Garbage Collection Distilled
Martin Thompson Jun 17, 2013
C++11 The Future is Here
Bjarne Stroustrup Jun 16, 2013
The Big Data Revolution
Claudia Perlich Jun 16, 2013




Hello stranger!
You need to Register an InfoQ account or Login to post comments. But there's so much more behind being registered.Get the most out of the InfoQ experience.
Tell us what you think