Я бы сразу сказал, что anyscreen надо рассматривать не как полную альтернативу терминальному серверу, а как дополнение для решения определенных задач. Терминальный сервер это MS и миллионы подключений ежедневно, anyscreen на этом фоне кружек "умелые ручки".
Главная фишка, почему многим нравится anyscreen, это возможность вывода в онлайн с сохранением обратной совместимости приложений. От каких-то вещей придется отказаться (они известны), но бизнес логика полностью совместима (возможно, только некоторые долгие расчеты придется немного адаптировать), печатные формы полностью совместимы, оконные диалоги могут потребовать косметической адаптации (зависит от приложения). Если сравнивать с NetTalk Web Server, там вообще трудно понять, на какой козе подъехать - надо полностью заново разрабатывать диалоги, серьезно адаптировать бизнес логику и далее по длинному списку.
Сравнивая с терминальным сервером, можно выделить 3 момента.
1. Безопасность подключения. Я бы это на первое место поставил. В случае с терминальным сервером надо принимать специальные меры при работе через интернет - поднимать vpn, ограничения по ip адресам, прокси сервер и т.п. Все это требует определенной настройки и присмотра, а занимаются обычно другие люди. В случае с anyscreen нужно занть только ip адрес сервера. Если сервер за роутером, то пробросить порт. Дальше подключение происходит к приложению и все контролируется на его уровне. Ломануть такую конструкцию затруднительно.
2. Меньший тарфик. В терминалах передается битмап с определенной дискретностью. В anyscreen текстовые xml пакеты, которые содержат проперти окон и контролов. Конкретно разницу не слышал, чтобы кто-то замерял, но, думаю, и так должно быть понятно, графика против текста.
3. Меньше нагрузка на сервер. На сервере не создается терминальный сеанс на каждое подключение, а запускается в скрытом режиме экземпляр приложения. Если убирать функционал в dll и делать маленький exe, то dll загружаются один раз и расшариваются между экземплярами приложения. Это справедливо для терминальных серверов, скорее всего, сейчас и обычная винда работает аналогично (раньше требовался явный rebase для оптимизации загрузки приложений, был специальный шаблон, но потом сказали, что уже больше не нужен, и вопрос не всплывал, это где-то после появления windows7). Конечно, каждый экземпляр приложения в случае anyscreen тоже будет откусывать свою долю оперативной памяти. Если есть требование запустить как можно больше пользователей на сервер, то можно ограничивать количество открываемых потоков или даже сделать SDI приложение - это заметно снизит потребление оперативной памяти на сервере.
Кто-то писал, что при anyscreen потребляется в 3-4 раза меньше ресурсов на сервере. Если вспомнить tsplus, то там одно подключение сразу резервирует за собой 300 мб оперативки, и есть рекомендация не более 50 пользователей на сервер. При anyscreen рекомендация не более 150 пользователей на сервер. Писали несколько лет назад, зависит от сервера, но, в целом, разница понятна и объяснима.
Первые версии anyscreen висли, сбоили. Но в течении следующих 3 лет было много сделано и сейчас приложения под anyscreen работают достаточно стабильно. Во всяком случае, явных стопперов для использования не замечено. Наверно, узкое место это закрытие окна браузера без выхода из приложения и повторное подключение. Anyscreen предлагает в этом случае переподключиться или сбросить сеанс, но у меня как-то не получилось это комфортно делать, только через определенные танцы с бубном.
C6/C11, ШВС, tps/btrieve.