From Our Readers: Virtues and Values in Digital Library Architecture
Cyzyk, Mark, Information Technology and Libraries
At the Fall 2007 Coalition for Networked Information (CNI) conference in Washington, D.C., I presented "A Survey and Evaluation of Open-Source Electronic Publishing Systems." Toward the end of my presentation was a slide enumerating some of the things I had personally learned as a Web application architect during my review of the systems under consideration:
* Platform independence should not be neglected.
* One inherits the flaws of external libraries and frameworks. Choose with care.
* Installation procedures must be simple and flawless.
* Don't wake the SysAdmin with "Slap a GUI on that XML?"--and push application administration out, as much as possible, to select users.
* Documentation must be concise, complete, and comprehensive. "I can't guess what you're thinking."
Initially, these were just notes I thought might be useful to others, figuring it's typically helpful to share experiences, especially at international conferences. But as I now look at those maxims, it occurs to me that when abstracted further they point in the direction of more general concepts and traits--concepts and traits that accurately describe us and the products of our labor if we are successful, and prescribe to us the concepts and traits we need to understand and adopt if we are not. In short, peering into each maxim, I can begin to make out some of the virtues and values that underlie, or should underlie, the design and architecture of our digital library systems.
* Freedom and equality
Platform independence should not be neglected.
"Even though this application is written in platform-independent PHP, the documentation says it must be run on either Red Hat or SuSE, or maybe it will run on Solaris too, but we don't have any of these here."
While I no doubt will be heartily flamed for suggesting that Microsoft has done more to democratize computing than any other single company, I nevertheless feel the need to point out that, for many of us, Windows server operating systems and our responsibility for administering them Way Back When provided the impetus for adding our swipe-card barcodes to the ACL of the Data Center--surely a badge of membership in the Club of Enterprise IT if ever there was one. You may not like the way Windows does things. You may not like the way Microsoft plays with the other boys. But to act like they don't exist is nothing more than foolish burying one's head in the *NIX sand.
Windows servers have proven themselves time and again as being affordable, easily managed, dependable, and, yes, secure workhorses. Windows is the Ford pickup truck of the server world, and while that pickup will some day inevitably suffer a blowout of its twenty-year-old head gasket (and will therefore be respectfully relegated to that place where all dearly departed trucks go), it's been a long and good run. We should recognize and appreciate this. Windows clearly has a place in the data center, sitting quietly humming alongside its Unix and Linux brothers.
I imagine that it actually takes some effort to produce platform-dependent applications using platform-independent languages and frameworks. Such effort should be put toward other things.
Keep it pure. And by that I mean, keep it platform independent. Freedom to choose and presumed equality among the server-side OSes should reign.
* Responsibility and good sense
One inherits the flaws of external libraries and frameworks. Choose with care.
So you've installed the OS, you've installed and configured the specified Web server, you've installed and configured the application platform, you've downloaded and compiled the source, yet there remains a long list of external libraries to install and configure. One by one you install them. Suddenly, when you get to Library Number 16 you hit a snag. It won't install. It requires a previous version of Library Number 7, and multiple versions of Library Number 7 can't be installed at the same time on the same box. …