rpa решения что это

RPA инструменты и не только…

Однажды на работе мне поставили R&D задачу создать бота, который будет «ходить» по сайту, выбирать товары, заполнять формы и оплачивать покупки. На тот момент мы писали часть Antifraud системы, которая позволяла детектировать ботов в браузере. И с этого момента все началось.

Оглавление

Open source проекты

RPA vs Test Automation

Парсинг сайтов и RPA

Пример работы бота на Python

Как детектировать бота?

Коротко о RPA

Более четкое определение:

За время создания своего бота я нашел несколько направлений RPA:

rpa решения что это. Смотреть фото rpa решения что это. Смотреть картинку rpa решения что это. Картинка про rpa решения что это. Фото rpa решения что этоНаправления в RPA

Open source проекты

Начнем сразу с open source проектов, т.к. они представляют большой интерес.
Рассмотрим инструменты относительно языков программирования:

rpa решения что это. Смотреть фото rpa решения что это. Смотреть картинку rpa решения что это. Картинка про rpa решения что это. Фото rpa решения что этоRPA open source

Конечно это не все инструменты, но по крайней мере основные, которые мне удалось найти. Я Python разработчик, поэтому рассмотрю только те инструменты, которые попробовал на практике.

Объединил 2 технологии в 1 короткий обзор т.к. использовал их для одной и той же задачи: создание бота, который выбирает товары, добавляет их в корзину и оплачивает покупки. Цель: сдетектировать и заблокировать бота, используя fingerprint и треки мыши. О том как детектировать ботов будет в соответствующем разделе.

Selenium

RPA Framework

Robocorp

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

TagUI

rpa решения что это. Смотреть фото rpa решения что это. Смотреть картинку rpa решения что это. Картинка про rpa решения что это. Фото rpa решения что этоTagUI RPA

Из всех инструментов мне больше всего понравился RPA Framework, у которого есть возможность работать с Playwright, также в этом фреймворке очень удобные selector в отличие от Selenium, что позволяет гораздо быстрее писать код.

Пример на Selenium и на RPA Framework

Selenium

RPA Framework

На мой взгляд у RPA Framework более удобное API.

Платные сервисы

Сказать что их много значит ничего не сказать. Платных Enterprise версий огромное количество. Но проблема в том, что многие организации не понимают истинной разницы в возможностях одного программного обеспечения RPA и другого. Возможно, они также слышали, что RPA предназначена только для очень крупных корпораций и что минимальные первоначальные инвестиции в лицензирование могут достигать 100 000 долларов в год, что теперь не всегда так.

rpa решения что это. Смотреть фото rpa решения что это. Смотреть картинку rpa решения что это. Картинка про rpa решения что это. Фото rpa решения что этоRPA products

Список ведущих поставщиков RPA на основе матрицы пиковых значений Everest Group для поставщиков технологий RPA 2020:

rpa решения что это. Смотреть фото rpa решения что это. Смотреть картинку rpa решения что это. Картинка про rpa решения что это. Фото rpa решения что это

Everest группирует инструменты RPA в три основных сегмента в зависимости от их возможностей, влияния на рынок и способности успешно поставлять продукт. Everest также выделяет UiPath, Automation Anywhere, Blue Prism, Intellibot и Nividous в качестве лидеров.

UiPath vs Automation Anywhere vs Blue Prism

Компания Blue Prism, основанная в 2001 году, была пионером в секторе RPA и использовала термин «Robotic Process Automation». Четыре года спустя генеральный директор UiPath Дэниел Дайнс технически основал UiPath как компанию под названием «DeskOver». Однако только в 2015 году она действительно родилась и была переименована в RPA-компанию.

В таблице ниже представлен краткий снимок каждого из трех инструментов RPA с точки зрения доходов, размера, сотрудников и оценки:

rpa решения что это. Смотреть фото rpa решения что это. Смотреть картинку rpa решения что это. Картинка про rpa решения что это. Фото rpa решения что этоVS

Спустя годы на рынок вышли более доступные конкуренты, такие как UiPath и Automation Anywhere с такими же (или лучшими) возможностями, повышенной гибкостью и простотой внедрения. В результате RPA была «демократизирована» для компаний любого размера во многих отраслях, включая малые и средние организации.

