| By Joe Winchester | Article Rating: |
|
| February 8, 2005 12:00 AM EST | Reads: |
17,149 |
Paul Simon sings, "Every generation throws a hero up the pop charts." Each person who attempts to conquer the highly fickle music or fashion market frequently does so by merely rehashing old ideas. Trends are repeated and what was once passe becomes fashionable again, as the definitions of old and new are blurred by memory and packaging.
Software is no different. Each new wave is set in motion by realizing the failings of the current technology and then trying to solve those failings. Rather than progressing in a forward direction, however, what often occurs is the very forces that drove the latest technology are also found to be lacking, and so there is a return to the old ideas. In some ways this is no different from politics where, if an incumbent is thrown out on the weakness of his/her current form, the opposition merely returns and attempts the ideas that failed originally. Likewise with technology (although with each reelection time has moved on), hardware is quicker, networks are faster, and problems that let the previous incarnation of the solution down no longer have the same relevance.
The largest, most obvious example of this pendulum swing is the Internet. In the 1970s, mainframes ruled the world; computing was done on a large box with users working on attached terminals; scalability was achieved through the shared loading of programs, pages were cached for each job's session, scheduling was done by queuing time-sliced work, and prestarted resource pools helped with performance. Two evolutionary predators threatened the beast: (1) Moore's Law allowed faster computing power to be provided at lower costs, and (2) the demand for the graphical user interface. PCs ruled the GUI. However, on their own they couldn't provide high-end computing for multiuser environments, thus the client/server model was born - a topology in which the front-end PC had the computing resources to power the GUI while the back end was the workhorse for the application.
A problem arose as to how big a horse the back end would be, with many companies having different vested interests in each endpoint of the equation. Wherever the logic was, so would go the processing dollars. To bolster the front-heavy version the terminal was called "dumb" and, with the subtle inference that it would one day be replaced entirely, the server was nicknamed "legacy." Initial implementations attempted to front-load all of the logic with the back end merely answering SQL requests. The voices of those who had the experience and knowledge to know this solution would never scale were somehow never heard as the emperor paraded his ideas.
The lure of the GUI wasn't enough to sustain unsafely practiced client/server though. All that glitters isn't necessarily gold, and scalability and distribution became the new issues. To move forward from here the software pendulum swung back toward the server. HTML and HTTP were in the right place at the right time and replaced the dumb terminals' display formats. Green was replaced by color, and white became the new black.
The topology of the Internet is remarkably similar to that of the mainframe; however, the previous technology swing had been spent attempting to market them to the Stone Age, so new buzzwords were required. Client/server was named "fat" and what was once called "dumb" was labeled "thin," and the fashion metaphors became more than obvious.
When the client/server problems of distribution were solved, however, the issue of how to scale large applications across the Internet still remained. For this, the transaction servers of yore were resurrected and, among the technologies to rise from the ashes, J2EE was born. Servlets are to HTML what mainframe programs are to their display buffers; a session bean with its state is analogous to page-shared memory in a polled buffer. The mainframe computing architecture was fashionable once more. In a world where networking was prevalent and, ironically, client machines cheaper and more readily available, it succeeded beyond all expectations.
The Internet isn't a success because it is a great technology; it was in the right place at the right time. Some of the best ideas in history are a re-presentation of old ones, but with the benefit of a different set of environmental variables in which to test them and avoid the problems they initially suffered the first time around. There is no shame in this, and it's interesting to note that the big players in the Web market are those with a proven track record in large-scale server computing.
The lesson to be learned in all of this is that what worked for your parents and boss, both in music and in the cut of their pants, might work for you, too. Technology likewise and, with the benefit of hindsight and previously unavailable, cheaper, and faster resources, problems that plagued past implementations in their previous run up the hit parade can now be dealt with. There is no shame in standing on the shoulders of those who have gone before you and learning from the past. Instead of chasing the latest and greatest specs or industry buzzwords, shouldn't we all look back at what technology lies on the shelf and see if in today's environment it can be reborn and flourish as the new super-fit survivor?
Published February 8, 2005 Reads 17,149
Copyright © 2005 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Joe Winchester
Joe Winchester, Editor-in-Chief of Java Developer's Journal, was formerly JDJ's longtime Desktop Technologies Editor and is a software developer working on development tools for IBM in Hursley, UK.
- Oracle To Keynote Cloud Computing Expo
- Is the PR Business Extinct? Yes
- The Difference Between Web Hosting and Cloud Computing
- Government IT & Cloud Computing: Themes for Discussion
- GovIT Expo Highlights Cloud Computing
- The End of IT 1.0 As We Know It Has Begun
- Cloud Computing Best Practices
- Gang of Four Creates Cloud BI Stack
- The Case for Single-Purpose Services
- VIP Invitation For the GovIT Panel October 6, Washington DC
- Oracle To Keynote Cloud Computing Expo
- How to Diagnose Java Resource Starvation
- Is the PR Business Extinct? Yes
- Anatomy of a Java Finalizer
- IBM & Cloud Computing: Exclusive Q&A
- IBM & Cloud Computing: How "SOA in the Cloud" Can Produce Real Change
- SOA & Cloud Bootcamp: Comparing Cloud Computing Providers
- WebSphere Guru to Keynote at SOA World
- IBM Researcher Solves In-Cloud Data Encryption Puzzle
- The Difference Between Web Hosting and Cloud Computing
- Java vs C++ "Shootout" Revisited
- Where Are RIA Technologies Headed in 2008?
- WebSphere Application Server Java Dumps
- Breaking News: New Internal IBM Report Says "Another Flawed Study"
- Last Exclusive JDJ Interview With "IBM's" John A. Swainson, Now CA's Newly Appointed CEO
- How To Deploy Scalable WebSphere Applications Using "Maven" Build Tool
- Your Guide to Portal Clustering in WebSphere Portal Server 5.1
- Developing Java and Web Services Applications on Rational Application Developer V6
- Automated Deployment of Enterprise Application Updates
- Putting IBM's WAS On Unix - WebSphere Application Server






























