====== Интеграция и расширение функционала ADVANTA с помощью API ====== ===== Почему иногда стандартного функционала недостаточно ===== ADVANTA охватывает ключевые аспекты управления проектами: от планирования и распределения задач до контроля сроков, бюджетов и ресурсов. Однако в реальной работе каждой компании возникают уникальные процессы, специфические отчёты или интеграции с внутренними инструментами, которые невозможно реализовать «из коробки». ADVANTA позволяет дополнять её функциональность. Вы можете создавать собственные «скрипты», «десктопные приложения» или «веб-сервисы», которые будут работать в тесной связке с Системой, используя её данные и логику. Такие решения работают либо «внутри» ADVANTA («скрипты»), либо устанавливаются непосредственно на рабочее место пользователя («десктопные» приложения), либо размещаются «рядом» с ADVANTA, на серверах («веб-сервисы»). При этом система авторизации в них может проводиться через единую учётную запись пользователя ADVANTA. В результате пользователи продолжают работать в привычной среде, а новые инструменты становятся частью их ежедневного рабочего процесса. ===== Три способа добавить новую функциональность ===== ==== Способ 1: «Цифровой помощник» - скрипты внутри ADVANTA ==== [[product:triggers:start|«Цифровой помощник»]] - система, которая располагается на веб-сервере «рядом» с ADVANTA. Она отслеживает события, происходящие в ADVANTA по мере работы пользователей. Для каждого события в [[product:triggers:start|«цифровом помощнике»]] можно создать небольшую, простую программу. Такие программы называют «скриптами» или «триггерами» (поэтому второе название «Цифрового помощника» – «модуль триггеров»). [[product:triggers:start|Триггеры]] – это небольшие скрипты на языке C#. Они могут получать информацию об объектах ADVANTA и изменять её с помощью API-функций. Триггеры запускаются при определённом событии и выполняют рутинные действия, снижая ручную работу. Например, когда пользователь изменяет на «Завершено» статус контрольной точки этапа проекта, триггер может изменить фазу жизненного цикла проекта. Также триггеры могут выполнять регулярные операции, по таймеру. К примеру, с помощью триггера можно раз в неделю формировать отчёт о состоянии проекта и рассылать его по email. ==== Способ 2: «Десктопные приложения» - локальный инструмент ==== Десктопные приложения – это программы для запуска в операционной системе на компьютере пользователя или внутри других приложений. Например, [[product:objects:users:ms_project|«модуль импорта/экспорта проектов из MS Project»]] устанавливается на компьютере пользователя. Он интегрируется в Microsoft Project как модуль и работает в её среде, но в процессе своей работы обращается к API-функциям ADVANTA. Можно создавать и полностью самостоятельные программы для определённой операционной системы. Они могут быть написаны на любом языке программирования, главное, чтобы он был способен вызывать [[product:api:list|SOAP API]] и [[product/linq/new#webapi|Web-запросы]]. ==== Способ 3: «Веб-сервисы» - свобода выбора технологий ==== Веб-сервисы – Это приложение, которое работает на веб-сервере, как и сама ADVANTA. Его можно разместить на том же сервере или в той же сети, где работает ADVANTA, обеспечивая высокую скорость и надёжность взаимодействия. Как и десктопное приложение, веб-сервис может быть создан на любом языке, будь то Python, JavaScript, AspNet. Веб-сервис позволяет создать полноценный пользовательский интерфейс без необходимости устанавливать ПО на компьютеры пользователей. Пользователи могут работать с веб-сервисом из любой операционной сиcтемы и с любого устройства, где есть браузер. ===== Когда что использовать? Рекомендации ===== Выбор между [[product:triggers:start|«Цифровым помощником»]] и внешним сервисом зависит от ваших целей. Используйте [[product:triggers:start|«Цифровой помощник»]], если вам нужно: * Автоматизировать простые действия внутри ADVANTA (например, при изменении статуса задачи — отправлять уведомление, обновлять поля, создавать дочерние элементы). * Выполнять фоновую обработку данных без отдельного интерфейса. * Выполнять действия, не создающие очень высокой нагрузки на сервер. * Исключить передачу информации за пределы базы данных ADVANTA. Разрабатывайте внешний веб-сервис, если вам требуется: * Собственный пользовательский интерфейс для ввода информации (форма ввода). * Специфические визуальные элементы (сложный дашборд). * Интеграция с другими системами (CRM, ERP, BI-инструментами и т.д.). * Сложные или ресурсоёмкие вычисления, работа с большими объёмами данных. Оба подхода полностью совместимы с API ADVANTA и могут дополнять друг друга. Например, триггер может подготовить данные, а внешний сервис — отобразить их в удобном виде. ===== Безопасность и сквозная авторизация пользователей (SSO) ===== Одна из главных задач при создании дополнительных сервисов — не усложнять работу пользователей. Чтобы не приходилось запоминать пароли от дополнительных приложений, ADVANTA позволяет реализовать сквозную авторизацию (Single Sign-On, SSO). При авторизации в приложении или веб-сервисе, подключённом к ADVANTA, пользователи не будут вводить логин и пароль повторно. При входе в интегрированное приложение ADVANTA безопасно передаёт информацию об авторизованном пользователе, не раскрывая пароль. Это не только повышает удобство, но и усиливает безопасность. SSO работает как для «десктопных приложений», так и для веб-сервисов — при условии, что они корректно реализуют протокол обмена с ADVANTA. В результате пользователи получают единый рабочий контекст: они остаются в привычной среде, а новые инструменты ощущаются как естественное продолжение платформы. ===== Интеграция в интерфейс ADVANTA: как пользователи попадут в ваш сервис ===== Чтобы новый функционал был действительно полезен, к нему должен быть простой и понятный доступ прямо из интерфейса ADVANTA. Вы можете добавить ссылку на ваше внешнее приложение в левое меню Системы. Это делается через настройки интерфейса, и любой пользователь увидит новый пункт меню — например, «Импорт проектов из CRM» или «BI-дашборд». При клике он мгновенно перейдёт в ваш сервис с уже выполненной авторизацией. ===== Заключение: ваша ADVANTA - ваша экосистема ===== ADVANTA - это не просто Система управления проектами, а основа для вашей собственной цифровой экосистемы. Благодаря открытому API и гибким инструментам расширения вы можете адаптировать платформу под уникальные процессы вашей компании - без ожидания обновлений от вендора и без потери контроля над данными. Начните с малого, ознакомьтесь с примерами сценариев в нашей wiki: * [[product:triggers:library|сценарии «Цифрового помощника»]]; * примеры внешних приложений и веб-сервисов, расширяющих функционал; * [[product:api:integration_examples|примеры интеграционных решений]]. Ознакомьтесь с документацией по API: * [[product:api:list|SOAP API]]; * [[product/linq/new#webapi|Web-API и LINQ-запросы]]. Ваша система - ваше правило. Расширяйте, интегрируйте, улучшайте!