Automation Anywhere оценивает 4,5 / 5 звезд с 4310 отзывами

Blue Prism 4,4 / 5 звезд по 158 отзывам

Что делает UiPath самой популярной платформой RPA?

UiPath превратился в единственную платформу RPA на рынке, созданную для поддержки полного жизненного цикла автоматизации. Портфель продуктов компании продолжает оставаться в авангарде инноваций, постоянно расширяя свои традиционные возможности RPA за счет включения таких инструментов, как интеллектуальный анализ процессов, встроенная аналитика, улучшенные компоненты AI Fabric, RPA на основе SaaS и автоматизация тестирования.

Другие ключевые сильные стороны UiPath:

Long Running Workflows

Machine Learning and Predictive Analytics

Process Document Understanding

Flexible Licensing Model and Low Cost of Entry

Для точной оценки состояния RPA компаний я использовал агрегатор G2, он позволяет выбрать нужный инструмент в зависимости от различных показателей (рейтинг, цена, язык и пр.). Также можно построить G2 график для выбора инструмента, выглядит он следующим образом:

rpa решения что это. Смотреть фото rpa решения что это. Смотреть картинку rpa решения что это. Картинка про rpa решения что это. Фото rpa решения что этоG2 Grid Мини обзор популярных и не очень RPA

UiPath

UiPath прост в установке и имеет возможности разработки на основе пользовательского интерфейса. Подробное онлайн-руководство поможет быстро освоиться. Согласно Quadrant Review компании Gartner, UiPath имеет первоклассную команду поддержки клиентов, и в целом UiPath идеально подходит для компаний, стремящихся к быстрому внедрению RPA.

rpa решения что это. Смотреть фото rpa решения что это. Смотреть картинку rpa решения что это. Картинка про rpa решения что это. Фото rpa решения что этоGUI UiPath

Automation Anywhere

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

rpa решения что это. Смотреть фото rpa решения что это. Смотреть картинку rpa решения что это. Картинка про rpa решения что это. Фото rpa решения что этоGUI Automation Anywhere

Blue Prism

Blue Prism, старейший инструмент в индустрии RPA, в последние годы неуклонно растет.

Blue Prism специализируется на сквозной RPA для компаний из списка Fortune. Blue Prism также предлагает высококлассных роботов. Роботы не только очень сложные, но и обладают глубокими возможностями создания сценариев для настройки расширенных сетей RPA. Имеет отличные возможности отладки и потрясающую масштабируемость.

rpa решения что это. Смотреть фото rpa решения что это. Смотреть картинку rpa решения что это. Картинка про rpa решения что это. Фото rpa решения что этоGUI Blue Prism

Microsoft Power Automate

Microsoft Power Automate предоставляет простое и эффективное решение RPA. Самым значительным преимуществом Microsoft Power Automate является простота настройки. Данные из экосистемы Microsoft легко доступны. Легко управлять оркестрацией робота.

rpa решения что это. Смотреть фото rpa решения что это. Смотреть картинку rpa решения что это. Картинка про rpa решения что это. Фото rpa решения что это

WinActor

rpa решения что это. Смотреть фото rpa решения что это. Смотреть картинку rpa решения что это. Картинка про rpa решения что это. Фото rpa решения что этоGUI WinActor

Test Automation

Автоматизация тестирования помогает разработчикам и тестировщикам экономить время и увеличивать охват тестированием за счет автоматизации повторяющихся тестовых случаев.

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

Automation Testing Tools

Инструментов ни сколько не меньше чем у RPA.

Вот небольшой список:

IBM Rational Functional Tester

Telerik Test Studio

HPE Unified Functional Testing (UFT)

Сводная картинка по некоторым инструментам:

rpa решения что это. Смотреть фото rpa решения что это. Смотреть картинку rpa решения что это. Картинка про rpa решения что это. Фото rpa решения что этоQA Automation tools

RPA vs Test Automation

Коротко: это практически одно и то же.

