Инструкция по установке и эксплуатации программного обеспечения для ЭВМ “Программа для тестирования продуктовых гипотез EXPF sigma” (далее - ПО)
0. Термины и определения
Программное обеспечение (ПО) — программный продукт «Программа для тестирования продуктовых гипотез EXPF sigma», предоставляемый в виде SDK и HTTP API для интеграции с клиентскими и серверными системами.
SDK (Software Development Kit) — набор программных библиотек и средств разработки, предназначенных для интеграции ПО с приложениями пользователя.
HTTP API — программный интерфейс взаимодействия с ПО по протоколу HTTPS, обеспечивающий получение конфигураций, фича-флагов и параметров экспериментов.
Клиентское приложение — веб- или мобильное приложение пользователя, интегрированное с ПО посредством SDK.
Серверное приложение — серверная часть системы пользователя, использующая SDK или HTTP API для вычисления экспериментальной логики и конфигураций.
Токен проекта — уникальный идентификатор проекта в ПО, используемый для аутентификации и доступа к конфигурациям.
Инициализация SDK — процесс создания и настройки экземпляра клиента ПО с передачей токена проекта и параметров пользователя. userData — структура данных, содержащая идентификаторы и параметры пользователя, используемые для сегментации и вычисления значений.
Фича-флаг — конфигурационный параметр, управляющий доступностью или поведением функциональности приложения.
Эксперимент — логическая сущность в ПО, используемая для сравнения вариантов поведения приложения на части пользователей.
Конфигурация — совокупность фича-флагов, параметров, экспериментов и правил, возвращаемых ПО для конкретного пользователя.
Кэш конфигураций — локальное хранилище конфигурационных данных, используемое
SDK для снижения сетевой нагрузки и обеспечения работы при временной недоступности сети.
Многопользовательская среда — режим эксплуатации, при котором серверное приложение одновременно обрабатывает запросы от множества пользователей.
Эксплуатация ПО — использование SDK и API в составе приложений пользователя для получения и применения конфигураций и экспериментальной логики.
Обновление конфигураций — процесс изменения фича-флагов и экспериментов в интерфейсе управления ПО без обновления клиентских приложений.
1. Общие сведения
ПО поставляется в виде клиентских и серверных SDK, а также HTTP API. Установка серверной части на стороне пользователя не требуется. Интеграция выполняется путём подключения SDK или обращения к API сервиса.
2. JavaScript SDK (Web) – https://docs.expf.ru/tutorial/javaScript/
2.1 Установка
JavaScript SDK устанавливается одним из способов:
• через пакетный менеджер npm;
• путём подключения готового скрипта в HTML-странице.
После установки SDK становится доступным для использования в клиентском коде веб-приложения.
2.2 Инициализация
Для начала работы необходимо:
• создать экземпляр клиента Sigma;
• передать токен проекта;
• передать объект userData с идентификаторами и параметрами пользователя.
Инициализация выполняется один раз при старте приложения или при изменении данных пользователя.
2.3 Эксплуатация
JavaScript SDK позволяет:• получать значения фича-флагов;
• получать значения параметров экспериментов;
• определять, в каких экспериментах участвует пользователь;
• динамически обновлять пользовательские параметры;
• использовать кэш конфигураций для снижения сетевых запросов.
SDK корректно работает при временной недоступности сети, используя последнюю сохранённую конфигурацию.
3. Node.js SDK (Server) – https://docs.expf.ru/tutorial/node.js/
3.1 Установка
Node.js SDK устанавливается как зависимость серверного приложения через npm.
3.2 Инициализация
Для инициализации необходимо:
• создать экземпляр клиента Sigma;
• указать токен проекта;
• передать userData или получать его динамически из серверного контекста;
• задать параметры кэширования при необходимости.
3.3 Эксплуатация
Node.js SDK используется для:
• серверного расчёта значений фича-флагов;
• управления экспериментальной логикой на backend-уровне; • обеспечения единых
значений флагов между сервером и клиентом;
• работы с высокой нагрузкой за счёт встроенного кэширования.
SDK предназначен для многопользовательской среды и безопасен для использования в серверных приложениях.
4. Android SDK – https://docs.expf.ru/tutorial/kotlin/
4.1 Установка
Android SDK подключается к проекту как зависимость Gradle.
4.2 Инициализация
Для начала работы необходимо:
• инициализировать SDK при запуске приложения;
• указать токен проекта;
• передать идентификаторы пользователя и параметры окружения.
4.3 Эксплуатация
Android SDK позволяет:
• получать значения фича-флагов и параметров экспериментов;
• управлять доступностью функциональности без обновления приложения;
• использовать сегментацию пользователей на мобильных платформах;
• работать с локальным кэшем конфигураций при отсутствии сети.
5. iOS SDK – https://docs.expf.ru/tutorial/swift/
5.1 Установка iOS SDK подключается к проекту через менеджер зависимостей.
5.2 Инициализация
Для инициализации требуется:
• создать экземпляр клиента Sigma;
• указать токен проекта;
• передать параметры пользователя и приложения.
5.3 Эксплуатация
iOS SDK обеспечивает:
• получение значений фича-флагов и параметров;
• управление функциональностью приложения в реальном времени; • единое
поведение экспериментов между платформами;
• использование локального кэша при сетевых сбоях.
6. HTTP API Sigma – https://docs.expf.ru/api/
6.1 Назначение API
HTTP API Sigma предназначен для серверных интеграций и используется в случаях, когда применение SDK невозможно или нецелесообразно.
6.2 Аутентификация
Для работы с API требуется:
• токен проекта, передаваемый в заголовке Authorization.
6.3 Использование API
API позволяет:
• получить список активных экспериментов для пользователя;
• вычислить значения фича-флагов и параметров;
• использовать userData для сегментации и расчётов;
• интегрировать Sigma с внешними сервисами и backend-системами.
Запросы выполняются по HTTPS и возвращают структурированные данные в формате JSON.
6.4 Эксплуатация
API может использоваться:
• в серверных микросервисах;
• в системах аналитики и обработки событий;
• для централизованного вычисления экспериментальной логики.
7. Обновление и сопровождение
Обновление логики экспериментов и фича-флагов производится централизованно через интерфейс управления ПО и не требует обновления клиентских SDK. Все изменения становятся доступны автоматически при следующем запросе конфигурации.
8. Демонстрация
Демонстрация архитектуры, инфраструктуры, кода ПО могут быть продемонстрированы в ходе встречи или видеоконференции.
Запрос на демонстрацию можно отправить по адресу vit@expf.ru