Back in 1995, I was working as a junior programmer/consultant for a company called (I kid you not) The Future Now consulting. Having no background in computer programming, I got the job by accident of having previously temped at IBM as a copy writer (befitting my college education in Journalism). Before I left Big Blue, I grabbed some extra Lotus Notes manuals - which were pretty hard to find at the time - and rote-memorized them enough to to find a job as a junior developer. (My 20-something year old brain was a wonderful thing, looking back at it.)
Anyways, after a year or so of doing Notes dev, the World Wide Web was finally making inroads into corporate intranets, and thus my company started paying attention to it and I was tasked with getting up to speed on this new-fangled technology. By this time I was pretty proficient in Notes, Visual Basic, SQL databases, been certified in Windows NT 3.51 Workstation and was starting to mess around with Java 1.0. The problem though, is that I had zero understanding of Unix, Perl, CGI or any of the technologies in which the Web was born. So it wasn't until Microsoft launched the first Internet Information Server that I was able to cut my teeth on doing any sort of server-side web development.
Remember, IIS came with ISAPI, which could be used for those skilled in C or C++ to create dynamic web pages. eBay, for example, ran on a single ISAPI dll which contained all the logic for their site for many, many years. I tried to learn Visual C++ like I had learned all the other dev languages (from a book) and failed miserably. But in messing with ISAPI, I discovered Internet Database Connector files - a pre-cursor to Active Server Pages which came out a few years later. IDC files let you query any ODBC database (Access included), and do basic loops and branching, which is pretty much all you need to create a web site.
I remember being propelled into being THE web expert of the company based on my use of this little-known capability of Microsoft's web server. I could create dynamic web sites insanely quickly that would run on a laptop using a local Access database. In 1996, this was akin to magic. Well, in Atlanta at least.
It's hard to remember what it was like then - most people in IT were just starting to get a handle on the web. Which leads me to an amusing story... My company at the time had a contract with Beazer Homes doing some back end work, and one of our sales guys brought me in to to help pitch them on their first dynamic web site. Most of the web work at the time was being done by graphic design shops, so this was a new thing for an enterprise consulting company like ours. After our initial meeting, I took a copy of the Access database that the client used to keep track of all their home 'designs' (they're a builder) and put together a basic site which let you drill into the different areas of the country and sort through their listings and then displayed the details of the homes complete with pics and layout. It took me less than a day.
"Demo" site in hand, we go back to their office the next day hoping to win the contract for a few weeks (or more) of work to be done. The client took one look at the site and said, "That's it! That's what we want! We want that. Nothing else is needed. It's perfect." Uh-oh. This stumped the sales guys - who were used to selling contracts of 6 month projects, billed by the hour. We mumbled something about it not being 'production ready' (which it wasn't) and got out of there. We eventually figured out ways to bill more hours, and launched the site pretty much as it was, Access DB and all. I remember a couple years later another developer converted it to ASP and SQL Server, but the site they have now is pretty much the same one I made back then.
And that's the point of this post... Since the very first server-side dynamic web pages were first developed ~20 years ago, the basics haven't changed. You have some sort of script grab some info from a database, format it on the server, and then deliver it to the browser as HTML. We've augmented this a bit over the past few years with DHTML and AJAX, making some parts of the page more dynamic than others, but the core process has remained remarkably the same.
But that's finally coming to an end. You probably already know why, but I'll go into the details in Part 2.