RPA и Test Automation можно рассматривать как одно и то же. Компании используют их для автоматизации задач, экономии затрат и освобождения времени сотрудников для других дел.

Сходства:

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

Различия:

сценарии тестирования, созданные для автоматизации тестирования, зависят от тестируемой системы (SUT).

RPA не различают, автоматизируют ли они перенос данных в систему бухгалтерского учета или, например, помечают ваши электронные письма.

RPA инструменты не зависят от программного обеспечения, в котором запущен процесс.

Парсинг сайтов и RPA

Цели у компаний, которые занимаются парсингом сайтов, разные, но тем не менее такие инструменты есть и некоторые из них являются полноценным RPA инструментом (например, Octoparse).

Process Bots VS Search Bots

Сильные стороны RPA:

Управление входами и выходами через UX

Работа с авторизацией для бизнес-приложений

Передача данных в бизнес-процессе

Бизнес-шаблоны для определенных шаблонов использования (обслуживание клиентов, финансовые таблицы и т.д.)

Сильные стороны поискового робота:

Масштабирование для одновременной обработки десятков тысяч страниц

Отсутствие конфигурации и автоматическая обработка для множества типов веб-страниц

Поисковые роботы автоматически адаптируются при изменении страниц

Богатая индивидуальная конфигурация

Всестороннее чтение HTML страницы (Имя автора; UPC продукта)

Автоматическое извлечение настроения из текста

Извлечение связанных сущностей из текста (организации, местоположения, люди и т.д.)

Но какие боты лучше?

Как и все, от чего зависит, но одна ключевая отличительная черта между веб-ботами и ботами RPA может быть показана путем обсуждения того, в каких контекстах мы хотим, чтобы наши боты работали.

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

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

Теперь возьмем поискового бота с поддержкой AI. Вводим один сайт например, в Crawlbot Diffbot, ждем несколько минут, и тысячи страниц распознаются и анализируются как страницы продуктов. Загружаем данные в формате JSON или CSV, либо загружаем приложение или панель инструментов с выбранными результатами. Основная технология, лежащая в основе этого варианта использования, возможно будет лучше чем боты RPA. Поисковые боты сами ускоряют чтение и классификацию Интернета!

Инструменты для парсинга

Scrape.do

Scrapingdog

ParseHub

Diffbot

Octoparse

Octoparse выделяется как простой в использовании инструмент для парсинга веб-страниц без кода. Он предоставляет облачные сервисы для хранения извлеченных данных и ротации IP-адресов для предотвращения блокировки IP-адресов. Вы можете запланировать парсинг в любое определенное время. Кроме того, он предлагает функцию бесконечной прокрутки. Результаты загрузки могут быть в форматах CSV, Excel или API.

ScrapingBee

Luminati

Scraper API

Scrapy

Import.io

Инструмент для парсинга веб-сайтов с оперативным управлением всеми веб-данными, обеспечивая точность, полноту и надежность. Import.io предлагает конструктор для формирования собственных наборов данных путем импорта данных с определенной веб-страницы и последующего экспорта извлеченных данных в CSV. Кроме того, он позволяет создавать более 1000 API-интерфейсов в соответствии с вашими требованиями. Есть приложение для Mac OS X, Linus и Windows.

BPM и RPA

BPM (Business Process Management, управление бизнес-процессами) – это концепция процессного управления организацией, сочетающая в себе идеологию и программное обеспечение для управления бизнес-процессами.

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

Основная функция BPM-системы — это организация правильного взаимодействия участников бизнес-процесса.

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

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

rpa решения что это. Смотреть фото rpa решения что это. Смотреть картинку rpa решения что это. Картинка про rpa решения что это. Фото rpa решения что этоCAMUNDA Сервисы BPM с интеграцией RPA

Camunda

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

Основные преимущества:

Проектирование сквозного процесса

Согласование сценариев RPA

Оперативное наблюдение за действиями ботов RPA

В BPM-системе ELMA робот участвует в процессе наравне с обычными пользователями. В гибких бизнес-процессах ELMA роботы могут постепенно заменять пользователей системы — задача за задачей. Освободившиеся от скучной работы сотрудники смогут перераспределить это время и свой опыт на более интересные творческие и полезные для компании задачи.

