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.
|