However I do believe that a reasonably happy medium can be found if a layer is presented to the end user that uses their own terminology and hides the physical database implementation. This, after all, was what made Business Objects so successful with its "semantic layer". However this certainly passed some complexity back to the IT department, who then had to spend significant effort in building and maintaining the Business Objects "universes". If you go one step further and have a data warehouse that is driven from a business model, then this itself can generate a meaningful environment (such as a Business Objects universe) from the warehouse. This is what Kalido does, for example. Again, it is fair to say that the complexity has not entirely disappeared, but now some effort is needed to build the business model in the data warehouse. However where I think the article's neat idea falls down is to assume that the magnitude of the complexity is always the same. It seems clear to me that there is more effort in customizing every report to an individual user than there is in delivering an environment like a Business Objects universe (or even a carefully built Excel pivot table) which gives the end user a fair degree of freedom of formatting a and exploration. There us still less effort involved if you push the effort back one layer into the warehouse, since the warehouse can then generate multiple Business Objects universes, and not require each one to be customized by hand. Hence the further back in the stack you start the business modeling, the more ripple-through benefits you get by having less separate things to customize by hand. The end user still gets a flexible environment in terms that are meaningful, but there is less effort in total in delivering this environment. Further benefit would occur if all the operational systems were business-model driven, but this is just a pipe-dream today.
Complexity is one thing that should not be conserved if at all possible. Driving things from a business-model as far back in the stack as practical won't make complexity extinct, but may at least make it a little endangered.