It dawned on me during a discussion on platform-as-a-service (PaaS), the latest software industry buzzword, that I had heard it all before. The idea that developers can build applications using a "platform" that deploys the application and its services in an on-demand model was mighty familiar.
It was about 3,000 years ago in techno-time that I first heard of the concepts behind PaaS, as well as business process modeling, enterprise service architectures, and other technologies now vying for your attention and budget. In essence, the principle is this: Separate the business use of software from development and deployment so that the user's requirements can be met without developers having to worry about how the final application runs in the real world of hardware and software.
This was the impetus behind the shift from mainframe to client/server architectures, and it has been a fundamental goal of technology companies ever since.
In the mainframe world, business logic, systems services, and hardware were all inextricably linked, to the financial benefit of IBM — the mother of all that was monolithic — and to users' detriment. Client/server was designed to break that mold by letting business functionality reign supreme while hiding the messiness of technology, and almost every important technology breakthrough since — including PaaS and its kissing cousins, cloud computing and on-demand — has followed that lead.