Barney's Rubble
A Scheme Too Grand
Despite all the talk surrounding SOA, will the technology crash and burn like many others before?
I've always been skeptical of grand schemes. They didn't work for Karl Marx
or the Third Reich, and almost never work when it comes to software.
That doesn't stop grandiose thinkers from trying.
In the early '90s IBM was in danger of losing total control of the software
market to Microsoft. Its answer was a scheme that made every rational computer
scientist's head spin clean off. Workplace OS was supposed to make nearly every
IBM operating system run on nearly every IBM hardware platform, and thus any
application could run on any box.
Want to run minicomputer software on a PC? No prob. How about OS/2 on big iron?
Workplace OS had that covered too.
I was just a lowly journalist writing for InfoWorld at the time (when
it still took trees and ink to produce the darn thing) but this Workplace OS
struck me as a wee bit ambitious. Heck, I was having a tough enough time just
getting Windows software to run on Windows!
I started hearing that the earliest and simplest pieces of Workplace OS weren't
going so well -- which made me question the whole premise. In an article that
had IBM representatives talking lawsuit, I argued that the whole scheme was
too complex, and given the state of the art of computer science at the time,
couldn't work. Turns out I was right.
I've seen other schemes fail to live up to the promises. Java's pretty cool,
but is it really write once run everywhere? What about Sun's Jini, a plan to
let any new hardware automatically be recognized and used across the network
-- kind of an uber hardware driver? Jini still exists, but so do my problems
connecting to local printers (never mind devices three thousand miles away)!
Microsoft has one such doozy in the form of Cairo, an operating system that
was supposed to be the ultimate in distributed computing and smart file access.
Cairo's feature list was way too big for Microsoft's development britches, and
the OS never shipped (except as pieces embedded in other tools).
Which leads me to SOA, or Service Oriented Architecture. SOA software is supposed
to run on any system (echoes of Workplace OS) and communicate easily with other
apps (a software equivalent of Jini?). And all these bits of newfangled SOA
code can be reused (didn't we use to call that object-oriented programming?).
And best of all, your legacy apps (read: spaghetti code) can be SOA-enabled
so they can run anywhere and talk to anything, and this old convoluted code
-- that should've been junked decades ago -- can be used again and again in
other apps.
I'm sure a SOA guru somewhere -- there's money to be made in making sense of
the intrinsically complex, just ask my Volvo mechanic -- will correct my definition
and explain why SOA's the greatest thing in software since 10 print "hello
world."
To me SOA may be great, but knowing that IBM is one of its biggest proponents,
it might be another hugely expensive, massively complex technology that even
Wikipedia wonks won't remember.
What's your take? Tell us all at [email protected].
About the Author
Doug Barney is editor in chief of Redmond magazine and the VP, editorial director of Redmond Media Group.