Какой должна быть современная RPA-платформа: набор ключевых характеристик

Материал ориентирован на IT-менеджеров, руководителей проектов, представителей служб информационной безопасности и снабжения, перед которыми стоит задача сравнения и принятия взвешенного решения при выборе платформы.

Раскрываем важные функциональные и архитектурные особенности, на которые важно обратить внимание для успешного внедрения программных роботов.
Сейчас на рынке много различных платформ с разной идеологией, функциональностью и возможностями. Для каждого вида бизнеса, масштаба компании, формата работы будут важны разные качества.

В этом материале мы рассмотрим ключевые аспекты применения и необходимые функциональные возможности платформ в рамках Enterprise-сегмента, крупного корпоративного бизнеса и гос. корпораций.

Рассматривать именно их будем из-за того, что в данном сегменте предприятий особенно важно соблюдение существующих стандартов корпоративной архитектуры, требований информационной безопасности. Поэтому платформа в данных компаниях должна быть полноценным корпоративный инструментом для эффективной и безопасной реализации бизнеса.

Чтобы сделать материал максимально насыщенным и объективным, мы будем избегать абстрактных упоминаний удобства, качества, надежности без конкретных факторов, определяющих их технологические или техническое применение.

В материале мы опишем, какими ключевыми возможностями должна обладать платформа для корпоративного применения и почему эти возможности могут быть критичны для компании. Дальнейшее описание специально будет изложено в табличной форме для того, чтобы из нее можно было удобно сделать высокоуровневый чек-лист для сравнения рассматриваемых RPA платформ и выбора наиболее подходящей по перечисленным критериям.



Работа с приложениями и ИС
Описание:
Возможность работать с корпоративными приложениями и порталами, внутренними и внешними системами и файлами, имитируя действия сотрудника организации

Какие возможности предоставляет:
  • Работа с Web приложениями
  • Работа с Desktop приложениями
  • Работа с Java-приложениями (например, Oracle)
  • Работа с SAP-системами
  • Работа с 1с
  • Работа с офисными документами MS Office или импортозамещающих офисных пакетов (например, р7-офис)
  • Работа с папками и файлами локально, на сетевых папках, на ftp/ftps
Машинное зрение
Описание:
При выполнении робота, если на экране несколько одинаковых изображений, то робот Возможность работы с устаревшими приложениями (без возможности перехода по структурированным элементам), работы через терминальные соединения

Какие возможности предоставляет:
  • При выполнении робота, если на экране несколько одинаковых изображений, то робот найдет координаты каждого. В зависимости от задачи, робот может кликнуть в нужный элемент или пройти по порядку, кликнуть по каждому.
  • Поиск элементов окна приложения по тексту (с использованием OCR)
OCR-распознавание текстовой информации
Описание:
Наличие как встроенных механизмов перевода картинки в текст, так и интеграция со специализированными OCR решениями (в частности - Abbyy, Yandex, Dbrain)

Какие возможности предоставляет:
Возможность обрабатывать сканы документов
Recorder (Windows и Web)
Описание:
Инструмент для записи действий в Windows, браузере и приложениях, позволяющий автоматически преобразовывать действия пользователя в сценарий робота, с последующим воспроизведением и возможностью редактирования в Студии.

Создание структуры приложений и окон, с которыми работает пользователь. Возможность сохранять и переиспользовать одни и те же элементы окон приложений.
Какие возможности предоставляет:
Сокращение времени и трудоемкости на создание робота
Интеграция и API
Описание:
Работа с Базами Данных / RESTapi и SOAP

Какие возможности предоставляет:
Возможность создавать интеграционные взаимодействия между приложениями в режиме конструктора – для снижения трудозатрат в разработке и поддержке решений
Упрощенная работа с действиями
Описание:
Возможность обращаться к результатам выполнения действия напрямую, без необходимости создавать переменные

Какие возможности предоставляет:
  • Сокращает время настройки сценария робота за счет отсутствия необходимости создавать дополнительные переменные
  • Сокращает количество используемых переменных в сценарии в разы.
Очереди сообщений для обработки данных
Описание:
Встроенные очереди сообщений позволяют выстраивать сложные процессы обработки элементов. Процессы могут состоять из нескольких этапов и выполняться как роботами, с помощью имеющихся действий, так и через внешние вызовы API-очередей

