Аббревиатура RPA (robotic process automation) уже у многих на слуху. Но не у всех еще получилось прочитать что эта аббревиатура означает.
То, что во всем мире называют RPA обычно представляет собой программный комплекс, позволяющий автоматизировать определенные действия пользователя, который он совершает через различные графические (GUI) и/или командные (CLI) интерфейсы операционных и прикладных систем. То есть RPA симулируют действия человека в системах. И симулируют через интерфейсы, которые изначально предназначены для человека.
Скрипты, автоматизирующие процессы администрирования систем, можно считать предшественниками программных роботов. Уже тогда "ленивые" системные администраторы заставляли скрипты работать на себя и выполнять повторяющиеся и рутинные операции общаясь с системами посредством командной строки.
С ростом количества систем различного назначения. А также по мере "взросления" систем, срок использования которых исчисляется уже десятками лет. Возникли задачи взаимодействия между системами, которые между собой взаимодействовать напрямую не могут. К примеру, не имеют API. Если разрабатывать API или какой-то интерфейс взаимодействия дорого или невозможно, то смогут помочь системы класса RPA.
Возникают пользовательские задачи, которые являются часто повторяющимися и рутинными. К примеру, ежедневный перенос в систему каких-либо данных из поступающих почтовых сообщений. Или заполнение шаблона письма с заменой предопределенных тегов в письме нужными данными. Или необходимо периодически собирать однородную информацию с различных сайтов и проводить сравнительный анализ по собранной информации с составлением отчета.
Со всеми перечисленными задачами смогут справится программные роботы. Кроме того RPA-системы могут выполнять следующие задачи:
Многие RPA имеют сильное техническое сходство с инструментами тестирования GUI при тестировании ПО. Основной принцип работы RPA-приложения для desktop-приложений – найти нужные элементы пользовательского GUI операционной системы для считывания данных, занесения данных, выполнения действия с элементом интерфейса (click, double click, hover, key down и так далее).
Можно выделить две основные операции RPA-приложения:
Поиск необходимых элементов (input, textarea, checkbox и т.д.) ведется через объектную модель html-документа (DOM), представляющей из себя иерархическое дерево содержащее все элементы html-страницы. DOM-элементы доступны для чтения и записи, выполнения над ними определённых действий.
Под терминалами имеются в виду программы, позволяющие управлять рабочими столами на удаленных ПК (VNC, Citrix, RDP). Поиск элементов в терминалах ведется используя OCR – оптическое распознавание. Так как при работе терминальных приложений используются протоколы, которые передают изображение удаленного рабочего стола в виде картинки, то другого варианта распознавания элементов GUI не остается. При этом активно применяются библиотеки компьютерного зрения, такие как OpenCV.
Это, наверное, самый важный вопрос для RPA-систем. Ответ - нет. Пока что такие программные роботы довольно "тупые", они могут выполнять только строгую последовательность заданных действий с обработкой исключений. Также возможно подключение инструментов ML. Но даже при подключении таких систем программные роботы могут выполнять только лишь то, что в них заложено. А это, обычно, рутина. А вот творческая работа, это то, что остается для человека, для сотрудника, которого освободили от рутины.
Описание очень подходит к
https://ru.wikipedia.org/wiki/AutoIt
к чему эта статья?
Сергей,
Во-первых, статья можеть вам полезна, чтобы найти новые пути интеграции систем и избавления пользователей от рутины.
Во-вторых, идет конкурс DIRECTUM Awards - в нем есть номинация Neo. Использование RPA вдходит по эту номинацию. В номинации вы можете как раз представить идею использования этой технологии.
Ну и как миниму статья предлагает начать изучать технологию.
Авторизуйтесь, чтобы написать комментарий