Переход пользователей с тонкого клиента на веб-клиент — это серьезный шаг в архитектуре доступа к информационной базе 1С. Зачастую это решение продиктовано желанием упростить администрирование рабочих мест и обеспечить мобильность сотрудников. Однако, как и любое технологическое изменение, этот процесс скрывает в себе множество подводных камней. В данной статье мы проанализируем ситуацию, разберем технические нюансы и выясним причины возможных проблем при такой миграции.
Давайте в первую очередь разберем, как меняется схема взаимодействия. В случае с тонким клиентом часть вычислительной нагрузки по отрисовке интерфейса и обработке локальных данных берет на себя исполняемый файл платформы, установленный на компьютере. Веб-клиент же полностью ограничен возможностями браузера и его движка (V8 в Chrome, Gecko в Firefox и т.д.).
Рассмотрим факторы, влияющие на скорость:
Memory Limit.Проанализируем крайне важный аспект, о котором часто забывают при планировании перехода — это программные и аппаратные лицензии. Тонкий клиент обладает «интеллектом» в плане поиска ключей: он может напрямую обращаться к локальному USB-ключу HASP или использовать программную лицензию, привязанную к конкретному компьютеру. Это позволяет использовать одну лицензию на несколько запущенных баз (лицензирование «на компьютер»).
Ситуация с веб-клиентом иная:
Веб-браузер ничего не знает о ключах HASP или локальных лицензиях 1С. В этом случае выдачей лицензий занимается исключительно сервер приложений (или веб-сервер). Это означает переход на модель «на сеанс». Если пользователь откроет две разные базы в двух вкладках браузера, сервер спишет две лицензии. Рассмотрим этот момент подробнее: если ваша инфраструктура завязана на локальные ключи пользователей, переход на веб-клиент потребует закупки дополнительных клиентских лицензий на сервер.
Существует заблуждение, что веб-клиент менее безопасен. На самом деле, безопасность определяется не типом клиента, а способом публикации базы. Если выставить веб-сервер «голым» в интернет, риски одинаковы как для тонкого, так и для веб-клиента.
Рекомендуемые меры защиты при работе через веб:
Разберем, почему работа в браузере может вызвать дискомфорт у опытных пользователей. Веб-клиент работает в среде безопасности браузера, которая изолирует приложение от ресурсов локального компьютера. Это накладывает ряд ограничений.
Основные технические сложности:
Ctrl+N, Ctrl+S, Ctrl+F) перехватываются браузером. Пользователям придется переучиваться или мириться с тем, что привычные команды не срабатывают.Вопрос() или Предупреждение() в старом стиле, система выдаст ошибку. Весь код должен быть переведен на асинхронную модель работы.Посмотрим на пример того, как должен выглядеть современный асинхронный вызов в коде, чтобы он корректно отрабатывал в веб-клиенте:
&НаКлиенте
Процедура ВыполнитьДействие(Команда)
Оповещение = Новый ОписаниеОповещения("ЗавершитьДействие", ЭтотОбъект);
ПоказатьВопрос(Оповещение, "Продолжить выполнение операции?", РежимДиалогаВопрос.ДаНет);
КонецПроцедуры
&НаКлиенте
Процедура ЗавершитьДействие(Результат, ДополнительныеПараметры) Экспорт
Если Результат = КодВозвратаДиалога.Да Тогда
// Логика продолжения
КонецЕсли;
КонецПроцедуры
Если ваша конфигурация содержит много синхронных вызовов (не в режиме «без модальности»), работа в веб-клиенте будет практически невозможна без серьезной переработки кода.
Выясним причину, по которой программисты часто недолюбливают веб-интерфейс. Существуют «плавающие» ошибки, зависящие от версии браузера:
Проанализируем ситуации, когда такой переход оправдан:
Рассмотрев все за и против, можно сделать вывод: в локальной сети предприятия использование тонкого клиента через HTTP остается предпочтительным. Он обеспечивает максимальную стабильность, корректную работу с лицензиями и оборудованием. Веб-клиент — это прекрасный инструмент для мобильности и внешних подключений, но попытка полностью пересадить на него всех офисных сотрудников может привести к снижению производительности труда и росту количества заявок в ИТ-отдел из-за специфических «браузерных» глюков.