Какие возможности предоставляет:
  • Мониторинг и контроль состояния элементов очереди с помощью схемы статусов обработки через веб-интерфейс.
  • Взаимодействия с элементами очереди может осуществляться через api или действиями робота.
  • Очередь может являться триггером для запуска роботов, автоматически распределяя - на каких машинах и сколько роботов необходимо запустить для обработки очереди. Для запуска робота указывается группа машин, задается количество новых элементов в очереди при достижении которого, начинается обработка очереди, а также максимальное количество роботов, которое может быть запущено для обработки конкретной очереди. В зависимости от количества элементов в очереди и текущей загрузки машин, очередь сама определяет на какой машине сейчас можно запустить нового робота.
  • Настройка количества попыток обработки элемента позволяет указать количество повторов обработки, которое роботы будут предпринимать, если обработка элемента завершилась с ошибкой.
  • Построение сложных процессов обработки очереди данных за счет возможности присвоения тэгов каждому элементу, установки блокировки (на чтение и на запись, в том числе и на заданное время), установки приоритетов обработки элементов очереди.
  • Выбрать из очереди элементы по фильтрам: тэгам, приоритетам, дате создания или обновления, установленным блокировкам и идентификатору элемента.
Централизованное хранилище ресурсов
Описание:
Возможность хранить переменные робота в централизованном хранилище Оркестратора.

Какие возможности предоставляет:
  • Возможность централизованно задавать, хранить и получать на вход переменные, необходимые для работы роботов (например, url до портала, с которыми работают роботы)
  • Возможность централизованно задавать, хранить и получать на вход учетные данные от ИС.
При изменении этих параметров нет необходимости вносить изменения в каждый сценарий, который их использует, достаточно внести в централизованном хранилище
Использование производственных календарей
Описание:
Возможность параметрической настройки расписания выполнения роботов на основе производственных календарей.

