Another problem arises from the method of creating an application as a main module, typically the file with the .EXE extension, and a number of related dynamic link libraries (DLLs). The DLLs may be used by more than one application, which means that it is essential that the correct version of all DLLs is in place; changing a DLL for one application must not upset other applications. It follows that version control is a key feature of SAM.
There is no doubt that the thick-client architecture which dominated the PC revolution is not the right one. A thin client architecture would have been much simpler and easier to manage, simply because most software (and upgrades in particular) would be located at a server. There will of course still be multiple servers, but nothing like as many as individual PCs.
With the advent of Web browser clients there is a slow trend towards simplifying some applications, but the bulk rely on a mixture of server and client code. There is however a technique which removes the location of the thick client code from the desktop to a central server. It was pioneered by Citrix and adopted in a limited form by Microsoft as Windows Terminal Server (WTS). This derived from the earlier remote management products which allowed a remotely connected PC to copy the user's PC display and to take over their mouse and keyboard. Citrix however implemented the "take-over" machine as a virtual machine running on Windows NT, which enabled them to create multiple "virtual PCs" on the one machine. With this technology the desktop machine only ever runs the fixed Citrix client, the actual client application running on the Citrix server. Citrix is not a server in the sense of the client/server architecture, since it runs multiple copies of the application client. These clients can access any conventional servers as can any individual PC client. Citrix servers are not low cost, but they concentrate the management of multiple clients into one machine. For larger numbers of desktops, multiple Citrix servers can be transparently joined in a "farm". The cost of the Citrix server can be offset in two major ways, (i) the desktops never need to be upgraded, and (ii) SAM is much cheaper. To this should be added the ability of Citrix to work efficiently across a low speed wide area network for most applications.
There is another advantage of a Citrix solution in that the Citrix client can be implemented in a dedicated terminal, often as an option in a Web browser, a character or an X-Windows terminal. It would be very useful in special purpose kiosks, etc. A more cynical view of this is to use Citrix clients to run old Windows applications until they can be replaced by thinclient equivalents.
An approach such as Citrix does not remove the need for SAM, but it makes it easier. In theory it should be a lot cheaper because there need only be as many Citrix virtual machines as there are active clients, which would be far less than the total number of clients, but licence fees are all too often based on the number of registered users, active or not!< BR>
Martin Healey, pioneer development Intel-based computers en c/s-architecture. Director of a number of IT specialist companies and an Emeritus Professor of the University of Wales.