Musings from the basement of a very tall building
Posted By Robin Freeman | last update 27-Jun 2010
In the begining, for the hobbyist, there was the development language BASIC. It managed memory invisibly, it had line numbers with GOTO, it ran from begining to end as what we would now call a Console Application on a single machine and knew nothing about networks.
Then came Windows. Nightmare. Each window is a process given processor clock cycles by the operatng system. The window has to know where it is on the screen and whether it is active. Lines of code alone, especially if it is to move, resize, close, etc. Should the window actually contain something, that something has to have coordinates relative to the window so it knows whether the mouse is over them, or whether they have focus (-eg- a cursor in a text box). That is all before anything is done with any data collected.
Fortunately this is all greatly simplfied in the early 1990's by Microsoft's Visual Basic which deals with all the code necessary to keep the windows and its contents alive behind the scenes. A Basic like code is exposed, though there are no line numbers because you are coding for pre defined methods associated with the window and its contents. The code doesn't run in any sequence, the next part that runs depends upon what the user does. Guessing what the user would do next was always interesting.
These are what we would now call Windows Forms applications. By the late 90's you could use these as a user interface on mutliple machines simultaneously, connected via a network to a server database. But by then they had to be formally installed on each machine they were to be used upon. This folks is their undoing.
While you might have the authority to install software on machines in your own department you are unlikely to have either the authority, or the time to install it on every machine in the trust a roaming anaesthetist might want to use it on. Now I know you can use automated installs but that opens new cans of worms.
What you need is an install in one place, available on all networked machines, solution. Fortunately anaesthetic departments weren't alone in needing this sort of solution, and by the late 90's methods for creating what are to be known as Web applications begin to emerge. These are installed once on a web server, and their pages (constructed after running some code) are potenially available to any browser application on any client machine that can reach the web server. OK its a fiddle, the user application is actually the web browser software, but that is part of the trust's standard install.
In my next blog I will try to recall the various paradigms used in Microsoft world to create web applications, to put into context the strategic choice we need to make now, if this route is to be followed.