Friday, June 15, 2007

Layered Approach, sometimes...

One of my current jobs is a typical fix-it-when-it-breaks thing. Various release of The System go "Suck-it-and-see" into testing and then into Live...

So there is me politely telling the developers which queries and constructs (redundant running totals, Locking!) are showing up as problematic in live or test-environments.

I generally add recommendations like: Please include the month as a selection-criteria (all and sundry is partioned on month, sometimes a date, somtimes a yuyymm integer, and a few forgotton exceptions). Or I suggest to add a field to an index to get index-only lookup. And yes, I often suggest IOTs (my Pet Topic!). Great for lookup tables or parent-child constructions with read-mostly data.

Developers/analists/architects then politely refuse to follow my recommendations. and using their obscure business-knowledge, they find plausible excuses such as:

"That will never happen in real-life" (it just did...), or

"That table will never grow bigger" (so why did it just explode ...), or

"that functionlity is never supposed to be used" (love that one: user has entered the wrong menu...), or

"pigs can never sometimes fly, you know..." (yep, if I throw you out of the window and into the river...)

Design for this project is done elsewhere, and we follow a "Layered" approach. That means no database-person gets anywhere near the morons in charge "architectural decision layer", nor does anyone using or operating the system in real-life get consulted.
Because that would not be J2EE compliant, would it ?

I am greatly in favour of "layered" approaches: Cold-weather clothing needs to be layerd to Isolate. All data should be stored in a File - that is a proper, abstract, layer between "data" and "bytes". Hence my desire for a proper Clustere file system to replace the muddling with Raw devices or ASM.

But Isolation is not always a good thing. Sometimes, you need to abandon a few layers to make things work.

Layers of management ?
Only if they stay well out of may way (and out of my margin)

Layers of objects ?
Only if you can afford to do all those JNDI lookups inside your 100ms SLA

Layers of Design-expertise ?
Only if the architects engange the Relevant Expertise. Early.

But then, as the guy opposite my desk repeatedly said: Respect for the zombies. All those incompetent layers of gremlins will always make a mess of things and keep us in a job.

Loose ends

I just got told to update my bloggie-thingy, as is is now a month old. But I have very little content at the moment. And have had to run after all sorts of family- and work-related stuff. More later..

No comments:


This is the footer...and this should be small text for disclaimers and the like. and some small stuff

Locations of visitors to this page And this text is placed next to the map. we could possibly hide some stuff here too for the benefit of the search-engines and if it is at color ffffff cam we put all sort of rubbish that we do not want readers to see. travel itinirary reservation ticket agent flight plane boarding attendant train connection rail ticket wait time booking flight boardingtime taxi ramp luggage suitcase trolley wheely laptop bagpack corpaorate wifi connection oracle. it will also be interesting to see what happens when this wrap around. or even if we put in spherus and worwood as additional word.