r whole world is being shaken up. And that's probably a good thing.
After all, it's been relatively calm for a few years. It used to be you bought a Novell LAN, Windows or the Mac OS, somebody's Unix relational database management system (RDBMS), maybe PowerBuilder if y
ou wanted to be really cool, and voil´a mainstream client/server computing architecture.
Then this weird technology called the Web kicked in. Build information systems around plain-ASCII text? Program in scripting languages? Sounded pretty primitive compared to database managers, SQL, and C++. But somewhere along the line, the sharpest information-technology (IT) people got a gleam in their eye. This Web technology seemed to address a whole host of problems that client/server computing just hadn't delivered on: portability, flexibility, and location independence.
Remember how client/server computing was supposed to let you shift work between client and server as needed? No MIPS would go unused. However, nearly a decade after client/server first debuted, few tools exist that allow anything like a dynamic repartitioning of an application; none that I know of does it in real time or automatically. And even the best application splitters work only within their own confines. Try taking a complex
application system developed in C++, PowerBuilder, and Visual Basic and start shifting functions around. Can't get there from here, as they say in Maine.
The wacky part is, this new Webbed world can get you at least partway there. Start with a plain-vanilla browser. It'll run on the thinnest client platforms, even the much-heralded Web PC. Need a fatter one? Add plug-ins, Java, or ActiveX applets. Want a totally obese client? Put Windows 95 underneath.
The wonderful part is, you can figure out all this for yourself. The whole fat-server/fat-client debate has gone from a strategic one to a tactical one. There's no one right way to divide the work between server and client, despite the marketectural pretensions of our software pit-bull traders.
Will embracing this flexibility and diversity bring you closer to that holy grail of application systems that automatically reconfigures itself for maximum performance and balanced capacity utilization? No; the best you can do is achieve a static load b
alance with this new toolkit of architectures.
For now, that's as good as it's going to get. If we can just avoid getting sucked into a whirlpool of false pronouncements that a particular programming paradigm is the right one, we now have the tools to get halfway toward that holy grail.
When do we get to the finish line? Ironically, we'll have to wait until cli-ent/server computing withers away. Its emerging successor, distributed object computing, replaces monolithic blocks of code with many smaller objects that cooperate to form a working application. The objects can move around and be moved around by an intelligent networked OS.
If it works (and that's a big
if
), it will be a big step forward. Meanwhile, the newfound flexibility of browser clients, server farms, and components that are their own middleware should keep us busy learning and marveling for the next few years.
Help us tailor BYTE to your needs.
If you'r
e a subscriber, please fill out and return the questionnaire in this issue. (You'll find it on the Reader Service inquiry reply cards.) Thanks.
Mark Schlack, Editor in Chief,
href=mailto:mschlack@bix.com
>
mschlack@bix.com