Выгоды для бизнеса от использования RPA + BPM:

Снижение издержек на рутинные операции.

Масштабирование бизнеса без расширения штата.

Освобождение времени сотрудников на более интеллектуальный труд.

Лучший Customer Experience за счет качества и скорости сервиса.

ProcessMaker

Безопасный RPA.

Взлом RPA

Можно ли взломать RPA? Да, можно. Например, обработка данных с сайта (загрузка картинок, текста и пр.), откуда робот может скачать зараженный скрипт под видом обычной картинки, а скаченный скрипт может повлиять на работу бота, добавляя новые правила в обработку, или просто остановит его. Много что можно сделать, выбор огромный.

Риски безопасности, на которые стоит обратить внимание:

Риски выбора инструмента: выбор нужного инструмента от проверенного производителя. Компании обычно выбирают инструменты, не соответствующие их требованиям.

Операционные риски или риски исполнения: развертывание правильной операционной модели необходимо для уменьшения функциональных проблем или проблем с производительностью.

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

Раскрытие конфиденциальных данных: malware проникает в систему и создает сценарий, при котором данные пользователей утекают в сеть.

Отказ в обслуживании: создание необходимых условия для остановки работы бота.

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

Проблема безопасности может быть разбита на два тесно взаимосвязанных момента:

RPA для пентеста

Посмотрим с позиции пентестера. Мы можем с помощью RPA создать скрипт, который будет циклически проверять страницы на уязвимости. Рассуждая дальше, мы можем подготовить целую армию роботов, чтобы симулировать атаки на различные API и сайты. Можно попробовать автоматизировать основные популярные сценарии взлома.

Продолжение следует.

В следующей статье мы создадим своего бота, рассмотрим какие есть алгоритмы детектирования ботов, которые написаны на Selenium и с помощью RPA. Создадим свой алгоритм, подведем итоги.

Источник

RPA | Роботизация процессов глазами аналитика

Последние полтора года я занимаюсь внедрением и развитием в компании блока RPA на одной из популярных платформ.

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

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

rpa решения что это. Смотреть фото rpa решения что это. Смотреть картинку rpa решения что это. Картинка про rpa решения что это. Фото rpa решения что это

Что такое робот и что он умеет

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

Уже читали это в презентациях? Ну ок, это правда.

Он оперирует формальной логикой:

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

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

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

Сотрудник работает на своем ПК или в терминальной сессии, каждый робот также работает в своем собственном окружении. Если бы и можно было запустить в одной сессии несколько роботов, это привело бы к печальным последствиям: попробуйте с коллегой подключить к одному компьютеру две клавиатуры и набирать каждый свой текст.

С точки зрения автоматизируемых приложений робот – это обычный пользователь, который нажимает на кнопки, вводит и считывает данные. Если приложение лицензируется по количеству одновременных подключений – робот займет лицензию при работе в нем.
Помимо взаимодействия с экранными формами приложений, роботы на используемой мной платформе умеют:

Существует и альтернативная форма использования – виртуальный помощник: робот запущен в окружении реального пользователя, который при необходимости запускает тот или иной сценарий, или робот сам реагирует на наступление предусмотренного события. Напоминает использование макросов, только для разработки подобных сценариев не требуются специальные навыки (зато требуются лицензии RPA).

Задачи, которые решает робот

Что роботизировать

Итак, мы используем виртуального сотрудника, чтобы он выполнял формализованные сценарии.
С точки зрения эффекта от роботизации приоритет должен быть за несложными, но продолжительными и часто повторяющимися процессами. Тут все просто:

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

Точки входа и выхода для робота должны быть плавно встроены в общий процесс, чтобы не нужно было прилагать значительных усилий для передачи задания роботу или сбору результатов его работы.

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

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

Плохо подходят под роботизацию процессы:

Но часто и здесь есть выход – комбинировать роботизацию с ручным принятием решений:

Не стоит запускать роботизацию и там, где она попросту не нужна, или заказчик пытается в своем представлении подменить роботом доработку конкретного приложения.