Какие возможности предоставляет:
  • Возможность централизованно задавать, хранить и получать на вход переменные,
  • Возможность централизовано вести сразу несколько производственных календарей (например для разных стран или регионов) и использовать их при создании расписаний запуска роботов
  • Возможность обращаться роботом к производственным календарям с помощью действий, доступных в студии и работать с датами (например, посчитать количество рабочих дней между двумя датами с учетом конкретного производственного календаря.
С помощью рабочих календарей платформа позволяет роботизировать задачи с учетом региональных особенностей и работать географически распределенным центрам экспертизы
Обеспечение автоматизации на рабочих местах (attended роботы и RDA)
Описание:
  • Наличие приложения для управления роботами на локальном рабочем месте
  • Наличие возможности взаимодействия с сотрудником с использованием диалоговых окон.
  • Наличие возможности указать требуется ли роботу графический интерфейс при работе или робот может работать в фоне

Какие возможности предоставляет
  • Сотрудник имеет удобное приложение для управления своими настольными роботами и их запусками.
Возможность роботом выводить взаимодействовать помощью диалоговых окон.

  • Робот может запросить информацию, необходимую для дальнейшего выполнения процесса.
  • Робот выводит пользователю информацию для проверки. Пользователь может отредактировать ее, подтвердить ее, или, в случае необходимости, и передать обратно роботу дополнительные данные.
  • Вывод диалогового окна на рабочем месте пользователя возможен даже в случаях, когда основной сценарий робота выполняется на централизованном сервере В этом случае вывод окна контролирует Оркестратор.
Определение того, нужен ли для выполнения робота графический интерфейс ОС, позволяет учитывать это при запуске робота по триггеру (из очереди или по расписанию) обеспечивает

  • Эффективную утилизацию существующих лицензий. При автоматическом выборе машины при запуске из очереди этот атрибут учитывается для корректного распределения. Так на одной лицензии могут выполняться несколько роботов одновременно, не мешая друг другу.
  • Возможность работы сотрудников одновременно с роботами, ведь для работы "фоновых" роботов не требуется графический интерфейс или управление клавиатурой и мышью пользователя
    Повторное использование готовых компонент на уровне организации (с учетом корпоративных правил)
    Описание:
    Возможность логически связать выполнение разных роботов в один сквозной процесс. Использование "робот как действие" позволяет размещать на шагах процесса роботов, передавать данные между роботами, выстраивать логику сквозного процесса с возможностью подключения других технологий на различных шагах, например, OCR и AI.

    Какие возможности предоставляет:
    • Роботизируются не отдельные функции, а сквозной процесс, как следствие, больший эффект от роботизации.
    • Для выстраивания сквозного процесса из роботов используется не отдельный инструмент (например, редактор процессов на стороне оркестратора), а имеющийся инструмент - студия. Благодаря чему, сотрудникам не надо изучать дополнительные инструменты, связывать выполнение роботов может тот же аналитик, который настраивает роботов.
    • Выполнение сквозного процессов подчиняется тем же самым правилам, что и выполнение отдельного робота. Его действия логируются, и можно посмотреть, когда какой шаг процесса отработал, с каким результатом. Таким образом, любой процесс контролируется также как и робот.
    • Широта возможностей настройки сквозного процесса не ограничиваются возможностями отдельного инструмента, а доступны все возможности студии. Аналитик может настроить как простой процесс, в котором роботы запускаются последовательно, так и сложный, с множеством условий, циклами и точками принятия решения.
    Безопасный режимы работы как с No-Code, так и с Low-Code
    Описание:
    Переключение между No-Code и Low-Code режимами в Студии настройки роботов предоставляет возможность создавать программный код для робота с соблюдением всех стандартов информационной безопасности, таких как защита от подмены при запуске, исключение несанкционированного доступа к исходному коду и т.п.

    Так же как и возможность полностью исключить программирование при создании роботов (не допуская появления внутри роботов встроенных "микропрограмм")

    Какие возможности предоставляет:
    • Доступ к Low-Code режиму может быть ограничен и предоставляться только определенному числу сотрудников. Например, аналитикам и бизнес-пользователям может быть доступен только No-Code режим, в котором роботы создаются без строчки кода, а разработчику, которому доступна возможность создавать код, отдаются на реализацию только самые сложные функции робота.
    • Создаваемый в роботе программный код, не становится "захардкоженной" частью этого робота, а сохраняется в виде пакета с действием, и может быть импортирован в другую студию, либо опубликован на оркестратор для переиспользования в других роботах.
    • Поскольку созданный код компилируется один раз в момент создания (а не при каждом выполнении робота как в других платформах) и сохраняется в виде пакета, это гарантирует неизменяемость кода из-за внешних факторов, а также обеспечивает простоту поддержки во время эксплуатации.
    • Обеспечена среда безопасного использования такого кода, за счет подписи пакета (strong name) и шифрования сценария робота, таким образом код невозможно подменить не имея доступа к ROBIN Studio или при выполнении робота.
    • Встроенный редактор кода поддерживает актуальную версию C# 9.0, позволяет добавлять собственные библиотеки и пакеты, а так же использовать любые пространства имен (у некоторых других платформ список ограничен только предусмотренными вендором платформы). Таким образом с помощью встроенного редактора кода можно написать не просто скрипт на C#, а целую подпрограмму, которая будет обладать всеми вышеописанными преимуществами в виде безопасности использования и переиспользуемости.
    Безопасность внесения изменений и доработок
    Описание:
    • Любая доработка робота, отличная от штатного функционала платформы (в частности, разработка новых действий) подписывается индивидуальным сертификатом разработчика / аналитика (управление сертификатами может осуществлять сама организация).

    • Наличие процесса верификации вносимых изменений согласно настраиваемой ролевой модели

    Какие возможности предоставляет:
    • Любое изменение как действия, так и робота подписвается при публикации в хранилище, поэтому всегда достоверно известно кто и какие изменения внес.

    • Обеспечение безопасности доработок и внесения изменений в программных роботов
    Любой язык программирования для создания собственных действий и доработок
    Описание:
    Действия для робота могут быть реализованы на языках для любой из трех платформ: .Net (C#, VisualBasic, С++, Jscript ), Java, Python.

    Какие возможности предоставляет:
    Благодаря поддержке нескольких языков программирования, при необходимости разработки специальных действий организации не надо искать/нанимать разработчика со знанием конкретного языка. Можнго эффективно/рационально использовать существующий собственный доступный ресурс из штата разработчиков, с теми компетенциями, которые у него есть
    Полное управление правами доступа вплоть до конкретного действия робота на конкретном рабочем месте
    Описание:

    • Модель управления правами доступа позволяет регулировать права доступа сотрудников на сценарии роботов, готовых роботов, машины (серверов или АРМ) для запусков роботов, доступные действия в Студии (сотрудникам могут быть ограничено права на использование конкретных действий, например, по работе с 1с).

    • Также регулируются права робота на запуск на конкретных машинах.

    • Для аутентификации пользователей могут быть использованы доменные учетные записи
    Какие возможности предоставляет:
    Обеспечивается безопасность и полный контроль эксплуатации робота.

    • Аналитик имеет доступ только к тем сценариям роботов, доступ к которым разрешен, при этом может не иметь доступа к роботам и машинам в продуктивной среде.

    • Робот имеет право на запуск только на конкретных машинах. Например, роботы бухгалтерии имеют доступы на запуск только в контуре, созданном только для их запуска, роботы других отделов не имеют к ним доступа.

    т.е. в этом случае робот получается более безопасным, чем сотрудник (ведь, например, он не сможет отправить конфиденциальные данные на чужой адрес, даже если у него будет доступ к почте)

    Версионность и контроль любых изменений
    Описание:
    Версионирование каждого действия робота с возможностью точечного обновления версии в сценарии или отката к предыдущей.

    Какие возможности предоставляет:
    • Обновления платформы или действий не могут привести к сбою в работе уже существующих роботов в продуктивной среде. В роботах будут использоваться те версии действий и компонентов платформы, которые работали до этого.

    • При необходимости использования более новой версии действий (например, исправлении ошибки) переход осуществляется контролируемо и только в тех шагах робота, где это необходимо.

    Расширенный режим отладки робота
    Описание:
    • Создавать и отлаживать (запускать сценарии робота в режиме отладки непосредственно из студии) в том числе и удаленно. Робот работает на удаленном компьютере (там где есть доступ к ресурсам, необходимым для выполнения робота), а логи отображаются в студии точно также, как если бы сценарий отрабатывал на локальной машине
    Это дает возможность создавать роботов для работы с теми приложениями, к которым прямой доступ невозможно или сложно получить

    Какие возможности предоставляет:
    • Бизнес-аналитику не требуется установка всех приложений , с которыми работают настраиваемые им сценарии роботов, на свой компьютер. Для настройки роботов можно использовать удаленные машины, с которых есть необходимые доступы и на которых установлены нужные приложения.

    • В случае возникновения ошибок на продуктивном контуре аналитик может получить доступ к роботу, и запустить его непосредственно на продуктивной среде в режиме отладки для выявления ошибки). К самому продуктивному контуру систем доступ получать не требуется.

    Обновления не затрагивают текущих систем роботизации
    Описание:
    • При обновлении платформы заменяются только те компоненты, которые нужны.
      Компонент выполнения действий робота ("движок") также имеет свою систему версионирования, привязанную к версиям действий.

      Каждая версия действие знает на какой версии движка оно работает.
    • Обновление компонентов платформы - всегда только привнесение нового, но не изменение существующего и работающего.

    Какие возможности предоставляет:
    Даже спустя много обновлений платформы и робота, при выполнении действия будет запускаться та его версия, которая использовалась при создании и именно на той версии компонента, на которой оно всегда работало.

    Естественно, при необходимости, например, для исправления ошибок, можно обновиться и использовать более новые версии.
    Контролируемый ввод и вывод из эксплуатации необходимых компонентов системы
    Описание:
    Возможность запрета использования и исполнения:

    • Выбранных версий робота

    • Выбранных версий действий

    • Выбранных версий компонентов платформы (Студия, исполнитель, агенты и т.п.)
    Какие возможности предоставляет:
    Контроль за вводом и выводом из эксплуатации необходимых компонентов системы
    Соответствие архитектурным стандартам и политике импортозамещения
    Описание:
    Все компоненты в составе платформы (в том числе СУБД, сервер приложений и т.п.) не должны требовать дополнительных лицензий сторонних производителей (т.е. должны либо быть разработаны самим поставщиком платформы, либо использоваться свободно распространяемое программное обеспечение)
    Какие возможности предоставляет:
    Отсутствие дополнительных, скрытых затрат и рисков использования стороннего программного обеспечения
    Контролируемость изменений
    Описание:
    • Сценарий робота подписан сертификатом разработчика и не может быть изменен с помощью сторонних средств.

    • Сценарий робота не может быть открыт любым другим приложением, кроме Студии, прочитан.

    • Возможность отключить доступность импорта роботов на локальный компьютер при использовании хранилища на стороне оркестратора

    Какие возможности предоставляет:
    Контролируемость изменений сценариев роботов
    Контроль за запуском роботов
    Описание:
    Фиксация факта запуска каждого робота (в том числе и роботов, находящихся в разработке)

    Какие возможности предоставляет:
    Знать, что именно запущено, когда, кем и откуда
    Контроль за запуском роботов
    Описание:
    Наличие отдельного приложения (Плеера для роботов) для управления запусками роботов на локальном месте

    Какие возможности предоставляет:
    • Дает доступ пользователю к списку доступных ему роботов.
    • Позволяет запустить робота или настроить расписание запуска через удобный интерфейс
    Отказоустойчивое разворачивание компонент и масштабирование
    Описание:
    Возможно разворачивание серверных компонент платформы как в «минимальном» режиме, когда все компоненты устанавливаются на один сервер, так и в «Enterprise» варианте: каждый компонент разворачивается в отказоустойчивом кластере на отдельных серверах.

    Какие возможности предоставляет:
      • Возможность гибко спроектировать ландшафт и развернуть платформу в соответствии с требованиями служб безопасности, инфраструктуры и эксплуатации.
      • Разворачивание каждого компонента (СУБД, хранилища сценариев, очереди сообщений...) в кластерах позволяет масштабировать платформу и позволяет построить отказоустойчивую систему (при выходе из строя одного сервера не теряются данные и не нарушается их целостность)
    Самостоятельно обогащать робота «искусственным интеллектом»
    Описание:
    Возможность создавать Ai-модели в виде действий на Python

    Какие возможности предоставляет:
    Возможность использования в роботах дополнительного функционала, основанного на машинном обучении – за счет подключения собственных или сторонних моделей на Pyton
    Интегрированный искусственный интеллект
    Описание:
    Наличие модуля для создания интегрированных с роботами моделей машинного обучения для работы с неструктурированной текстовой информацией в части:

    • классификация текстовой информации

    • понимание разговорной речи, определение интентов

    • извлечение сущностей и параметров из текстовой информации


    Какие возможности предоставляет:
    Возможность использовать бОльшую функциональность (по сравнению с традиционным RPA) для решения сложных бизнес - задач
    Интегрированные в роботов чат-боты
    Описание:
    Наличие модуля для создания интегрированных с роботами чат-ботов для обработки запросов и формирования ответов

    Какие возможности предоставляет:
    Возможность использовать бОльшую функциональность для решения сложных бизнес-задач
    Реальная кроссплатформенность
    Описание:
    • Реальная кроссплатформенность. Один и тот же робот может выполняться на рабочих местах под любой операционной системой (включая импортозамещающие);

    • Для реализации кроссплатформенности используются как проприетарные технологии, такие как Microsoft .NET, так и открытые платформы, такие как Java и Python;

    • Работа с нативными, прикладными приложениями и функциями данных операционных систем (не только через браузер).

    Какие возможности предоставляет:
    • Использовать рабочие места на базе любых операционных систем (не только для создания робота, а в первую очередь - для его исполнения).

    • Удовлетворения требований по импортозамещению в рамках полного перехода на отечественные Linux

    • Удовлетворение требований служб эксплуатации и информационной безопасности. Ограничения использования проприетарных программных продуктов (в частности MS .Net) не повлияет на роботу роботов. Возможно использование Java и Python для создания роботов.

    • Python является поставляемым компонентом вместе с различными дистрибутивами Linux (включая импортозамещающие, например, AstraLinux), в то время как .NET официально поддерживается только на нескольких дистрибутивах и не гарантируется работоспособность и дальнейшая поддержка на остальных (https://docs.microsoft.com/ru-ru/dotnet/core/install/linux?WT.mc_id=dotnet-35129-website)

    • Благодаря использованию Java и Python возможен запуск роботов под отечественными процессорами, в частности Байкал
    Соответствие российским стандартам
    Описание:
    • Присутствие в реестре отечественного ПО;

    • Наличие особых заслуг (например, премий/наград в конкурсах, участия в Сколково, АРПП «Отечественный софт»)


    Какие возможности предоставляет:
    Подтверждение качества продукта и соответствие его ключевым требованиям и особенностям российского корпоративного рынка
    Подтверждено работающими роботами в значимых компаниях РФ
    Описание:
    Например, наличие, как минимум 100 роботов в эксплуатации, более чем в 10 ведущих компаниях РФ (подтвержденных соответствующими контрактами)

    Какие возможности предоставляет:
    Подтверждение работоспособности решений – реальной эксплуатацией у Заказчиков. Подобный масштаб применения может быть поводом для доверия к технологии и к компании
    Простой инструмент – действительно полностью визуальный дизайнер
    Описание:
    • Реальный визуальный дизайнер. Ни один элемент или действие не требует написания программного кода для сборки программного робота;
    • Наличие встроенной интерактивной документации - подсказки о конкретном действии;
    • Наличие возможности указывать комментарии к шагам робота и переменным
    • Наличие встроенных визуальных инструментов для захвата элементов окон; приложений (SAP, Java, Web-приложения, windows-приложения).

    Какие возможности предоставляет:
    • Для того, чтобы создать робота, не требуется квалификация разработчика. Это может сделать аналитик, сотрудник сопровождения или даже представитель бизнес-подразделения. Снижение требований к квалификации - позволяет создавать роботов быстрее и менее дорогими ресурсами.

    • Дополнительный эффект = происходит разделение труда аналитика и программиста для максимально эффективного их использования (дорогой программист не выполняет задачи по сборке и тестированию робота в дизайнере, а занимается только специальными доработками в отдельном инструменте когда существующего функционала недостаточно)

    Доступность для обучения и эксплуатации
    Описание:
    • Наличие интерфейса на русском и английском языках;
    • Наличие русскоязычной службы поддержки;
    • Наличие русскоязычной документации, а также курсов для специалистов и сертификации на русском языке;
    • Наличие стандартов и технологий для оценки трудоемкости, правил разработки, проектирования архитектуры и ведения проектов.
    Какие возможности предоставляет:
    Доступность и снижение затрат на обучение и эксплуатацию
    Возможность создания роботов любым сотрудником организации – масштабировать решения
    Описание:
    Возможность тиражирования и использования инструментов для непосредственно создания роботов на всю организацию без дополнительных затрат

    Какие возможности предоставляет:
    Любой сотрудник (при наличии у него соответствующих прав) без дополнительных затрат для организации может установить у себя на рабочем месте Студию и начать делать робота, тем самым проявить инициативу и роботизировать свои рутинные операции. Не платите за разработку робота! Если робот действительно покажет свою эффективность - то на его эксплуатацию можно уже будет выделить необходимые бюджеты
    Снижение требований к ресурсам
    Описание:
    • Специалист, создающий роботов, может не обладать навыками программирования (может быть бизнес-пользователем или аналитиком);
    • Возможность для одного специалиста осуществлять сбор требований и реализовывать робота (отсутствие отдельных ролей разработчика и аналитика для оптимизации трудозатрат).

    Какие возможности предоставляет:
    Использование недорогих ресурсов, без программирования, справиться может аналитик, сотрудник бизнес-подразделения, техническая поддержка
    Близость к заказчику
    Описание:
    Готовность вендора к кастомизации платформы по требованию заказчика

    Какие возможности предоставляет:
    С учетом объема роботизируемых процессов важно быть «рядом» и учитывать особенности внедрения и эксплуатации роботов, чтобы Заказчик мог эффективнее достигнуть поставленных целей
    Конечно, для каждой организации важен свой набор критериев, поэтому, в зависимости от актуальных бизнес-задач, нужно сформировать свой список (убрав ненужные пункты или дополнив необходимыми критериями), про-ранжировать их по приоритетности и оценить выбираемую платформу на соответствие. Таким образом можно действительно получить тот RPA-инструмент, который необходим.

    Читать еще