Лицензирование приложений marketplace
Glossary Item Box
Общие сведения
Платные приложения marketplace должны быть лицензированы для контроля их использования. Основные типы лицензий:
- Именные лицензии — предоставляют доступ к приложению для конкретных пользователей. Эти лицензии привязываются к учетным записям и не могут быть использованы другими пользователями. Администратор системы может в любой момент перераспределить именные лицензии. Как распределить лицензии между пользователями bpm'online можно узнать из статьи "Распределение лицензий между пользователями".
- Серверные лицензии — не предусматривают необходимости лицензирования отдельных пользователей. Все пользователи bpm’online, обладающие соответствующими правами, будут иметь доступ к функциональности, которая лицензируется.
Независимо от типа лицензии в нее могут входить:
- Объекты лицензирования — названия пользовательских объектов, добавленных в приложение marketplace. В этот список могут входить любые пользовательские объекты, например, объект раздела, детали или справочника.
- Операции лицензирования — названия операций, добавленных в логику приложения для проверки наличия лицензии на использование определенной функциональности. Например, в один из базовых разделов системы было добавлено дополнительное действие, с которым нужно связать операцию лицензирования. При вызове этого действия в программной логике приложения сначала должна выполняться проверка наличия лицензии, а затем, в зависимости от результата, работа функциональности должна быть либо продолжена, либо прервана.
Количество оплаченных и предоставленных пользователям лицензий разработчик приложения marketplace может узнать, обратившись в службу поддержки marketplace (marketplace@terrasoft.ru).
Какими могут быть способы лицензирования
Возможные способы лицензирования зависят от типа лицензии и предмета лицензирования (табл. 1).
Табл. 1. — Возможные способы лицензирования
Тип лицензии | Предмет лицензирования | Бизнес-кейсы |
---|---|---|
Именная | Объекты | Приложение marketplace представляет собой новый раздел в bpm'online. Разработчик хочет получить плату за каждого пользователя, работающего с разделом. |
Именная | Операции |
Приложение marketplace представляет собой коннектор к внешнему сервису. Разработчик хочет получить плату за каждого пользователя, которому предоставляется доступ к сервису. Например, коннектор к системе телефонии, доступ к использованию которого оплачивается для отдельных пользователей. |
Серверная | Объекты | Приложение marketplace представляет собой новый раздел в bpm'online. Разработчик хочет получить фиксированную плату, независимо от того, сколько пользователей будет работать с разделом. |
Серверная | Операции |
Приложение marketplace представляет собой коннектор к внешнему сервису. Разработчик хочет получить фиксированную плату за коннектор, независимо от того, скольким пользователям будет предоставляется доступ к сервису. Например, коннектор к Web-чату, в ходе работы которого регистрируются лиды/обращения в bpm'online. Клиент оплачивает лицензию независимо от количества пользователей. |
Именная | Объекты и/или операции |
Приложение marketplace представляет собой раздел, в котором созданы записи, использующие коннекторы к разным внешним сервисам. Разработчик хочет получить плату за каждого пользователя, которому предоставляется доступ к разделу. Также разработчик хочет получить плату за каждый коннектор к сервису. Например, в рамках вертикального решения доработан раздел [Заявки]. В нем реализована интеграция с внешней системой, в которой регистрируются заявки. Клиент оплачивает доступ к функциональности раздела для каждого пользователя. |
ВАЖНО Запрещается одновременное использование именных и серверных лицензий, лицензирующих одинаковые объекты и операции. |
Каким может быть срок действия лицензии
В лицензии указывается срок ее действия. Платформа bpm'online следит контролирует сроки действия лицензий. Если срок действия истек, работа лицензируемого объекта или операции будет заблокирована.
В зависимости от срока действия, лицензии могут быть двух типов:
- Годовая — предназначена для приложений marketplace, распространяемых с годовой подпиской. Срок действия лицензии — один год. После завершения срока действия лицензии клиент должен снова оплатить годовую подписку и получить новую лицензию.
- Бессрочная — предназначена для приложений marketplace, которые необходимо оплатить один раз. Срок действия лицензии не ограничен.
Процесс выпуска лицензии для нового продукта
1. Во время создания приложения marketplace разработчик должен решить:
a) Что будет входить в лицензию — объекты лицензирования или операции (возможны оба варианта). Также он должен сформировать список лицензируемых объектов и/или операций.
b) Определить тип лицензии — именная или серверная. Основные типы лицензий bpm'online и варианты их использования перечислены в разделе "Лицензирование в bpm’online" документации пользователя.
с) Определить срок действия лицензии — лицензия годовая или бессрочная.
К СВЕДЕНИЮ Если в лицензию будут входить операции лицензирования, то в программном коде приложения необходимо реализовать проверку наличия лицензии. Для объектов лицензирования логика проверки уже реализована в базовой версии bpm'online. |
2. После успешной проверки приложения сотрудниками marketplace разработчик должен предоставить список лицензируемых объектов и операций, а также информацию о типе и сроке действия лицензии команде поддержки marketplace (marketplace@terrasoft.ru).
3. На основании предоставленного списка служба поддержки marketplace генерирует лицензии для этого приложения.
4. В дальнейшем, после заказа и оплаты приложения marketplace, пользователю будут установлены необходимые лицензии службой поддержки marketplace.
Как реализовать проверку лицензий в продукте
Проверка объектов лицензирования
Если в лицензию приложения входят только объекты лицензирования, то никаких доработок в приложении marketplace не требуется. Проверка наличия лицензии для объектов лицензирования выполняется базовыми средствами bpm’online.
Проверка операций лицензирования
Если в лицензию приложения входит операция лицензирования, то в нужных местах исходного кода приложения необходимо предусмотреть проверку наличия лицензии на выполнение этой операции.
Для этого необходимо использовать один из методов класса LicHelper библиотеки Terrasoft.Core:
- GetHasOperationLicense — возвращает true, если лицензия найдена, и false, если лицензия отсутствует.
- CheckHasOperationLicense — возвращает true, если лицензия найдена. Если лицензия отсутствует — генерирует исключение LicException.
Сигнатуры методов:
public bool GetHasOperationLicense(string sysPackageOperationCode); public bool CheckHasOperationLicense(string sysPackageOperationCode);
Здесь строковый параметр sysPackageOperationCode должен содержать название лицензируемой операции, переданное в службу поддержки marketplace.
Примеры использования методов:
UserConnection.LicHelper.GetHasOperationLicense("MyMarketplaceApplication.Use"); UserConnection.LicHelper.CheckHasOperationLicense("MyMarketplaceApplication.Use");
ВАЖНО Проверку наличия лицензии на операцию можно выполнить только на серверной стороне приложения. Если приложение marketplace работает только с клиентской частью bpm'online, то необходимо:
|
ВАЖНО Проверка наличия лицензии на операцию непосредственно в пользовательских схемах является небезопасной, поскольку исходный код пользовательских схем конфигурационных пакетов доступен для чтения и замещения. Поэтому рекомендуется использовать объекты лицензирования. |
Демонстрационный режим работы приложения
Если в приложении bpm'online нет загруженных лицензий ни для одного из продуктов, то по умолчанию включается демонстрационный режим работы приложения. В демонстрационном режиме пользователю доступна вся функциональность bpm'online, но в каждую таблицу базы данных можно добавить не более 1000 записей.