Пример 1:
– Мне нужно, чтобы робот отслеживал получение новых писем на общий почтовый ящик и при поступлении новых пересылал их по списку рассылки.
– Попросите администраторов настроить переадресацию на почтовом сервере.

Пример 2:
– Мы каждое утро печатаем огромное количество документов. Можно сделать так, чтобы мы пришли утром, а робот уже все напечатал, мы подпишем и отправим?
– Технически это возможно, но есть несколько вопросов: Кто будет контролировать ночью наличие бумаги, краски и качество печати? Удобно будет потом фасовать напечатанное по стопкам и подписывать? Удобно будет контролировать и отмечать, что подписали и отправили? С учетом всего этого, много времени сэкономит такая автоматизация?
–…

Тем не менее, использование роботов – отличный выход, если выполнение необходимых операций возможно, а автоматизация средствами самой системы потребует значительных временных и финансовых ресурсов.

Несколько примеров направлений, подходящих под роботизацию:

Управление рисками

Поговорим о том, что может пойти не так:

РискКомментарийКак управлять
Ошибки логики сценарияОшибка разработчика. Ошибаются все – вопрос в том, насколько грубо и насколько сложно исправить ситуацию.Хорошая читаемость сценария уменьшает вероятность появления ошибок и упрощает их поиск и исправление. По возможности должно быть предусмотрено рецензирование сценариев. Разработчик и заказчик в первое время после внедрения или доработки сценария наблюдают за результатами запусков.
Ошибки постановки задачиВо многих случаях на этапе сбора требований описывают только самый простой вариант развития событий.
Даже после наводящих вопросов не вспоминают все ситуации, когда что-то идет не по плану, и не упоминают необязательные диалоговые окна и уведомления, которые может выдавать приложение.
Это нормально. Мы потому и роботизируем эти операции, что они механические и при их выполнении исполнитель часто действует неосознанно.
По возможности привлекать экспертов к постановке задач. Разработчику придется уточнять последовательность действий когда неописанная ситуация возникнет при разработке или уже в эксплуатации сценария.
Сбой платформы RPAПроблемы непосредственно с функционалом роботов: закончился срок действия лицензий, зависло приложение робота, сбой на стороне модуля управления запуском роботов.Необходимы наблюдение и контроль.
Сбой окруженияЧто-то в окружении робота мешает выполнить сценарий. Например:
* cистемные уведомления, которые блокируют доступ к формам приложений: уведомления об обновлениях windows, отчеты об ошибках, уведомления службы предотвращения выполнения и т.п.
* нет свободной оперативной памяти
* переполнен диск.
Все системные уведомления для робота необходимо отключить.
За оперативной памятью и диском необходимо наблюдение.
Сбой инфраструктурыНедоступны связанные с выполнением сценария внутренние сервисы. Например, робот не может отправить уведомление из-за сбоя почтового сервера или выложить файл на сетевой диск из-за проблем в дата-центре.Это аварии в масштабах компании, которые устраняет IT.
Сбой целевого сервисаНедоступны целевые для сценария сайты или приложения.Необходимо обращаться к администраторам и службам поддержки соответствующих ресурсов.
Обновление автоматизируемого сайта/приложенияПри работе с внешними системами это самая острая проблема RPA. Хорошо, если есть тестовая среда и регламентирован порядок обновления. Но это часто не так даже с системами, используемыми внутри компании, не говоря уже про внешние. Просто в один прекрасный момент они начинают вести себя по-другому в части, критичной для сценария. И тут два варианта:
1) при выполнении сценария происходит сбой: робот не находит нужное окно, кнопку, поле в таблице и т.п.
2) Сбоя не происходит, но результат становится некорректным.
В первом случае все просто: разработчик получает уведомление о возникшем сбое, при анализе понимает, что произошло обновление, и выполняет доработку сценария. Иногда требуется незначительная правка, иногда изменение логики сценария. Это будни.
Во втором случае помогут своевременный контроль результата и фантазия разработчика, предусматривающего лишние проверки «на всякий случай».
Некорректные бизнес-настройкиБез предупреждения изменены или не актуализированы нетехнические настройки, за которые отвечает бизнес. Например, бизнес-пользователи по каким-то причинам производят замену сертификата, используемого в сценарии обмена сообщениями, робот продолжает использовать старый – возникает сбой.Всегда должен быть куратор от бизнеса, который следит за актуальными настройками и своевременно оповещает о внесении изменений.
Потеря компетенции у бизнес-пользователейПосле роботизации процесса у бывших исполнителей появляется соблазн полностью отстраниться от участия в процессе, в том числе в разборе сложных ситуаций и ручном исполнении в случае сбоя. А в случае замены сотрудников может возникнуть ситуация, когда уже никто со стороны бизнеса не знает, как выполнить нужные операции.Это снова про куратора процесса.
Также должен быть определен план действий (или смирение с потерями) в аварийном случае, когда сбой роботизации невозможно оперативно устранить.
В некоторых случаях стоит оформить и сохранить инструкции по выполнению операций.
БезопасностьРобот со временем обрастает связкой «ключей от всех дверей». Взлом сервера скомпрометирует все учетные данные, которые там хранятся.С осторожностью назначать права доступа.
При необходимости изолировать окружение робота от корпоративных ресурсов.
Хранить используемые в сценариях пароли только в зашифрованном виде.
И вообще, специалисты ИБ могут давать отличные советы, когда не заняты затягиванием согласований.
Кстати, некоторые из платформ RPA прошли сертификацию на соответствие стандартам ИБ.

