A thick client executes all the logic in the PC with a common file server, while a thin client executes the presentation logic with the business logic and database on the server.
The former should be used for single-user applications only, while business applications should only be designed with the thin-client architecture. Of course this assumed that professional developers were in charge but sadly the enthusiastic amateurs prevailed, aided by some stupid defensive moves from IBM (coax cable connection to a mainframe), and encouraged by the "sell at any cost" mentality of the PC industry. It wasn't too long before the database vendors spotted an opportunity when Unix and NT started to replace Netware and implemented the database on the server, but most of the business logic was still in the "thickish" client. They eventually achieved something more like the basic thin client architecture by executing common routines as stored procedures in the database. The result however is an excess of difficult to maintain applications.
The current trend is to use a browser as the client. The correct architecture supports a variety of clients which connect to an "appliance server" which maps the interfaces to a common standard. This then calls an application server,etc. In this way a PC, a Web browser, a mobile phone, a PDA, etc. can all become clients to the same applications. Because of e-commerce, biased towards customer-to-business (C2B) systems, new applications must have a browser-based client. It follows therefore that instead of supporting a PC and a browser client, the internal applications should also use browser-based clients.
Browser-based clients should be thin clients in theory but in practice most browsers are in fact a PC using Internet Explorer. A true browser client should use Java procedures, down loaded from the server, but IE makes use of specific PC functions instead, so that most applications may have the look-and-feel of a browser, but are still PC clients, which get thicker all over again! The IT industry really does seem to like making problems for itself.
The continuing proliferation of the PC on the desktop, with the never ending need to upgrade them, creates a maintenance nightmare. There are tools which try to manage the configuration of all the PCs but there is an alternative. Originating from OS/2 developments, Citrix have established a product which simply maps the screen, keyboard and mouse of a PC to a remote terminal. The Citrix server is a virtual machine capable of running multiple invocations of Windows and its applications. Thus the one Citrix server can support a number of concurrent users. Note carefully that this is not multi-user, it is multiple single-users in one box. The Citrix client is often called a thin client but this violates the primary definition of a thin client as one capable of executing the GUI part of an application; it is a Windows display client.
All changes to operating systems andapplications are now performed on the centralised server (a farm of them for more users), simplifying management but more important the Citrix client stays exactly the same so that the individual desktop machines do not need to be upgraded. Microsoft's own Windows Terminal Server (more misleading terminology) is a cut down version of Citrix. The Citrix server is not a server in the normal sense since it is executing a set of Windows client applications. Citrix greatly simplifies management and reduces the cost of upgrades but this must be offset against the cost of the Server. It has a very efficient communication protocol and will work well over telephone lines.< 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.