Robotic process automation (роботизированная автоматизация процессов). Что это такое?

10 3

 

 

Аббревиатура RPA (robotic process automation) уже у многих на слуху. Но не у всех еще получилось прочитать что эта аббревиатура означает.

То, что во всем мире называют RPA обычно представляет собой программный комплекс, позволяющий автоматизировать определенные действия пользователя, который он совершает через различные графические (GUI) и/или командные (CLI) интерфейсы операционных и прикладных систем. То есть RPA симулируют действия человека в системах. И симулируют через интерфейсы, которые изначально предназначены для человека.

Что может робот?


 

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

С ростом количества систем различного назначения. А также по мере "взросления" систем, срок использования которых исчисляется уже десятками лет. Возникли задачи взаимодействия между системами, которые между собой взаимодействовать напрямую не могут. К примеру, не имеют API. Если разрабатывать API или какой-то интерфейс взаимодействия дорого или невозможно, то смогут помочь системы класса RPA. 

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

Со всеми перечисленными задачами смогут справится программные роботы. Кроме того RPA-системы могут выполнять следующие задачи:

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

 

Как устроен робот?

 


Многие RPA имеют сильное техническое сходство с инструментами тестирования GUI при тестировании ПО. Основной принцип работы RPA-приложения для desktop-приложений – найти нужные элементы пользовательского GUI операционной системы для считывания данных, занесения данных, выполнения действия с элементом интерфейса (click, double click, hover, key down и так далее).

Можно выделить две основные операции RPA-приложения:

  1. Поиск нужного элемента на рабочем столе пользователя
  2. Выполнение действия над найденным элементом (ввод/считывание данных).

Работа с windows-приложениями

Варианты поиска GUI элемента на рабочем столе

  1. Программный поиск по дескриптору окна (используя WinAPI).
  2. По позиции элемента на рабочем столе. Заранее указывается позиция нужного элемента на рабочем столе. Затем считываются дескрипторы элементов, которые находятся в указанной позиции (при необходимости).
  3. OCR – распознавание. Поиск элемента по предварительно сохраненному образу (скриншоту). После нахождения схожей картинки вычисляется позиция найденного элемента на скриншоте (при необходимости).
  4. Поиск по косвенным признакам (якорям). Комбинирует перечисленные выше способы. Для поиска элемента сначала находится другой элемент (якорь), который можно более легко найти. А затем определяется расположение нужного элемента относительно якоря. При этом якорь и нужный элемент всегда должны находится в одном месте относительно друг друга.

Работа с сайтами (браузерами)

Поиск необходимых элементов (input, textarea, checkbox и т.д.) ведется через объектную модель html-документа (DOM), представляющей из себя иерархическое дерево содержащее все элементы html-страницы. DOM-элементы доступны для чтения и записи, выполнения над ними определённых действий.

Работа с терминалами

Под терминалами имеются в виду программы, позволяющие управлять рабочими столами на удаленных ПК (VNC, Citrix, RDP). Поиск элементов в терминалах ведется используя OCR – оптическое распознавание. Так как при работе терминальных приложений используются протоколы, которые передают изображение удаленного рабочего стола в виде картинки, то другого варианта распознавания элементов GUI не остается. При этом активно применяются библиотеки компьютерного зрения, такие как OpenCV.

Плюсы RPA

  • При встраивании в существующий ИТ-ландшафт не надо ничего менять и «допиливать» в существующих системах и бизнес-процессах,
  • Робот работает быстрее чем человек, не болеет и может работать в режиме 24/7.

Минусы RPA

  • Робот работает медленнее, чем если бы задача решалась через API,
  • Робот чувствителен к входным данным. Ему требуется хорошее описание исключений, обычных правил («если,  то») может не хватить, чтобы покрыть все ситуации.

Смогут ли роботы заменить человека?


 

Это, наверное, самый важный вопрос для RPA-систем. Ответ - нет. Пока что такие программные роботы довольно "тупые", они могут выполнять только строгую последовательность заданных действий с обработкой исключений. Также возможно подключение инструментов ML. Но даже при подключении таких систем программные роботы могут выполнять только лишь то, что в них заложено. А это, обычно, рутина. А вот творческая работа, это то, что остается для человека, для сотрудника, которого освободили от рутины.

 


 

 

10
Авторизуйтесь, чтобы оценить материал.
3
Роман Деменков

Описание очень подходит к 

https://ru.wikipedia.org/wiki/AutoIt

Сергей Меньших

к чему эта статья?

Елена Питомцева

Сергей,

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

Во-вторых, идет конкурс DIRECTUM Awards - в нем есть номинация Neo. Использование RPA вдходит по эту номинацию. В номинации вы можете как раз представить идею использования этой технологии.

Ну и как миниму статья предлагает начать изучать технологию.

Авторизуйтесь, чтобы написать комментарий