Всё это либо общие для IT риски, либо следствия неопределенности при работе с неподконтрольными сервисами и приложениями. При «классической автоматизации» работы с внешними веб-сервисами точно так же возникнет сбой при неожиданном изменении последних.

Идеальный пример с точки зрения управления рисками: RPA внедряется в компании с единственной целью – «загнать» десятки роботов в SAP конкретную информационную систему. Экономический эффект просчитан, разработкой сценариев занимаются опытные специалисты, сформулированы детальные ТЗ с привлечением экспертов, все взаимодействие регламентировано, среды контролируются, отлажен порядок тестирования.
Но это лишь один из вариантов использования роботов.

О постановке задач

Условно можно выделить два подхода к постановке задач:

«Сверху»«Снизу»
Задачу ставит подразделение или лицо, которое управляет бизнес-процессомЗадачу ставит конечный исполнитель операции или его непосредственный руководитель
Заказчик видит весь процесс и может явно выделить этапы, где необходимо вмешательство ответственных сотрудников, а где механическая работа, которую стоит отдать роботуЗаказчик видит свою ежедневную деятельность и стремится избавиться от рутинной работы
Заказчик может оценить трудозатраты, эффект от роботизации, критичные сроки и точки соприкосновения этаповЗаказчик оперирует понятиями «долго» и «неудобно», точки входа и выхода робота могут быть выбраны нерационально, задачи разных заказчиков могут пересекаться и даже противоречить друг другу
На выходе получается роботизированный бизнес-процессНа выходе получается роботизированная операция

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

Исходя из обозначенных ранее рисков, при постановке задачи необходимо:

О сроках

Срок разработки и запуска в эксплуатацию сценария не может быть постоянной величиной, он зависит от:

В простом случае со сценарием проверки новостей на сайте можно управиться за пару часов разработки. Самые сложные задачи, которые у меня были, требовали до 2 недель разработки. В качестве «сферической» средней величины можно взять 1-3 дня чистого времени.

Очень часто в процессе разработки сценария выявляются неописанные постановкой ситуации, постановка расширяется, что также влияет на срок запуска.

Есть еще и непрогнозируемые факторы простоя:

Замечу, что RPA хорошо вписывается в гибкие подходы.

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

А иногда заказчики заинтересованы в поэтапном внедрении с оценкой промежуточных результатов.

Архитектура

Минимально необходимых компонента всего два:

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

Или в этом окружении должны быть установлены и настроены приложения, которые использует робот при выполнении сценариев, или робот может использовать RDP/Citrix подключение к удаленному серверу с необходимыми приложениями.

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

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

У меня же управление реализовано на стороне SQL сервера.

