The end of database-centric design?
As I write this, it is early June. Early June is a period that strikes
fear into school-going Irish teenagers as it ushers in the season for
high tension, high drama, all-or-nothing examinations.
For those taking examinations in the Irish language at this time of
year, two words are sufficient to drain the blood from their faces. The
words are "conditional mood" or, in Irish "modh conniolach".
The conditional mood in the Irish language is a grammar tense used to
express something that may or may not happen in the future. It causes
irregular verbs - which are hard enough to deal with at the best of
times - to go completely ga ga.
It struck me that I spend a lot of time in this future conditional mode
of expression. Not in the Irish language but in a variety of computer
languages. Like all other enterprise application developers, I worry a
lot about how to deal with things that may or may not happen in the
future. It's hard. Indeed, unlike natural languages, the mainstream
languages that are used to talking to computers do not even have a way
of expressing "may or may not happen".
It is as if programming languages are basically stuck in the present
tense. In other words, given this set of circumstances, right now, do
the following things. Unfortunately, As we all know, when the set of
circumstances changes, programs cease to function and require the
application of that great misnomer 'maintenance'. A costly exercise.
Perhaps programming languages of the future will give us modes of
expression for handling the unknown, the change which typifies business
processes. Until that happens, if it ever does, we need to proactively
take steps to prepare for the inevitability of change in our systems. We
have a word for it - flexibility.
Looking across the vista of enterprise applications, one word stands out
as being very problematic when it comes to flexibility. That word is
'database'. A working database is essentially a set of nouns and verbs
created to model a business process in the present tense. What happens
to the database when the business process changes? We typically see a
technology meltdown. Tables need to change which means that the data
entry screens break, the SQL statements break, the business logic
breaks, the reports break etc. Database's are something of a flexibility
train wreck. Can we do better?
Back to Irish language students for a moment. Students of the Irish
language, when faced with the complexities of the conditional mode, soon
pick up a trick. By using more words than strictly necessary - by adding
a level of indirection - they can avoid the need for the conditional
mode. It's not beautiful but it works. Beauty and raw speed are
sacrificed in return for getting the job done.
Is there an oblique lesson there for enterprise application development?
I believe there is. The levels of indirection take the form of loose
coupling between the component parts of a system.
Sign up for ITworld's Daily newsletter
Follow ITworld on Twitter @IT_world
Brian Proffitt
Microsoft/Novell: Breaking Down the Coupon Numbers
Esther Schindler
Drupal's Dries Buytaert on Building the Next Drupal
Tom Henderson
Top Ten General Operating Systems Rants
pasmith
PS3 motion controller delayed; goes up against Project Natal
sjvn
Neolithic Windows security hole alive and well in Windows 7
claird
Perl source code comparison makes for good reading
mikelgan
Cell phones don't create stress or interrupt much
Sandra Henry-Stocker
How to: The Unix Interview
Where Google Chrome security fails: the password
I heard mention that the Chrome OS will have some sort of encryption available a la bitlocker. If it's possible to encrypt personal data using another password or key, then it may have potential for very secure data.... And Ubuntu has an 'encrypt home directory' option, perhaps google should follow suit.
- Dann
Join the conversation here
Quick, practical advice for IT pros. Made fresh daily.
- Ubuntu advances: Why Ubuntu server installations will surge in 2010
- Social media marketing: How to make friends with benefits
- More...
Want to cash in on your IT savvy? Send your tip to tips@itworld.com. If we post it, we'll send you a $25 Amazon e-gift card.






