Wednesday, November 24, 2004

Propylon CTO Article - Duck modelling in commercial IT systems 

Propylon CTO Article - Duck modelling in commercial IT systems
Author Sean Mc Grath
"All around the world, as I write this, developers are struggling to create models for invoices and other "simple" business documents into IT systems. All around the world, multiple efforts new and old continue to attempt to zoom in on a definitive model of what it is to be an invoice. Also all around the world, retired developers in Zimmer frames and comfy shoes remember the good old days when they too chased such modelling rainbows.

The classical approach to data modelling - as enshrined in techniques such as data dictionaries, object models and XML schemas - is to model the data rigorously from the top down. Every thing in the model has a name. Each thing is either a simple lump of data or a complex thing. Complex things, themselves have names and models. And so it goes.

The latest silver bullet of the classical approach - XML schemas -illustrate the genre very well. You start at the top concept "invoice". You break it down into its component parts known as "elements", say, "header" and "body". You break these down further into more elements. For example, a "header" has a sender element, a receiver element, a date element. A sender element is comprised of...and so it goes.

The trouble is, this modelling exercise never ends. The essence of an invoice refuses to be modelled. Every model, to paraphrase Oscar Wilde, becomes a work of art that is never finished, simply abandoned. If this were not the case then surely we would have a definitive invoice model by now? How come our planet is so chockablock with mutually incompatible, application-specific models of invoices? How comes new ones appear every second day?

I have a suggestion that explains the situation. It is radical sounding at first but please bear with me.

There is *no such thing as an invoice* in the classical data modelling sense."

0 Comments:

Post a Comment

This page is powered by Blogger. Isn't yours?