Связка RPA с другими сервисами позволяет существенно расширить возможности роботизации:

Выбор платформы

О знакомстве с функционалом

Вендоров RPA несколько десятков. При первичной выборке я обращал внимание прежде всего на наличие открытой документации и пробного периода – и это исключило почти всех.
Как можно получить представление о конкретном решении:

О стоимости

Несмотря на ажиотаж вокруг технологии роботизации, стоимость внедрения и эксплуатации не обязательно высока.

Существуют даже бесплатные версии платформ RPA, имеющие некоторые ограничения (не обязательно функциональные). Отдельные возможности можно реализовать и на решениях, не относящихся к миру RPA: средства автоматизации управления web-браузером, макросы, сценарные языки, системы автоматизации тестирования и т.д.

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

Другая крайность: использование десятков и сотен роботов в условиях высокой нагрузки, большие команды разработки из сертифицированных разработчиков. И на лицензии, и на ФОТ порядок затрат будет в десятках миллионов рублей в год. Становятся заметными расходы на инфраструктуру.

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

Есть разные варианты привязки лицензии на робота и Студию, но общий подход такой: «один одновременно запущенный экземпляр = одна лицензия».

Чего не хватает в используемой платформе RPA

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

Все мои пожелания сводятся к процессу разработки сценариев:

По моему мнению, идеологически неправильно представлять операции с экранными формами приложений и сайтов в виде простой последовательности действий. Это выглядит лаконично и легко для восприятия, но не способствует грамотному подходу к отказоустойчивости.
Простой пример: робот нажал на кнопку (а точнее попытался нажать) и 5 минут ждет появления сообщения «ОК». Если сообщение появилось – хорошо, если нет – возникает сбой. А если приложение «вылетело» через 10 секунд после нажатия кнопки? А если через две минуты возникло сообщение об ошибке? Робот все равно будет ждать 5 минут, не сможет выполнить второе действие – чтение сообщения, и только тогда выведет сбой.
Я использую собственные шаблоны и библиотеки, в которых это учтено, но от их использования в сценарии страдает читаемость, гораздо удобнее и нагляднее был бы встроенный контейнер по примеру тест-кейса:

Что сделатьЧто должно произойтиЧего точно не должно произойти
Нажать кнопкуПоявилось сообщение «ОК»Не должно появиться сообщение об ошибке
Приложение не должно пропасть из списка запущенных процессов

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

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

Как развитие предыдущего пункта – автоматический выбор настроек мне только мешает, приходится специально каждый раз переоткрывать формы настроек, проверять, перевыбирать, исправлять. Это касается:

Явное указание этих настроек при инициации вместо присвоения значений «по умолчанию» было бы гораздо лучше.

Требования к разработчикам сценариев

Подходы к разработке

Любой сценарий и состоит из действий (Activity). Они выполняют полезные операции: кликнуть мышкой, присвоить переменной значение, объединить файлы pdf в один и т.п. В их свойствах разработчик сценария уточняет, как именно нужно выполнить действие.
Вендоры платформ предлагают большой набор готовых действий, что позволяет «программировать квадратиками» без навыков разработки.

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

Некоторые платформы RPA предоставляют возможность использовать только заранее предусмотренные вендором действия.
Некоторые – предусматривают возможность расширения за счет:

Обучение

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

Ключевые навыки

Каким же должен быть разработчик сценариев RPA? Не обязательно опытным программистом, это мы уже выяснили.

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

Ну что ж, я не все понимаю в этой жизни.

Если сузить вопрос до перечисления навыков и технологий, то это прежде всего:

Следующие навыки менее важны, требуются не всегда и/или придут с опытом:

На старте внедрения о последних трех пунктах я имел лишь приблизительное представление.
Уверенные навыки работы с данными и алгоритмами мне дала работа аналитиком в целом и с базами данных в частности.

Заключение

Я выделяю 3 ключевые особенности технологии RPA, которые отличают роботизацию от «классической» автоматизации и других решений создания сценариев:

Благодаря этому у роботизации широкие возможности применения для бизнеса разных масштабов.

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

Мне же, как аналитику:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *