Коллеги, сегодня мы подробно разберем один из наиболее часто задаваемых вопросов, касающихся лицензирования системы "1С:Предприятие 8" при специфической архитектуре – когда у нас есть файловая база, опубликованная на веб-сервере, а пользователи подключаются к ней либо через веб-клиент (браузер), либо через тонкий клиент. Мы выясним, существует ли разница между программными и аппаратными лицензиями в таком сценарии, и как происходит подсчет используемых лицензий.
Для начала давайте определим контекст. Нас интересует ситуация, когда информационная база 1С является файловой (т.е. хранится в одном или нескольких файлах на диске, обычно .1CD), и доступ к ней осуществляется через веб-сервер (например, IIS или Apache), на котором опубликован модуль расширения "1С:Предприятия". Пользователи при этом могут использовать два основных типа клиентов:
Теперь рассмотрим, как происходит подсчет и использование лицензий в данной архитектуре.
Критически важно понимать, что в файловом варианте информационной базы, опубликованной на веб-сервере,
подсчетом лицензий занимается модуль расширения веб-сервера. Это ключевое отличие от клиент-серверного варианта, где подсчет осуществляет сервер "1С:Предприятия".
Когда мы работаем через модуль расширения веб-сервера, лицензии расходуются по принципу "один сеанс — одна лицензия". Давайте разберем, что это означает на практике:
Этот принцип означает, что количество активных сеансов, а не количество пользователей или компьютеров, определяет потребность в лицензиях, когда лицензии выдаются веб-сервером.
Несмотря на то, что оба типа клиентов могут подключаться к файловой базе через веб-сервер, их поведение в отношении получения лицензий может существенно различаться. Мы рассмотрим эти нюансы.
Когда пользователи работают через веб-клиент (браузер), механизм получения лицензий довольно прост и однозначен:
Таким образом, для веб-клиента весь процесс лицензирования полностью делегируется веб-серверу, и лицензии должны быть доступны именно на нем или через него.
Ситуация с тонким клиентом более гибкая. Тонкий клиент, работающий через веб-сервер, может использовать для получения лицензий несколько источников:
Здесь возникает важный нюанс: если лицензия получается непосредственно тонким клиентом (то есть, это локальный ключ на ПК пользователя или сетевой HASP, к которому клиент имеет прямой доступ через порт 475), то на одном компьютере возможно запустить произвольное количество экземпляров системы "1С:Предприятие", используя только одну лицензию. Это означает, что один физический пользователь, имеющий одну лицензию на своем ПК, может открыть несколько баз или несколько окон одной базы без дополнительного расхода лицензий. Однако, как только тонкий клиент начинает получать лицензии от веб-сервера, он подпадает под правило "один сеанс — одна лицензия".
Итак, вернемся к исходному вопросу: есть ли разница между программной и аппаратной лицензией в нашей архитектуре?
На функциональном уровне для работы с файловой базой через веб-сервер принципиальной разницы между аппаратными (USB-ключи HASP) и программными лицензиями нет. И те, и другие могут использоваться для одновременной работы пользователей как в локальной сети, так и через веб-клиенты или тонкие клиенты. Обеспечивают они одинаковый набор функциональности и прав.
Однако существуют эксплуатационные и административные различия:
В контексте файловой базы, опубликованной на веб-сервере, для работы через веб-клиент достаточно клиентских лицензий (однопользовательских или многопользовательских). Лицензия на сервер "1С:Предприятия" при этом не требуется, так как мы не используем серверный кластер "1С:Предприятия".
Если клиентские лицензии (любого типа – аппаратные или программные) активированы на веб-сервере, где размещена файловая база, то, как мы уже говорили, подсчет лицензий осуществляется на каждый запуск/сеанс, независимо от типа клиента (тонкий или веб-клиент) и вида лицензии (аппаратная или программная).
Давайте разберем, где могут располагаться лицензии и каков порядок их поиска:
Порядок поиска лицензии клиентом:
Когда клиентское приложение 1С запускается, оно следует определенному алгоритму для получения лицензии:
Важный аспект, который обсуждался на форуме: если на стороне сервера (веб-сервера) и на стороне клиента есть доступные лицензии, то возможны разные сценарии. Некоторые пользователи отмечают, что сервер может сначала выгребать свои свободные лицензии, пока они не закончатся, и только после этого клиенты будут использовать свои локальные. Другие утверждают, что тонкий клиент при наличии локальной лицензии использует именно ее. Официальная документация (сообщение 15) указывает, что клиент сначала пытается найти лицензию сам, и лишь затем обращается к веб-серверу.
Однако для файловых баз в некоторых случаях нет прямых настроек, запрещающих модулю веб-сервера выдавать лицензии, что может приводить к ситуациям, когда веб-сервер активно раздает свои лицензии.
Веб-клиент, в отличие от тонкого, не может использовать локальные или доступные по сети клиентские лицензии. Он полагается исключительно на лицензии, предоставляемые веб-сервером.
Многопользовательские программные лицензии в файловом варианте могут выдаваться "Веб-сервером" (именно для веб-клиентов, работающих с файловыми базами). В этом случае, если лицензии активированы на сервере, они выдаются на каждый сеанс.
Использование однопользовательской лицензии, активированной на клиентском ПК, позволяет запускать любое количество баз в файловом режиме с этого ПК, но при условии, что это тонкий/толстый клиент 1С. Если же вход осуществляется через веб-клиент (браузер), лицензия может быть активирована только на сервере.
Стоит упомянуть о Сервере лицензирования 1С, хотя он в большей степени относится к клиент-серверному варианту. Это отдельный сервис, который работает только с программными электронными лицензиями и не поддерживает аппаратные ключи HASP. Он позволяет централизованно хранить все программные лицензии, что упрощает администрирование, обеспечивает эффективное использование и быстрое восстановление. Однако Сервер лицензирования выдает лицензии только серверу "1С:Предприятия", а не напрямую клиентам, и он выдает их на каждый запуск или сеанс независимо от режима подключения.
В нашем случае (файловая база через веб-сервер) Сервер лицензирования 1С не используется для раздачи клиентских лицензий, эту роль выполняет модуль расширения веб-сервера.
Для лучшего понимания, давайте рассмотрим несколько конкретных сценариев, которые помогут нам проанализировать ситуацию.
Предположим, у нас есть аппаратный ключ HASP на 5 клиентских лицензий, который установлен на одном из компьютеров в сети (или на веб-сервере), и настроен HASP License Manager для их раздачи. Веб-сервер также настроен на использование этих лицензий.
В этом случае, если пользователи подключаются веб-клиентом (через браузер), веб-сервер будет использовать этот HASP-ключ для выдачи лицензий. Будет запущено столько сеансов 1С, сколько доступно лицензий (т.е. 5 сеансов одновременно). Каждое новое окно или вкладка браузера, открывающая сеанс 1С, будет занимать одну лицензию.
Если пользователи подключаются тонким клиентом и имеют прямой сетевой доступ к HASP License Manager, они могут получить лицензию напрямую. В этом случае один пользователь с одной такой лицензией может открыть множество баз или окон 1С на своем ПК, используя только одну лицензию. Однако, если тонкий клиент не может найти лицензию напрямую, он обратится к веб-серверу, и тогда подсчет будет идти по сеансам, как для веб-клиента.
Допустим, у нас есть 5 однопользовательских программных лицензий, активированных на 5 конкретных рабочих станциях пользователей. Эти пользователи подключаются к файловой базе через веб-сервер, используя тонкий клиент.
В этом случае каждый из этих 5 ПК будет использовать свою локальную программную лицензию. На каждом из этих ПК можно будет запустить столько сеансов 1С и открыть столько баз, сколько нужно юзерам, используя только одну локальную лицензию на ПК. Важно, чтобы тонкий клиент смог получить свою локальную лицензию до обращения к веб-серверу. Если же пользователь на таком ПК попытается подключиться веб-клиентом (через браузер), то его локальная лицензия не будет использована, и запрос на лицензию пойдет к веб-серверу.
Представим, что у нас есть многопользовательская программная лицензия на 5 рабочих мест, которая была активирована и установлена непосредственно на веб-сервере, где опубликована файловая база.
В этом случае веб-сервер будет управлять этими 5 лицензиями. Будет запущено только 5 сеансов 1С одновременно для любых ПК из сети, независимо от того, подключаются они веб-клиентом или тонким клиентом (если тонкий клиент получает лицензию от веб-сервера). Если 6-й пользователь попытается открыть сеанс, ему будет отказано в лицензии до тех пор, пока один из 5 активных сеансов не завершится.
Если на рабочем месте пользователя установлена однопользовательская лицензия (программная или аппаратная) и он использует тонкий клиент для подключения к файловой базе через веб-сервер, то:
Однако, если этот же пользователь пытается подключиться веб-клиентом (браузером), его локальная лицензия не будет задействована. Веб-клиент обратится к веб-серверу за лицензией, и подсчет будет идти по сеансам.
Итак, давайте подведем итоги нашего анализа:
Веб-клиент (браузер)
всегда получает лицензии только от веб-сервера и не может использовать локальные или сетевые лицензии, доступные напрямую клиентскому ПК.Тонкий клиент
более гибок: он может использовать локальные лицензии (программные или аппаратные) или сетевые HASP-лицензии, доступные ему напрямую. В этом случае одна лицензия позволяет запустить любое количество сеансов на одном ПК. Если такие лицензии не найдены, тонкий клиент обращается к веб-серверу и подпадает под правило "один сеанс — одна лицензия".Таким образом, для оптимального использования лицензий и понимания их расхода, крайне важно определить, какой тип клиента используется и где именно расположены доступные лицензии. Если большая часть пользователей работает через тонкий клиент, и вы хотите максимально эффективно использовать лицензии (одна лицензия на ПК для нескольких сеансов), рассмотрите вариант установки однопользовательских лицензий на каждый клиентский ПК или использование сетевого HASP-ключа с прямым доступом к нему тонких клиентов. Если же преобладают веб-клиенты, или вы хотите централизованно управлять лицензиями для тонких клиентов через веб-сервер, то будьте готовы к тому, что каждая новая вкладка браузера или новый запущенный экземпляр 1С будет потреблять отдельную лицензию.