19.09.2015 Views

Confessions of an IT Manager_Phil Factor

  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

94 The March <strong>of</strong> Technology<br />

got the complexity treatment. It is so easy to be obliging <strong>an</strong>d add stuff in. The<br />

great skill is in keeping the product simple at the same time. One c<strong>an</strong> imagine it<br />

happening. Some persuasive guy contacts Micros<strong>of</strong>t, suggesting a feature <strong>an</strong>d,<br />

without checking if it is already there, a team gallops around in all directions<br />

developing a splendid do-it-yourself technology with a new TLA, that ends up<br />

being little more th<strong>an</strong> <strong>an</strong> invitation to program the feature yourself: when all<br />

that was really required was a button."<br />

"And there, fr<strong>an</strong>tically rushing around, trying to keep up are the DBAs <strong>an</strong>d<br />

Database Developers. You give them the choice between a database like SQL<br />

Server 2000 that is complicated, but works <strong>an</strong>d does the job they w<strong>an</strong>t, <strong>an</strong>d one<br />

that is wildly complicated, but works <strong>an</strong>d does the job they w<strong>an</strong>t, <strong>an</strong>d then are<br />

surprised when they w<strong>an</strong>t to stick with the one that is merely complicated."<br />

Bill looked at me impatiently. It was obvious that he'd heard this line <strong>of</strong> talk<br />

m<strong>an</strong>y times before. "OK," he said wearily, "So where next? What c<strong>an</strong> one do<br />

about it?"<br />

In a blinding flash, it all became clear to me; the vision <strong>of</strong> a product that hid<br />

its complexity behind a simple logical interface to the data. Here was a product<br />

where Micros<strong>of</strong>t no longer needed to tell us to do our own programming to get<br />

the features we needed. Here was a SQL engine that could be described in a<br />

short book, probably written by Joe Celko, or Bill St<strong>an</strong>ek.<br />

I was about to tell Bill how to go about it when I felt myself being shaken,<br />

<strong>an</strong>d the veil <strong>of</strong> sleep lifting. "Stop! Stop!" I shouted, "I must tell Bill what to<br />

do!"<br />

The next moment I was awake in my chair, eyes glazed, textbook still open<br />

in my lap. My wife was st<strong>an</strong>ding over me, looking at me severely, <strong>an</strong>d asking<br />

who this 'Bill' was, who ought to be told what to do. In p<strong>an</strong>ic I tried to recall<br />

what it was I was going to tell him. Surprisingly, I m<strong>an</strong>aged to recall at least a<br />

part <strong>of</strong> the advice that I had to <strong>of</strong>fer.<br />

All data objects, whether Word files, Excel files, XML, relational databases,<br />

text files, HTML files, registry files, LDAPs, Outlook <strong>an</strong>d so on, are really<br />

relational databases, sp<strong>an</strong>ning the spectrum <strong>of</strong> metadata complexity. All we<br />

need to do is to build on all the ideas <strong>of</strong> ODBC <strong>an</strong>d JDBC to provide the same<br />

logical interface to all <strong>of</strong> them. If we c<strong>an</strong> do that, then SQL Server c<strong>an</strong> treat<br />

them all the same logical way, as linked databases, <strong>an</strong>d extract the metadata,<br />

create the entities <strong>an</strong>d relationships in the same way, <strong>an</strong>d use the same SQL<br />

syntax to interrogate, create, read, write <strong>an</strong>d update them.<br />

The complexity would be in the implementation, hidden from the poor DBA<br />

<strong>an</strong>d developer. He would just know that he could create a Word, Access, XML<br />

or Excel file in the same easy way he could create a SQL Server database, <strong>an</strong>d

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!