The Trouble with Terminal Services

Terminal services is a technology that allows traditional fat-client software to be implemented as server-based thin client software, so that ASP and web-based implementations are possible. It does so by allowing multiple sessions of an application to run on a server or server farm while sending screen updates to and accepting input from a remote client. The most popular implementation of terminal services is a product called Metaframe, from Citrix. Metaframe is a mature, reliable product that works just as advertised. The problem is that many of the advantages of the ASP model are diminished when using it. The biggest problem is cost: Metaframe licenses are very expensive, running into the hundreds of dollars per concurrent user. This neutralizes the inherent economic advantages of the ASP model, and makes large distributions prohibitively expensive. Another problem is that an instance of the application must still run on the server for each concurrent session (albeit with savings through resource pooling), and many healthcare client applications are massive affairs. This means that while the Metaframe solution is theoretically scalable (with server farms and load balancing), it's very expensively scalable. A high-end server can easily be required for every 20-30 concurrent users.

Thus, when based on terminal services, the ASP model is far less economically compelling. For many applications, it may actually cost more in the long run than a traditional client/server model. There are still advantages, of course, like far easier maintenance and software upgrades, but it pales in comparison to a true, native web-based ASP implementation.