Когда речь идет о публикации приложений на основе служб терминалов, обычно подразумевается, что приложение, запущенное в терминальной сессии, выглядит так же, как если бы оно выполнялось локально на клиентском компьютере. При этом в роли оболочки терминальной сессии выступает не стандартный рабочий стол, а само опубликованное приложение. Аутентификация при подключении к терминальному серверу отсутствует, поскольку выполняется автоматически с данными предопределенной учетной записи. Когда пользователь закрывает приложение, завершается и соответствующая терминальная сессия.
Имеется ряд обстоятельств, при которых публикация приложений предпочтительна. Так, неподготовленным пользователям работать с опубликованным приложением проще, чем с удаленным рабочим столом. Отсутствие в пользовательских терминальных сессиях рабочего стола с его многочисленными элементами управления повышает безопасность решений на базе служб терминалов. Более экономно расходуются серверные ресурсы, главным образом оперативная память.
Всегда считалось, что службы терминалов, работающие по протоколу RDP, уступают по своим возможностям продукту Citrix Metaframe, в основе которого лежит протокол ICA. Например, Metaframe изначально поддерживал режим эмуляции локальных окон (seamless windows), а службы терминалов Windows - нет. В случае RDP-соединения, до недавних пор, приложение всегда запускалось в окне терминальной сессии. Размер окна приложения можно было изменить, можно было также развернуть окно приложения на все окно терминальной сессии, но размер окна терминальной сессии при этом всегда оставался постоянным. Если в процессе работы были открыты новые окна приложений, то они также находились в пределах окна терминальной сессии, как показано на рис. 1.
Службы терминалов, основанные на протоколе RDP, изначально не позволяли получить опубликованное приложение как оно есть, без фона в виде окна терминальной сессии. Но в действительности эмуляция локальных окон является в большей степени функцией клиента, а не сервера и протокола. Из общего потока данных RDP клиент служб терминалов выделяет лишь содержимое открытых окон в терминальной сессии, все остальные данные игнорируются (см. рис. 2).
Клиент формирует на локальном рабочем столе окно или окна, размеры и расположение которых в точности совпадают с открытыми окнами в терминальной сессии. Это геометрическое соответствие непрерывно поддерживается в процессе перемещения окон, изменения их размеров и т. п. Информация, находящаяся в области открытых окон в терминальной сессии, один к одному отображается в подготовленные окна на рабочем столе клиентского компьютера. В результате у пользователя создается ощущение локальной работы с опубликованным приложением.